LWJGL - VBO 和 Sprite 类

LWJGL - VBO's and Sprite Classes

我最近发现在渲染时使用 immediate mode 是一个很大的禁忌。

所以我开始查找 VBO 和 VAO,如果我理解正确的话,VBO 是 objects/buffers,其中包含位置、颜色等数据。

然后您将 VBO 放入 VAO 并渲染 VAO 中的所有内容?

所有这些对我来说都是非常新鲜和陌生的,所以我想知道我将如何使用它,例如,Sprite/Texture class 会是什么样子,我能在我开始渲染后修改纹理之类的东西?

我用谷歌搜索,但没有找到任何我能掌握的东西。

提前致谢!

尽管这个问题的表述很奇怪,但我想我得到了你想要的(如果我不明白请纠正我)

您必须将 VAO 视为列表。在此列表中,有许多属性,例如位置、纹理坐标等(最多 16 个)。每个属性都存储为一个数组(VBO)。该数组填充了一个属性的所有数据(例如所有顶点位置)。函数glVertexAttribPointer描述了一个VBO的属性,比如一个顶点的大小,数据类型等

另一方面,还有Uniform个变数。这些变量在绘制调用之前加载到着色器中指定的插槽中。这些变量在整个网格中保持不变,并用于值,这些值对于所有顶点(投影、视图等)都保持不变。这些变量也可以是 Sampler 数据类型,表示纹理。

有关更详细的信息,我建议您通读一些 samples/tutorials。