预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN106162142A(43)申请公布日2016.11.23(21)申请号201610415785.8(22)申请日2016.06.15(71)申请人南京快脚兽软件科技有限公司地址210000江苏省南京市浦口区江浦街道珠江工业区瑞韵路3-134号(72)发明人任飞(51)Int.Cl.H04N13/02(2006.01)权利要求书1页说明书3页附图3页(54)发明名称一种高效的VR场景绘画方法(57)摘要本发明公开了一种高效的VR场景绘画方法,包括以下步骤:(1)对场景进行远近层次的区分,对于较远层次的物体,只渲染一次,对于较近的物体,渲染两次;(2)对远处物体只进行一次渲染:首先创建一个公共的纹理A,用来保存远端物体的渲染结果,使用两个camera中间的位置虚拟出来一个新的camera’,以camera’来进行远端物体的渲染,并将渲染结果保存到纹理A中,当渲染真实的左眼视图时,首先将纹理A绘画到屏幕之上,然后再将近处的物体按照左眼camera依次绘画到屏幕上,右眼视图同理,最后合并左右眼的渲染结果;(3)确定远近的层次分界线。本发明的渲染效率会有较大的提升,在相同的场景下,当分界面选择左右camera距离×100左右时,性能提升60%以上。CN106162142ACN106162142A权利要求书1/1页1.一种高效的VR场景绘画方法,其特征在于,包括以下步骤:(1)对场景进行远近层次的区分:首先得到左右camera的中间位置,然后依次计算场景中所有物体距离这个中间位置的距离,当距离大于指定的值的时候,就认为这个物体属于较远层次的那个物体,当距离小于指定值的时候,认为它属于较近的层次;在左右camera的渲染过程中,对于较远层次的物体,只渲染一次,对于较近的物体,渲染两次;(2)对远处物体只进行一次渲染:首先创建一个公共的纹理A,纹理A用来保存远端物体的渲染结果,之后使用两个camera中间的位置虚拟出来一个新的camera’,以该camera’来进行远端物体的渲染,并将渲染结果保存到纹理A中,当渲染真实的左眼视图时,首先将纹理A绘画到屏幕之上,然后再将近处的物体按照左眼camera依次绘画到屏幕上,渲染真实的右眼视图同理,最后合并左右眼的渲染结果,就能够将最终的物体渲染出来;(3)确定远近的层次分界线:通过一个公式来进行远近的区分,设左右眼睛的距离为x,远近的区分距离为y,y=Ax+B,A和B为一个常数,通过调整A和B的值在效果和性能上找到一个平衡点。2.根据权利要求1所述的高效的VR场景绘画方法,其特征在于,步骤(1)中较近的物体之右小于整体的50%,渲染性能也能够提升。3.根据权利要求1所述的高效的VR场景绘画方法,其特征在于,步骤(2)中所述纹理A和屏幕大小相等。2CN106162142A说明书1/3页一种高效的VR场景绘画方法技术领域[0001]本发明涉及VR渲染引擎技术领域,具体是一种高效的VR场景绘画方法。背景技术[0002]在VR场景中,为了实现左右眼睛不同的效果,需要同时渲染两张图,分别为左眼视图和右眼视图,为了更好的体现3D效果,左右眼视图的Camera位置是不同的,这样就导致了一个问题,由于Camera的移动,会导致整个场景的重新绘制,这样会极大的降低渲染效率。现有的VR场景绘画方法为:首先模拟左眼进行场景渲染,1.确定Camera1的位置,2.对所有物体进行z排序,3.依次渲染所有的物体;之后模拟右眼进行场景渲染,1.确定Camera2的位置,2.对所有物体进行z排序,3.依次渲染所有的物体。现有的VR场景绘画方法性能较差,在手机这种设备中很难做到特别高的帧率,给用户的体验不好。[0003]由于VR是一种比较新的交互场景,所以其渲染方式也不完全相同,首先就是其左右眼的渲染方式会引起Camer位置的变化,这样就会使得渲染速度减半。为了提高渲染速度,定义了一种全新的渲染方式-远近分层渲染。发明内容[0004]本发明的目的在于提供一种高效的VR场景绘画方法,以解决上述背景技术中提出的问题。[0005]为实现上述目的,本发明提供如下技术方案:[0006]一种高效的VR场景绘画方法,包括以下步骤:[0007](1)对场景进行远近层次的区分:首先得到左右camera的中间位置,然后依次计算场景中所有物体距离这个中间位置的距离,当距离大于指定的值的时候,就认为这个物体属于较远层次的那个物体,当距离小于指定值的时候,认为它属于较近的层次;在左右camera的渲染过程中,对于较远层次的物体,只渲染一次,对于较近的物体,渲染两次;[0008](2)对远处物体只进行一次渲染:首先创建一个公共的纹理A,纹理A用来保存远端物体的渲染结果,之后使用两个c