本发明涉及显影,具体是一种头显端立体倒影渲染方法。
背景技术:
1、在使用头盔设备进行三维场景渲染时,为了达到逼真的渲染效果,在很多场景中需要对光滑的地面、水面、镜面等进行反射渲染,并达到双眼的立体效果。
2、当前主流的反射渲染方法是针对手机端或电脑端单屏幕的方式进行渲染,而头盔设备中的双眼立体渲染则存在空白,或直接搬手机端或电脑端的算法套用出现渲染错误,例如:闪动、没有立体感、头盔转动出现反射位移问题,因此,本申请提出一种头显端立体倒影渲染方法。
技术实现思路
1、本发明的目的在于提供一种头显端立体倒影渲染方法,本算法采用预处理的方式,先将倒影内容分别进行左右两眼渲染得到两个纹理,然后在平面模型渲染过程中对左右眼分别采样两个不同的反射纹理,然后与平面模型自身纹理数据进行计算得到最终的渲染效果,以解决上述背景技术中提出的当前主流的反射渲染方法是针对手机端或电脑端单屏幕的方式进行渲染,而头盔设备中的双眼立体渲染则存在空白,或直接搬手机端或电脑端的算法套用出现渲染错误,例如:闪动、没有立体感、头盔转动出现反射位移问题。
2、为实现上述目的,本发明提供如下技术方案:一种头显端立体倒影渲染方法,包括下述步骤:
3、s100:构造反射摄像机:判断场景中是否存在反射摄像机,若不存在反射摄像机,则进行添加;
4、s200:暂存公共渲染参数:根据渲染需要暂存的公共渲染参数值到临时变量;
5、s300:设置反射公共渲染参数:根据反射渲染效果需要进行参数设置;
6、s400:创建两眼对应的反射纹理:判断如果场景中还未存在反射纹理,则创建反射纹理;
7、s500:设置反射相机渲染参数:根据反射平面位置和朝向信息,以及主摄像机的位置和朝向信息计算出反射矩阵,从而计算出反射摄像机的视图矩阵并赋值给反射摄像机;
8、s600:左眼渲染设置和纹理渲染:计算左眼的投影矩阵,然后将投影矩阵和渲染目标纹理设置到反射摄像机中,最后进行反射摄像机的渲染到纹理操作,得到左眼的反射纹理结果;
9、s700:右眼渲染设置和纹理渲染:计算右眼的投影矩阵,然后将投影矩阵和渲染目标纹理设置到反射摄像机中,最后进行反射摄像机的渲染到纹理操作,得到右眼的反射纹理结果;
10、s800:恢复公共渲染参数:将第二步暂存的公共渲染参数恢复为暂存的临变量的数值;
11、s900:镜面物体叠加反射渲染:镜面物体的渲染将在主摄像机的渲染流水线中进行。在其着色器中对左右两眼的反射纹理进行采样及混合等操作实现最终立体反射效果。
12、作为本发明进一步的方案:所述步骤s100中,其添加反射摄像机时的方法如下:在场景中添加一个新的游戏节点,在节点上添加摄像机组件,设置摄像机为停用状态;如果反射摄像机已经存在,则使用已经存在的反射摄像机。
13、作为本发明再进一步的方案:所述步骤s400中,设置双眼对应的反射纹理,其创建方法如下:根据全局摄像机渲染的画面大小及反射需要的精度参数计算反射纹理大小,然后创建指定大小的纹理资源,分别创建左右眼两个纹理资源。如果存在则使用存在的纹理。
14、作为本发明再进一步的方案:所述步骤s500中,根据主摄像机的渲染参数设置反射摄像机的渲染参数,设置反射摄像机的剔除掩码,以提高反射摄像机的渲染性能。
15、作为本发明再进一步的方案:所述步骤s600中,通过步骤s300中设置的公共渲染参数,摄像机渲染参数在步骤s500中进行了设置,在所述步骤s600中设置了投影矩阵和纹理参数后即完成了参数设置,最后进行反射摄像机的渲染到纹理操作,得到左眼的反射纹理结果。
16、作为本发明再进一步的方案:所述步骤s900中,镜面物体叠加反射渲染的渲染方法如下:将步骤s600和步骤s700中得到的左右眼两个反射纹理作为镜面物体渲染的参数,在着色器程序中,根据当前渲染的参数判断渲染的是左眼还是右眼,然后对应对反射纹理进行采样得到采样颜色值,最后与镜面本身纹理采样的颜色值进行混合得到最终反射效果。
17、与现有技术相比,本发明的有益效果是:
18、1、采用预先分别渲染左右两眼对应的摄像机反射内容,得到两个纹理后提供给需要反射的平面进行立体采样,从而得到能在头显设备中正确展示且立体感良好的倒影渲染。
19、2、支持各种形状及位置上需要添加反射效果的平面;可根据平面的效果需要设置需要显示出倒影的物体,从而提高渲染性能;可在渲染时添加不同的倒影特效从而逼近真实场景。
1.一种头显端立体倒影渲染方法,其特征在于:包括下述步骤:
2.根据权利要求1所述的一种头显端立体倒影渲染方法,其特征在于:所述步骤s100中,其添加反射摄像机时的方法如下:在场景中添加一个新的游戏节点,在节点上添加摄像机组件,设置摄像机为停用状态;如果反射摄像机已经存在,则使用已经存在的反射摄像机。
3.根据权利要求1所述的一种头显端立体倒影渲染方法,其特征在于:所述步骤s400中,设置双眼对应的反射纹理,其创建方法如下:根据全局摄像机渲染的画面大小及反射需要的精度参数计算反射纹理大小,然后创建指定大小的纹理资源,分别创建左右眼两个纹理资源。如果存在则使用存在的纹理。
4.根据权利要求1所述的一种头显端立体倒影渲染方法,其特征在于:所述步骤s500中,根据主摄像机的渲染参数设置反射摄像机的渲染参数,设置反射摄像机的剔除掩码,以提高反射摄像机的渲染性能。
5.根据权利要求1所述的一种头显端立体倒影渲染方法,其特征在于:所述步骤s600中,通过步骤s300中设置的公共渲染参数,摄像机渲染参数在步骤s500中进行了设置,在所述步骤s600中设置了投影矩阵和纹理参数后即完成了参数设置,最后进行反射摄像机的渲染到纹理操作,得到左眼的反射纹理结果。
6.根据权利要求1所述的一种头显端立体倒影渲染方法,其特征在于:所述步骤s900中,镜面物体叠加反射渲染的渲染方法如下:将步骤s600和步骤s700中得到的左右眼两个反射纹理作为镜面物体渲染的参数,在着色器程序中,根据当前渲染的参数判断渲染的是左眼还是右眼,然后对应对反射纹理进行采样得到采样颜色值,最后与镜面本身纹理采样的颜色值进行混合得到最终反射效果。