在libgdx 2d中,我们通常不渲染不在屏幕内的精灵,然而在3d中,从我读到的内容中,你绘制了整个场景作为关卡,我的场景相当大,我想知道是否应该处理屏幕外的模型?又是如何做到的?
发布于 2019-09-26 02:25:42
重建网格来隐藏某些顶点是不现实的。您必须对网格的构建进行微观管理,并确保不会隐藏仍可见的三角形中的顶点。而且你必须非常小心地重建你的索引数组。在大多数情况下,这是完全不可行的,因为您可能是在建模程序中构建网格。
您可以选择将场景建模为多个单独的模型,也可以不担心。这取决于复杂性,这更有意义。
如果有单独的模型网格,可以计算它们的边界框,然后使用camera.frustum.boundsInFrustum()测试它们,以决定是否应该绘制它们。
请注意,在摄影机截体外部绘制的顶点只会耗费一些浪费的顶点着色器计算,而不是碎片着色器计算。在某一时刻,通过跳过某些顶点所节省的成本将被计算哪些不需要绘制的顶点的成本所吞噬。
https://stackoverflow.com/questions/58097040
复制相似问题