【问题标题】:LWJGL - VBO's and Sprite ClassesLWJGL - VBO 和 Sprite 类
【发布时间】:2016-08-21 12:54:43
【问题描述】:

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

所以我开始查找 VBO 和 VAO,如果我理解正确的话,VBO 是包含位置、颜色等数据的对象/缓冲区。

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

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

我在 Google 上四处搜索,但没有找到任何我能够掌握的东西。

提前谢谢你!

【问题讨论】:

  • 这里不是寻找指南/教程的地方。但是,您应该查看 LWJGL wiki 和 LWJGL 3 demos

标签: java sprite lwjgl vbo vao


【解决方案1】:

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

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

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

有关更多详细信息,我建议您阅读一些示例/教程。

【讨论】:

    猜你喜欢
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多