10得票2回答
如何在OpenGL ES 2.0中正确更新顶点数组?

当我在OpenGL 2.0中更新iOS上的顶点数组时,原始顶点数据仍然停留在屏幕上--即第一次刷新是持久的(我向GPU发送的最初的点集每帧都会被渲染),但第二次、第三次、第四次...n次刷新似乎都会覆盖同一块内存。所以我正在做:vector<VertexType> rawDynam...

9得票1回答
OpenGL中绑定点的目的是什么?

我不明白OpenGL中绑定点(例如GL_ARRAY_BUFFER)的目的是什么。据我所知,glGenBuffers()创建了一个指向GPU内存中某个顶点缓冲对象的指针。 因此: glGenBuffers(1, &bufferID) 我现在拥有一个处理器bufferID来管理显卡...

9得票2回答
如何释放MTLBuffer和MTLTexture的内存空间

我知道如何创建MTLBuffer和MTLTexture,但是当这些资源不再需要时,如何释放GPU内存呢?

9得票1回答
退化三角形与GL_TRIANGLE_STRIP的问题

我正在尝试使用一次glDrawElements调用绘制多个三角形条带,我的研究告诉我需要使用退化三角形。也许我的理解有误,但我认为这应该允许我从一个条带“跳”到另一个条带。 如果您认为相关,可以在我发布的这个最近的问题中找到我整个代码。 基本上,我正在尝试绘制两个四边形(为简化起见),每个...

9得票2回答
顶点数组对象 - 对于当前绑定的顶点缓冲保存了哪些状态信息存在困惑

我正在构建一个图形引擎,并通过arcsynthesis的教程进行学习,但是我发现我对VAO的理解不如我以为的那么深入。从第五章.深入了解对象中的教程中可以看到: “缓冲区绑定和属性关联 您可能会注意到,即使它是渲染属性设置的一部分,glBindBuffer(GL_ARRAY_BUFFER)也...

8得票1回答
OpenGL ES 2.0和顶点缓冲对象(VBO)

我无法弄清如何在OpenGL ES 2.0 for iPhone中使用顶点缓冲对象来处理我的地形。由于数据是静态的,因此我希望通过使用VBO来提高速度。在常规的OpenGL中,我可以轻松使用显示列表和着色器。然而,在OpenGL ES 2.0中,我必须将顶点数据作为属性发送到着色器中,但不知道...

8得票2回答
glVertexAttribDivisor和glVertexBindingDivisor有什么区别?

我正在寻找将属性与任意顶点分组关联的方法,一开始看来实例化似乎是我完成此操作的唯一方法,但后来我偶然发现了这个问题和这个答案: “然而,在较新版本的OpenGL中,可以设置某个顶点属性缓冲区偏移量前进的速率。实际上,这意味着在属性偏移量前进之前,给定顶点数组的数据会被复制到n个顶点中。设置这...

7得票1回答
OpenGL顶点缓冲对象,我能否访问顶点数据以进行其他用途,例如碰撞检测?

我目前正在使用Superbible第五版附带的GLTools类。我正在查看GLTriangleBatch类,它具有以下代码: // Create the master vertex array object glGenVertexArrays(1, &vertexArrayBuffe...

7得票4回答
一个顶点缓冲区中可以有多个网格吗?

我需要为每个网格使用一个顶点缓冲区吗,还是可以将多个网格存储在一个顶点缓冲区中?如果可以的话,我应该这样做吗?如何实现?

7得票2回答
使用VBO在OpenGL中从点向量绘制线条

我有一个简单的OpenGL程序,我正在尝试使用顶点缓冲对象来进行渲染,而不是使用旧的glBegin() - glEnd()。基本上,用户在窗口上单击指定起点,然后按下键生成随后的点,OpenGL将其绘制为一条线。 我已经使用glBegin()和glEnd()实现了这一点,但是使用VBO没有成...