我可能在这一切都错了,但是,嘿。
我正在渲染大量的墙段(为了论证,假设为 200)。每个部分都是一个单位高,均匀且笔直,没有对角线。所有方向的变化都是90度的变化。
我将每个都表示为一个四尖三角形风扇,也就是一个四边形。每个顶点都有一个与之关联的三维纹理坐标,例如 0,0,0,0,1,7 或 10,1,129。
这一切都很好,但我不禁认为它可以更好。例如,每个点至少重复两次(每面墙都是连续的线段,并且有一些三和四路交叉点)并且起始角纹理坐标(0,0,X 和 0,1,X)正在为每个纹理编号为 X 的墙壁复制。这可以通过将 O 坐标移动到第三个属性并分别索引 S 和 T 坐标来进一步压缩。
问题是,我似乎无法弄清楚如何做到这一点。VAOs似乎只允许一个索引,并且作为一个整体,每个位置和纹理坐标形成一个独特的雪花,永不重复。(诚然,这在某些角落可能不是真的,但这是一个非常边缘的情况)
我想做的事情是可能的,还是我必须坚持我目前使用的(公认很好)方法?