我有一个项目,我希望在16平方英里的景观上渲染大量的网格.虽然网格并非都是独一无二的,但它们中有很多(可能只有1000个网格,但其中有几百万个)
我想知道是否有任何论文或(好)资源涉及该主题.我已经找到了很多关于地形/景观渲染的论文,但是在某种程度上未能找到任何有关大量网格渲染的文章.
编辑 网格我指的是景观,建筑树木等物体
有效渲染具有大量对象的大型景观需要考虑两个重要方面.一种是通过仅绘制当前摄像机角度可见的内容来最小化冗余工作,另一种是最大化渲染可见内容的效率.
有两种主要方法可以最小化冗余渲染工作.首先,您要避免绘制在摄像机视野之外的任何内容.可以使用各种数据结构加速这种可见性剔除:八叉树,四叉树,球体树,bsp树(通常更适合于不太开放的环境而不是景观)等.某种分层场景布置对于加速这种类型也是有用的剔除 相同的数据结构也可用于在屏幕上跳过低于特定大小阈值的对象的渲染.
其次,您要避免渲染被较近的对象遮挡的对象.有许多不同的遮挡剔除技术,一些使用GPU加速通过遮挡查询,另一些则完全在CPU上运行.遮挡剔除的价值在某种程度上取决于您的典型摄像机角度,地形粗糙度和地形上物体的大小.一个相对平坦,开阔的地形,只有小物体或相机,大部分朝向地面,而不是向地平线下方,将减少遮挡剔除的机会.场景的某些层次结构将再次帮助进行遮挡剔除,就像父对象被遮挡一样,您可以跳过对其子项的测试.
一旦您最小化了需要渲染的对象集,您就可以将注意力转移到最大化可见对象的渲染效率.细节级别技术在这里很有用(远端对象的低多边形网格).另一个答案中提到的冒充者技术是另一种有用的方法,用简单的广告牌代替复杂的几何形状.实现几何体实例的各种方法也值得追求 - 现代图形硬件可以通过对图形API的单次调用来渲染具有不同位置和其他变体的相同几何体的许多副本.最后,所有有效使用图形硬件的标准技术都适用于此:排序以获得最大渲染效率(在某种程度上取决于硬件),最大限度地减少每帧的冗余工作量,有效地打包几何体,优化顶点和像素着色器等.
提到的每个领域本身都非常复杂,有许多论文,书籍和文章详细阐述.希望这里提到的技术足以让您指出一些谷歌研究的正确方向.
| 归档时间: |
|
| 查看次数: |
923 次 |
| 最近记录: |