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

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

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

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

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

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

(19)中华人民共和国国家知识产权局*CN102982573A*(12)发明专利申请(10)申请公布号CN102982573A(43)申请公布日2013.03.20(21)申请号201210449721.1(22)申请日2012.11.12(71)申请人沈阳信达信息科技有限公司地址110164辽宁省沈阳市沈北新区辉山大街123-7号211室(72)发明人不公告发明人(51)Int.Cl.G06T13/00(2006.01)权利要求书权利要求书11页页说明书说明书22页页(54)发明名称基于分段缓存的场景渲染优化(57)摘要本发明涉及计算机图形技术领域,更具体地说,涉及场景的渲染优化方法,采用分段缓存方式,自动合并相似的实例,同时保留了大量渲染的好处。分段缓存的主要好处在于非重复的外观和不绘制原始实例的能力;明显的减少了渲染显示帧中的批次次数,运用本发明的方法,可以产生非常丰富和开起来更真实环境。CN10298573ACN102982573A权利要求书1/1页1.基于分段缓存的场景渲染优化,其步骤如下:1)对场景中对象进行八叉树空间划分;树由一点产生,这些点代表了创造分段缓冲区实例的位置;2)对八叉树进行深度优先遍历,每个树的节点总是先分支到左边,当达到一片叶的时候,把所有的叶片都添加到一个新的序列表中,这样就有了一个空间有序的实例表;3)迭代列表兵构造一个包含所有实例的顶点缓冲区;这个缓冲区中包含所有实例的世界坐标;同时需要记录顶点缓冲区那些部分属于那个实例;4)根据视锥体裁剪,得出实例的可见性,把这个实例列表变换到前面为分段缓冲生成的顶点缓冲区的一部分;5)合并顶点缓冲区中相邻的分段,得到渲染缓冲区的优化列表。2CN102982573A说明书1/2页基于分段缓存的场景渲染优化[0001]技术领域[0002]本发明涉及计算机图形技术领域,更具体地说,涉及场景的渲染优化方法。背景技术[0003]随着图像技术的发展,图像需要更多的多边形,更多的杂物和更好的光照,以便场景看起来更真实。为此,不得不使用更多的美术方法来满足需求。帮助节省开发时间的一种技术是实例化方法。[0004]虽然实例化方法可以大量的降低开发时间,但这会使游戏受限于绘制调用次数。如果场景使用每一个实例都导致新增加一个批次,那么就不能很好的体现实例化的好处。批次变成了瓶颈。[0005]大多数的Gpu不能渲染上千个实例的场景,每一个实例都潜在的改变一系列渲染状态,直接状态的改变导致了驱动和cpu的开销,最后导致性能下降。虽然可以在内容一方避免这个问题,采用美术合并多个模型而产生新模型,然后在各处实例化,但是这样会导致场景看起来重复,降低真实感。[0006]本发明采用了分段缓存技术,把场景中彼此接近的实例,把他们合并到超级实例中,这样减少了调用次数,而且解决批次的瓶颈问题。发明内容[0007]本发明要解决的技术问题在于,采用分段缓存方式,自动合并相似的实例,同时保留了大量渲染的好处。分段缓存的主要好处在于非重复的外观和不绘制原始实例的能力。[0008]为了实现上述目的,本发明所采用的技术方案是基于分段缓存的场景渲染优化,其步骤如下:1)对场景中对象进行八叉树空间划分。树由一点产生,这些点代表了创造分段缓冲区实例的位置;2)对八叉树进行深度优先遍历,每个树的节点总是先分支到左边,当达到一片叶的时候,把所有的叶片都添加到一个新的序列表中,这样就有了一个空间有序的实例表;3)迭代列表兵构造一个包含所有实例的顶点缓冲区。这个缓冲区中包含所有实例的世界坐标。同时需要记录顶点缓冲区那些部分属于那个实例;4)根据视锥体裁剪,得出实例的可见性,把这个实例列表变换到前面为分段缓冲生成的顶点缓冲区的一部分;5)合并顶点缓冲区中相邻的分段,得到渲染缓冲区的优化列表。[0009]本发明的优点在于:明显的减少了渲染显示帧中的批次次数,运用本发明的方法,可以产生非常丰富和开起来更真实环境。3CN102982573A说明书2/2页具体实施方式[0010]基于分段缓存的场景渲染优化,其步骤如下:1)对场景中对象进行八叉树空间划分。树由一点产生,这些点代表了创造分段缓冲区实例的位置;2)对八叉树进行深度优先遍历,每个树的节点总是先分支到左边,当达到一片叶的时候,把所有的叶片都添加到一个新的序列表中,这样就有了一个空间有序的实例表;3)迭代列表兵构造一个包含所有实例的顶点缓冲区。这个缓冲区中包含所有实例的世界坐标。同时需要记录顶点缓冲区那些部分属于那个实例;4)根据视锥体裁剪,得出实例的可见性,把这个实例列表变换到前面为分段缓冲生成的顶点缓冲区的一部分;5)合并顶点缓冲区中相邻的分段,得到渲染缓冲区的优化列表。4