1.本发明涉及三维图形实时渲染及飞行仿真技术领域,尤其涉及一种基于观察空间的菲涅尔透镜可视角度仿真方法。
背景技术:2.在航空领域中,由于现代飞机速度越来越快,在加上航空母舰的航速、水面颠簸等状况的影响,飞机的降落变得极为困难,为此发明了“菲涅尔”透镜光学助降系统;该系统设在航母中部左舷的一个自稳平台上,以保证其光束不受舰体左右摇摆的影响。它由4组灯光组成,主要是中央竖排的5个分段的灯箱,通过菲涅尔透镜发出5层光束,光束与降落跑道平行,和海平面保持一定角度,形成5层坡面。每段光束层高在舰载机进入下滑道的入口处(距航母0.75海里)为6.6米,正中段为橙色光束,向上、向下分别转为黄色和红色光束,正中段灯箱两侧有水平的绿色基准定光灯。当舰载机高度和下滑角正确时,飞行员可以看到橙色光球正处于绿色基准灯的中央,保持此角度就可以准确下滑着舰。如飞行员看到的是黄色光球且处于绿色基准灯之上,就要降低高度;如看到红色光球且处于绿色基准灯之下,那就要马上升高,否则就会撞在航母尾柱端面或降到尾后大海中。在中央灯箱左右各竖排着一组红色闪光灯,如果不允许舰载机着舰,它发出闪光,此时绿色基准灯和中央灯箱均关闭,告诉飞行员停止下降立即复飞,因此被称为“复飞灯”。复飞灯上有一组绿灯,叫做切断灯,它打开即是允许进入下滑的信号。
[0003]“菲涅尔”透镜光学助降系统主要用于飞机着陆的高度指引,其重要特点是传递更多的光,可见范围更远,同时拥有一个相对狭小的可视角度。通过将不同颜色的等设置到对应位置,可以指引飞行员做出角度判断。在飞行仿真中,也需要模拟这个灯光效果帮助飞行员进行着陆训练。然而在图形渲染中,并没有此类特殊效果的渲染方式。为此申请人提出一种基于观察空间的菲涅尔透镜可视角度仿真方法来解决上述问题。
技术实现要素:[0004]
本发明的目的是提供一种基于观察空间的菲涅尔透镜可视角度仿真方法,解决上述背景技术提出的现有技术中的问题。
[0005]
为了实现上述目的,本发明采用了如下技术方案:
[0006]
一种基于观察空间的菲涅尔透镜可视角度仿真方法,包括以下步骤:
[0007]
s1、在三维渲染中模拟菲涅尔透镜;
[0008]
s2、提前在推式常量中存入观察空间信息,在渲染管线中得到点在观察空间中的信息;
[0009]
s3、在顶点渲染时,计算视点到顶点在观察空间中的方向向量;
[0010]
s4、计算菲涅尔透镜中心方向在观察空间中的方向向量;
[0011]
s5、计算菲涅尔透镜向上向量在观察空间中的方向向量;
[0012]
s6、计算菲涅尔透镜向左向量在观察空间中的方向向量;
[0013]
s7、根据s4和s6中的向量,可以通过叉乘计算出垂直方向法线向量;
[0014]
s8、根据s4和s5中的向量,可以通过叉乘计算出水平方向法线向量;
[0015]
s9、根据s3和s8中的向量,可以通过点乘计算出视线和灯光法线的水平夹角余弦;
[0016]
s10、根据s3和s7中的向量,可以通过点乘计算出视线和灯光法线的垂直夹角余弦;
[0017]
s11、根据s3和s4中的向量,可以通过点乘计算出视线和中心方向向量的夹角余弦;
[0018]
s12、判断s9中水平夹角余弦是否小于(90-透镜水平可视角度的一半)的余弦;
[0019]
s13、判断s10中垂直夹角余弦是否小于(90-透镜垂直可视角度的一半)的余弦;
[0020]
s14、若满足s12与s13的条件即为透镜可视角度内;
[0021]
s15、判断s11中夹角余弦是否小于零,从而区分正反面。
[0022]
本发明至少具备以下有益效果:
[0023]
本发明在三维渲染中模拟菲涅尔透镜,通过提前在推式常量中存入观察空间信息,可以在渲染管线中得到点在观察空间中的信息,从而为菲涅尔透镜的实现带来基础,并且通过计算菲涅尔透镜在观察空间中的方向向量、法线向量以及夹角余弦,来模拟并渲染不同图形颜色灯光效果,以此形成特殊效果的渲染方式来帮助飞行员进行有效的着陆训练。
附图说明
[0024]
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]
图1为本发明提出的一种基于观察空间的菲涅尔透镜可视角度仿真方法的分析流程图。
具体实施方式
[0026]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]
参照图1,一种基于观察空间的菲涅尔透镜可视角度仿真方法,包括以下步骤:
[0028]
s1、在三维渲染中模拟菲涅尔透镜;
[0029]
s2、提前在推式常量中存入观察空间信息,在渲染管线中得到点在观察空间中的信息,其中,推式常量又称推送常数或推送常量,其是一种特殊的更新着色器常量数据的方法,它使用指令缓存的方式,而非资源的写入或者复制描述符来完成更新的操作,推送常数提供了一种高速的优化方式,可以高效地更新流水线中的常量数据;观察空间也叫摄像机空间,相机位于原点,+z轴指向相机后,+y轴朝上;
[0030]
s3、在顶点渲染时,计算视点到顶点在观察空间中的方向向量,空间直线的方向用一个与该直线平行的非零向量来表示,该向量称为这条直线的一个方向向量,直线在空间中的位置,由它经过的空间一点及它的一个方向向量完全确定;
[0031]
s4、计算菲涅尔透镜中心方向在观察空间中的方向向量;
[0032]
s5、计算菲涅尔透镜向上向量在观察空间中的方向向量;
[0033]
s6、计算菲涅尔透镜向左向量在观察空间中的方向向量;
[0034]
法线向量(法线)一般有内法线和外法线之分,是一条垂直于某个表面的方向向量。对于立体表面而言,法线是有方向的,一般来说,由立体的内部指向外部的是法线正方向即外法线,反过来的是法线负方向,而外法线就是所谓正方向的法线,内外法线的斜率相同,向量的方向相反,物体的法线向量定义了它表面在空间中的方向,更进一步来说,定义了它相对于光源的方向,其中在opengl中就使用法线向量确定物体各顶点所接收的光照。
[0035]
s7、根据s4和s6中的向量,s4与s6的方向向量值通过叉乘计算出垂直方向法线向量;
[0036]
s8、根据s4和s5中的向量,s4与s5的方向向量值通过叉乘计算出水平方向法线向量;
[0037]
法线夹角又称法线角,是指与在一个面的法线所成的角,夹角余弦是辐射面向任何方向发射的能量都正比于该方向与法线夹角的余弦,菲涅尔反射是由菲涅耳公式推导出的光的反射规律,用来描述光在不同折射率的介质之间的行为。菲涅尔公式是光学中的重要公式:floatfresnel=f_base+f_scale*((1-v*n)^power);f_base/f_scale/power都是菲涅尔控制系数,可以抛出调参的,其中,v为视点到视口的单位朝向向量,n为视点的单位法向量,用它能解释反射光的强度、折射光的强度、相位与入射光的角度的关系。
[0038]
s9、根据s3和s8中的向量,s3与s8中的向量值可以通过点乘计算出视线和灯光法线的水平夹角余弦;
[0039]
s10、根据s3和s7中的向量,s3与s7中的向量值可以通过点乘计算出视线和灯光法线的垂直夹角余弦;
[0040]
s11、根据s3和s4中的向量,s3与s4中的向量值可以通过点乘计算出视线和中心方向向量的夹角余弦;
[0041]
s12、判断s9中水平夹角余弦是否小于(90-透镜水平可视角度的一半)的余弦;
[0042]
s13、判断s10中垂直夹角余弦是否小于(90-透镜垂直可视角度的一半)的余弦;
[0043]
s14、若满足s12与s13的条件即为透镜可视角度内;
[0044]
s15、判断s11中夹角余弦是否小于零,从而区分正反面(余弦值大于零即为正,余弦值小于零即为负)。
[0045]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
技术特征:1.一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,包括以下步骤:s1、在三维渲染中模拟菲涅尔透镜;s2、提前在推式常量中存入观察空间信息,在渲染管线中得到点在观察空间中的信息;s3、在顶点渲染时,计算视点到顶点在观察空间中的方向向量;s4、计算菲涅尔透镜中心方向在观察空间中的方向向量;s5、计算菲涅尔透镜向上向量在观察空间中的方向向量;s6、计算菲涅尔透镜向左向量在观察空间中的方向向量。2.根据权利要求1所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s7、根据s4和s6中的向量,可以通过叉乘计算出垂直方向法线向量。3.根据权利要求1所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s8、根据s4和s5中的向量,可以通过叉乘计算出水平方向法线向量。4.根据权利要求3所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s9、根据s3和s8中的向量,可以通过点乘计算出视线和灯光法线的水平夹角余弦。5.根据权利要求2所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s10、根据s3和s7中的向量,可以通过点乘计算出视线和灯光法线的垂直夹角余弦。6.根据权利要求1所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s11、根据s3和s4中的向量,可以通过点乘计算出视线和中心方向向量的夹角余弦。7.根据权利要求4所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s12、判断s9中水平夹角余弦是否小于(90-透镜水平可视角度的一半)的余弦。8.根据权利要求5所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s13、判断s10中垂直夹角余弦是否小于(90-透镜垂直可视角度的一半)的余弦。9.根据权利要求8所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s14、若满足s12与s13的条件即为透镜可视角度内。10.根据权利要求6所述的一种基于观察空间的菲涅尔透镜可视角度仿真方法,其特征在于,s15、判断s11中夹角余弦是否小于零,从而区分正反面。
技术总结本发明涉及三维图形实时渲染领域以及飞行仿真技术领域,尤其涉及一种基于观察空间的菲涅尔透镜可视角度仿真方法,包括S1、在三维渲染中模拟菲涅尔透镜;S2、提前在推式常量中存入观察空间信息,在渲染管线中得到点在观察空间中的信息;S3、在顶点渲染时,计算视点到顶点在观察空间中的方向向量;S4、计算菲涅尔透镜中心方向在观察空间中的方向向量;S5、计算菲涅尔透镜向上向量在观察空间中的方向向量;S6、计算菲涅尔透镜向左向量在观察空间中的方向向量。本发明在三维渲染中模拟菲涅尔透镜,通过提前在推式常量中存入观察空间信息,再计算菲涅尔透镜在观察空间中的数据信息,以形成特殊效果的图形渲染方式来帮助飞行员进行有效的着陆训练。效的着陆训练。效的着陆训练。
技术研发人员:贾磊
受保护的技术使用者:北京领为军融科技有限公司
技术研发日:2022.05.09
技术公布日:2022/7/5