我正在研发适合非常大型场景显示的3D引擎。 渲染本身(截锥体剔除,遮挡剔除等)的公寓,我想知道什么是场景管理的最佳解决方案。大型3D场景流式传输
数据作为一个巨大的3D meshs的名单,与他们没有关系,所以我不能生成的门户网站,我想......
的主要目标是能够在运行该引擎具有低RAM(500MB-1GB)的系统,并且加载到其中的场景非常大,可能包含数百万个三角形,这会导致非常密集的内存使用量。我实际上正在使用一个松散的八叉树,在加载时构建,它在中小型场景中运行良好,但许多场景仅适用于完全适合内存的场景,所以在这里提出我的问题:
你处理场景来动态地加载和卸载块(并且理想地无缝地),并且你将基于什么来确定块是否应该被加载/卸载?如果需要,我可以创建自定义文件格式,因为场景使用已知3D制作工具上的自定义导出器导出。
重要信息:许多场景由于其构造而无法有效遮挡。例如:一个非常巨大的管道网络,所以没有太多的遮挡,但有很多元素。
感谢您的回答,没有在场景中没有纹理。体素引擎是一个真正的解决方案,牢记我的场景只是多边形集合,我不知道对象的体积。场景完全是静态的,没有任何物体会移动。但我必须能够按需隐藏一些对象(不是什么大问题) – ingham 2014-10-13 07:42:49
它取决于对象的类型。如果渲染多边形并且您期望某些或所有对象具有非常高的细节,那么基于对象的基于LOD的解决方案可能更合适。如果除了变换矩阵或着色器参数外,很多对象在几何上都是相同的,请查看实例化渲染(即管道示例)。 – StarShine 2014-10-13 11:26:59
那么一个包含大量不同小物体的场景(例如〜500 000个〜100-300个三角形物体)呢? – ingham 2014-10-13 14:20:20