vbo相关内容

将顶点缓冲区转换为顶点数组

我正在开发 OpenGL 程序,我必须计算一个边界框.我编写了代码来执行此操作,但我无法从 vertex buffer 获取顶点坐标.有人可以向我解释一种从顶点缓冲区获取数据的简单方法吗?我将 Java 用于 android 和 OpenGL es 解决方案 如果你使用 OpenGL ES 3.0 或更高版本,你可以使用 glMapBufferRange() 直接访问缓冲区数据.有关功能的 ..
发布时间:2022-01-09 09:46:09 移动开发

如何在 OpenGL ES 2 中创建和使用 VBO

我正在寻求有关理解 VBO 的帮助.我已经进行了大量研究并找到了有关该主题的教程,但它们对我来说仍然含糊不清.我有几个问题: 应该在哪里创建 VBO,我应该如何创建? 我目前正在使用下面的代码来初始化我的顶点和索引缓冲区: vertices = new float[]{p[0].x, p[0].y, 0.0f,p[1].x, p[1].y, 0.0f,p[2].x, p[2].y, ..
发布时间:2022-01-09 09:44:59 Java开发

如何将模型矩阵包含到 VBO?

我想发送一个缓冲区列表(到 GPU/顶点着色器),其中包含有关顶点位置、世界位置、颜色、比例和旋转的信息. 如果我的每个 3D 对象在矩阵中都有与变换相关的信息,我如何通过 VBO 将这个矩阵数组(除了其他顶点数据)传递给 GPU? 更新如有错别字请见谅: //绑定 &设置顶点.gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);gl.verte ..
发布时间:2022-01-09 09:13:22 其他开发

如何在 OpenGL ES 1.1 中优化大型模型的渲染?

我刚刚在我的 3D 应用程序中完成了 VBO 的实现,并且看到渲染速度提高了大约 5-10 倍.过去以每秒 1-2 帧的速度呈现的内容现在以每秒 10-11 帧的速度呈现. 我的问题是,我可以做任何进一步的改进来提高渲染速度吗?三角带会有很大的不同吗?当前顶点没有在面之间共享,每个面的顶点都是唯一的但重叠. 我的设备利用率为 100%,Tiler 利用率为 100%,渲染器利用率为 1 ..
发布时间:2022-01-09 08:49:47 移动开发

如何将模型矩阵包含到 VBO 中?

我想发送一个缓冲区列表(到 GPU/顶点着色器),其中包含有关顶点位置、世界位置、颜色、比例和旋转的信息. 如果我的每个 3D 对象在矩阵中都有与变换相关的信息,我如何通过 VBO(s)将这个矩阵数组(除了其他顶点数据)传递给 GPU? 已更新请原谅任何错别字: //绑定 &设置顶点.gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);gl.ve ..
发布时间:2021-12-19 18:38:35 其他开发

OpenGL 顶点数组/缓冲对象

问题 1 在某个 VAO 下创建的顶点缓冲对象会在该 VAO 被删除后删除吗? 示例: glGenBuffers(1, &bufferObject);glGenVertexArrays(1, &VAO);glBindVertexArray(VAO);glBindBuffer(GL_ARRAY_BUFFER, bufferObject);glBufferData(GL_ARRAY_BU ..
发布时间:2021-12-19 18:34:58 其他开发

在不同的 VBO 中存储不同的顶点属性

是否可以在不同的顶点缓冲区中存储不同的顶点属性? 到目前为止我看到的所有例子都是这样的 浮动数据[] ={//位置v1x, v1y, v1z,v2x, v2y, v2z,...vnx, vny, vnz,//颜色c1r, c1g, c1b,c2r, c2g, c2b,...cnr、cng、cnb、};GLuint buffname;glGenBuffers(1, &buffname);gl ..
发布时间:2021-12-19 18:27:18 C/C++开发

使用 VBO 的最佳方式

使用 VBO 的最快和最灵活(适用于大多数情况)的方法是什么? 我正在开发一个 openGL 应用程序,我希望它达到最佳性能,所以我需要有人来回答这些问题.我阅读了很多问题和答案,但我想有太多我不需要的信息会弄乱我的大脑...... 我应该使用多少个 vbo? 我应该如何创建 vbos? 如果数据大小不固定,我应该如何更新 vbos 数据? 我应该如何渲染 vbos? 我应该如 ..
发布时间:2021-12-19 18:25:21 其他开发

了解 glVertexAttribPointer 吗?

private int vbo;私人内部情报局;vbo = glGenBuffers();ibo = glGenBuffers();glBindBuffer(GL_ARRAY_BUFFER, vbo);glBufferData(GL_ARRAY_BUFFER, Util.createFlippedBuffer(vertices), GL_STATIC_DRAW);glBindBuffer(GL_E ..
发布时间:2021-12-19 18:23:53 其他开发

什么时候 VBO 比“简单"更快?OpenGL 基元 (glBegin())?

在听说顶点缓冲对象 (VBO) 多年之后,我终于决定尝试使用它们(我的东西通常对性能不是很关键,显然......) 我将在下面描述我的实验,但长话短说,我发现“简单"直接模式(glBegin()/glEnd())、顶点数组(CPU 端)和 VBO(GPU 端)渲染模式.我试图理解为什么会这样,以及在什么条件下我可以期望看到 VBO 显着超过其原始(双关语)祖先. 实验详情 在实验 ..
发布时间:2021-12-19 18:19:54 其他开发

C++/OpenGL VAO 问题

#define GLEW_STATIC#include #include #include #include #include #include #include #define 宽度 800#define 高度 600#define TITLE "动态"GLFWwindow* 窗口;内部标识符;浮动顶点[] = {-0.5f, 0.5f, 0, -0.5f, -0.5f, 0, ..
发布时间:2021-12-19 18:16:58 C/C++开发

带有 std::vector 的 VBO

我用 C++ 和 OpenGL 编写了一个模型加载器.我已经使用 std::vectors 来存储我的顶点数据,但现在我想将它传递给 glBufferData(),但是数据类型却大不相同.我想知道是否有办法在 std::vector 和 glBufferData() 的文档const GLvoid * 之间进行转换. 顶点类型 typedef 结构体{浮动 x, y, z;浮动 nx, n ..
发布时间:2021-12-19 17:43:53 C/C++开发

现代 OpenGL:VBO、GLM 和矩阵堆栈

在搜索和阅读有关 Modern OpenGL 以升级我现有的项目后,我有点困惑,因为我的 3D 框架基于 OpenGL 2.1. 所以,据我所知... 我们需要从顶点、索引、法线、颜色、紫外线等生成我们的顶点缓冲区对象. 然后我们可以使用 GLM 进行矩阵变换,我们只使用 VBO 来创建或操作网格,最后我们像这样将所有内容传递到 GLSL 顶点着色器中... glm::mat4 ..
发布时间:2021-12-19 08:12:35 C/C++开发

如何使用 OpenGL 3.x VBO 渲染动态世界?

虽然对于 OpenGL 3.x 本身的最新引用似乎很少,但 OpenGL 的实际低级操作相对简单.然而,我什至在尝试将如何操纵 VBO 以呈现动态世界的概念化时遇到了严重的麻烦. 显然旧的立即模式方式不适用,但我该去哪里呢?我是否编写某种场景结构,然后将其转换为一组顶点并将其流式传输到 VBO,我将如何存储翻译数据?如果是这样,那看起来代码明智吗? 基本上真的不确定如何继续. 解 ..
发布时间:2021-11-26 13:39:39 其他开发

在 64 位操作系统中使用 glMultiDrawElements

我最近从 32 位环境迁移到 64 位环境,除了一个问题之外,它已经顺利进行了:glMultiDrawElements 使用了一些在 64 位操作系统下如果不进行一些调整就无法工作的数组. glMultiDrawElements( GL_LINE_LOOP, fCount_, GL_UNSIGNED_INT,reinterpret_cast( iOffset_ ),网格().faces().si ..
发布时间:2021-11-25 06:48:41 C/C++开发

正确更新顶点缓冲区对象

我有一个用 winapi 编写的训练应用所以,我已经在那里初始化了 GL 并且我有基于节点的系统,可以用几个类来描述 类网格{GLuint vbo_index;//这是为了拥有唯一的vbo浮动*顶点数组;浮动 *normal_array;无符号整数顶点计数;等等..//所有那些网状的东西.....}类节点{bool is_mesh;//节点可能代表也可能不代表网格网格 * mesh_ptr;// ..
发布时间:2021-11-25 04:33:18 C/C++开发

在 LWJGL 中带有纹理的 VBO

如何将纹理附加到 VBO? 我让它与 colorBuffer 一起工作,现在我想实现一个纹理.这是我的绘制方法: Color.white.bind();glBindTexture(GL_TEXTURE_2D,texture.getTextureID());glBindBuffer(GL_ARRAY_BUFFER, vboVertexHandle);glBufferData(GL_ARRAY ..
发布时间:2021-11-24 22:27:48 Java开发

如何使用 OpenGL 3.x VBO 渲染动态世界?

虽然对于 OpenGL 3.x 本身的最新引用似乎很少,但 OpenGL 的实际低级操作相对简单.然而,我什至在尝试将如何操纵 VBO 以呈现动态世界的概念化时遇到了严重的麻烦. 显然旧的立即模式方式不适用,但我该去哪里呢?我是否编写某种场景结构,然后将其转换为一组顶点并将其流式传输到 VBO,我将如何存储翻译数据?如果是这样,那看起来代码明智吗? 基本上真的不确定如何继续. 解 ..
发布时间:2021-11-24 21:29:22 C#

在不同系统上使用 VBO 进行 LWJGL 渲染

我正在为我的论文创建一个 2D SideScroller 游戏.为了渲染环境,我想使用顶点缓冲区对象.在家里,一切正常,但在大学我收到类似的错误消息: Java 运行时环境检测到一个致命错误:EXCEPTION_ACCESS_VIOLATION (0xc0000005) 在 pc=0x651e3435,pid=964,tid=2988JRE 版本:Java(TM) SE 运行时环境 (7.0_5 ..
发布时间:2021-06-12 20:10:36 Java开发

OpenGL - 对象转换和 VBO

所以我编写了一个程序,它使用顶点缓冲区对象渲染网格,并让我四处移动相机.我现在想让物体独立于相机/视图移动. 但是,我不确定如何在空间中移动我的网格.谷歌搜索往往会找到消息来源,要么告诉我使用 glRotatef() 等旋转对象,要么使用 glRotatef() 及其兄弟姐妹是一个坏主意,因为它们已被弃用.也许我没有使用正确的搜索词,但我没有找到那么多似乎是一个好的起点.我看到对矩阵数学的模 ..
发布时间:2021-06-12 20:08:27 C/C++开发