mpe*_*pen 3 opengl 3d textures voxel
我试图决定在类似Minecraft的游戏中渲染一堆具有不同纹理的立方体的最有效方法是什么.
我发现了实例渲染.我所做的是我创建了一个单独的"立方体模型",它存储了立方体的所有顶点,法线和纹理坐标,我创建了一个数组缓冲区并将其传递给GPU一次.然后我创建了一个(平移矢量,纹理索引)结构数组,我使用实例渲染来反复重绘同一个立方体,每次翻译并使用适当的纹理.
(希望Notch不介意我使用他的纹理,直到我自己做)
问题是,并非所有6个边都将具有相同的纹理,并且我试图弄清楚如何使它们对于每个块类型都不同.我提出的两个解决方案是:
第二种解决方案需要传递更多,可能是冗余的数据.我不确定实例化渲染的好处有多大......所以我不知道是否会更好,例如,最多256个"通过"(每个块类型1个)或"一个大"传递"包含所有数据,并在一次拍摄中渲染每个块.
或许还有另一种我不知道的方法?