16得票3回答
有没有可能对VBO进行原地调整大小?

标题已经说明了一切,但为了清楚起见,我会添加一些额外的词语。 在这种情况下,resize 的意思是: 在旧的 vbo 结尾获取更多的存储空间 在前面保存旧数据 (希望不需要复制,但至少不是在 CPU 端进行复制,这意味着驱动程序应该处理此操作) 编辑 为了解释更多细节和证明我的问题...

11得票3回答
OpenGLES 2.0分别为顶点、颜色和纹理坐标分配缓冲区

我已经跟随一些教程学习OpenGL并进行了一些实验几天了。但是有一件事情我真的不明白,这也阻止了我继续学习。我已经谷歌搜索了几个小时,但仍未找到答案。 我应该在哪里为每个单独的顶点指定单独的颜色值和纹理坐标?这些属性总是应该列在与顶点位置相同的数组(结构体)中吗?就像这样:const Ver...

13得票1回答
"glEnableClientState"已被弃用。

我想在粒子系统渲染中使用GL_POINT_SPRITE_ARB + VBO。已经完成了 point_sprites 的所有准备工作,但是在 VBO 上卡住了。 似乎 glEnableClientState 已经不再起作用了,我看到它在现代 openGL 中已经被弃用。那么,我应该使用什么替代方法呢?

19得票1回答
OpenGL:批处理绘制好还是静态VBO更好?

从效率角度(或其他重要角度)来看,哪种方案更可取呢? 情境 一个OpenGL应用程序每帧绘制许多不同位置的线条(60 fps)。假设有10条线。或者有100,000条线。答案会有所不同吗? #1 使用永远不会更改的静态VBO,其中包含一条线的2个顶点 每帧将使用一个glDrawArr...

11得票1回答
glDeleteVertexArrays会导致与被删除的VAO相关联的VBO被删除吗?

根据这个问题,glDeleteBuffers会将缓冲区的显存标记为可用。但是当我在VAO上调用glDeleteVertexArrays时,这个调用会删除与该VAO链接的所有VBO吗? 如果不是,那么什么时候应该删除VBO?在删除VAO之前还是之后?

48得票2回答
顶点数组对象和顶点缓冲对象的使用

我正在尝试理解如何使用VAO和VBO以及它们之间的关系。假设我想创建一个简单的地形和一个有纹理的立方体,对于这两个对象,我都有三角形顶点数组,而对于立方体,我有一个包含纹理数据的数组。我的问题是:我该如何使用VAOs和VBOs创建和渲染这两个对象? 我需要为每个对象创建一个VAO和一个VB...

9得票2回答
OpenGL:使用VBO绘制线条

如何使用单个VBO绘制多条分离的线段?

9得票1回答
OpenGL ES 2.0:寻求针对移动顶点的VBO性能优化技巧

在我尝试从ES 1.x转换到OpenGL ES 2.0的过程中,我正在将一些代码转换为使用顶点缓冲区对象(“VBO”)而不是现有的未缓冲的glDrawArrays调用。 我已经设置了VBO并使其工作,但遇到了设计困境,希望得到更有经验的OpenGL ES 2.0专家的建议。 我想绘制一堆多...

11得票1回答
如何在Python和PyOpenGL中使用VBOs

以下 Python 程序应该在窗口的右上象限绘制一个白色三角形。import pygame from OpenGL.GL import * from ctypes import * pygame.init () screen = pygame.display.set_mode ((800,6...

9得票1回答
减少顶点缓冲区中的重复数据

我同时使用了3个顶点缓冲区(实际上我有很多,但是只有其中3个在同时使用)。 它们包含的信息在着色器中混合在一起以产生所需的输出——2D骨骼动画。 有两个骨骼缓冲区,它们包含任何给定帧骨骼的位置/旋转/缩放信息。 有一个皮肤缓冲区,它包含呈现为世界原点(0,0)的纹理区域的顶点。 在着色...