首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

当要动态渲染一系列点的时候,正样做最快?解决办法

2012-02-14 
当要动态渲染一系列点的时候,正样做最快?问题:在做四叉树LOD地形管理的时候,对地形采用扇形渲染,因为要处

当要动态渲染一系列点的时候,正样做最快?
问题:
在做四叉树LOD地形管理的时候,对地形采用扇形渲染,因为要处理裂缝,所以是处理一个节点,
就渲染这个扇形。但发现这样很慢。

或是处理完一个后不渲染,存储起来,到最后在集体渲染,但发现还是很慢。

因为所有的扇形顶点数都不一样,所以每次都要创建新的顶点缓存区,就要很多次LOCK(),
LOCK()是会花很多时间吗?因为好像又不能集体一次渲染了,所以不知怎么协调了。

[解决办法]
分3部做

1.生成每个扇形的顶点坐标,并保存在内存中
2.计算上面的n个扇形总共顶点数据大小,生成一个足够大的vertexbuffer,lock后copy每段数据进去,并记录每个扇形的偏移和顶点数,unlock
3.调用n次drawprimitive,绘制每个扇形。

主要优化就是只需一次lock/unlock,便可以提升效率
[解决办法]

探讨

分3部做

1.生成每个扇形的顶点坐标,并保存在内存中
2.计算上面的n个扇形总共顶点数据大小,生成一个足够大的vertexbuffer,lock后copy每段数据进去,并记录每个扇形的偏移和顶点数,unlock
3.调用n次drawprimitive,绘制每个扇形。

主要优化就是只需一次lock/unlock,便可以提升效率

热点排行