LWJGL - VBO 和 Sprite 类
Posted
技术标签:
【中文标题】LWJGL - VBO 和 Sprite 类【英文标题】:LWJGL - VBO's and Sprite Classes 【发布时间】:2016-08-21 12:54:43 【问题描述】:我最近发现在渲染时使用 immediate mode
是一个很大的禁忌。
所以我开始查找 VBO 和 VAO,如果我理解正确的话,VBO 是包含位置、颜色等数据的对象/缓冲区。
然后您将 VBO 放入 VAO 并在 VAO 中渲染所有内容?
所有这些对我来说都是非常新鲜和陌生的,所以我想知道我将如何使用它,例如,Sprite/Texture 类会是什么样子,我是否能够修改纹理之类的东西。开始渲染了吗?
我在 Google 上四处搜索,但没有找到任何我能够掌握的东西。
提前谢谢你!
【问题讨论】:
这里不是寻找指南/教程的地方。但是,您应该查看 LWJGL wiki 和 LWJGL 3 demos。 【参考方案1】:尽管这个问题的表述很奇怪,但我想我得到了你想要的(如果我没有,请纠正我)
您必须将 VAO 视为一个列表。在此列表中,有许多属性,例如位置、纹理坐标等(最多 16 个)。每个属性都存储为一个数组(VBO)。该数组填充了一个属性的所有数据(例如所有顶点位置)。函数glVertexAttribPointer
描述了一个VBO的属性,比如一个顶点的大小、数据类型等。
另一方面,有Uniform
变量。这些变量在绘制调用之前加载到着色器中指定的插槽中。这些变量对于整个网格保持不变并用于值,对于所有顶点(投影、视图等)保持相同。这些变量也可以是数据类型Sampler
,表示纹理。
有关更多详细信息,我建议您阅读一些示例/教程。
【讨论】:
以上是关于LWJGL - VBO 和 Sprite 类的主要内容,如果未能解决你的问题,请参考以下文章