我阅读了有关 DynamicVertexBuffer 的内容,以及它应该如何更好地处理经常变化的数据。我有一个由立方体组成的世界,我需要将立方体的顶点存储在这个缓冲区中以将它们绘制到屏幕上。
但是,并非所有立方体都有顶点(有些是空气,它是透明的),也不是立方体的所有面都需要绘制(它们彼此面对),所以我如何跟踪哪些顶点存储在缓冲?此外,某些面需要最后绘制,即其中具有透明度的面(如玻璃或树叶),并且这些面还需要以从后到前的顺序绘制,以免弄乱 alpha 混合。
如果所有这些顶点都任意存储在这个缓冲区中,我怎么知道哪些顶点在哪里?
此外,顶点的数量可以改变,但 DynamicVertexBuffer 对我来说似乎不是很动态,因为我根本无法改变它的大小。每次我需要添加或删除面时,我是否必须重新创建缓冲区?