ios – opengl es VBO用法 – 没有几何渲染

ios – opengl es VBO用法 – 没有几何渲染,第1张

概述我正在尝试为我的渲染代码设置VBO以获得更多的fps.它适用于顶点位置,颜色和纹理坐标的单独VBO,但在转换为交错顶点数据后,没有几何渲染. 这是我的设置功能: const GLsizeiptr data_size = NUMBER_OF_CUBE_VERTICES * 9 *sizeof(float);// allocate a new bufferglGenBuffers(1, &cube 我正在尝试为我的渲染代码设置VBO以获得更多的fps.它适用于顶点位置,颜色和纹理坐标的单独VBO,但在转换为交错顶点数据后,没有几何渲染.
这是我的设置功能:

const GLsizeiptr data_size = NUMBER_OF_CUBE_VERTICES * 9 *sizeof(float);// allocate a new bufferglGenBuffers(1,&cubeVBO);glBindBuffer(GL_ARRAY_BUFFER,cubeVBO);glBufferData(GL_ARRAY_BUFFER,data_size,data,GL_STATIC_DRAW);float* ptr = (float*)data;glVertexAttribPointer(ATTRIB_VERTEX,3,GL_float,GL_FALSE,sizeof(struct Vertex),(ptr + 0));glEnabLevertexAttribarray(ATTRIB_VERTEX);glVertexAttribPointer(ATTRIB_color,4,(ptr + 3));glEnabLevertexAttribarray(ATTRIB_color);glVertexAttribPointer(ATTRIB_TEXCOORD0,2,(ptr + 7));glEnabLevertexAttribarray(ATTRIB_TEXCOORD0);glGenBuffers(1,&cubeIBO);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,cubeIBO);glBufferData(GL_ELEMENT_ARRAY_BUFFER,NUMBER_OF_CUBE_INDICES*sizeof(glubyte),s_cubeIndices,GL_STATIC_DRAW);

数据数组如下所示:

static float data[] ={//  position  //   // color // //UV//-1.0,+1.0,255,-1.0,};

这是我的渲染代码:

glClearcolor(0.5f,0.5f,1.0f);glClear(GL_color_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glBindBuffer(GL_ARRAY_BUFFER,cubeVBO);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,cubeIBO);glDrawElements(GL_TRIANGLE_STRIP,NUMBER_OF_CUBE_INDICES,GL_UNSIGNED_BYTE,s_cubeIndices);

此外,我尝试使用没有索引缓冲区的DrawArrays函数,但结果是相同的 – 没有渲染几何.
我的程序运行时,输出窗口中还有GLError 1282.
感谢你对我的问题有任何帮助.

解决方法 当您使用缓冲区对象时,glVertexAttribPointer的最后一个参数应该偏移到您需要的数据.例如,您的ATTRIB_VERTEX数组将从偏移量0开始,ATTRIB_color数组偏移量为sizeof(float)* 3(因为位置需要三个浮点数)等等…

当您不使用缓冲区对象,而是使用顶点数组时,您必须通过调用将当前绑定的缓冲区对象解除绑定到GL_ARRAY_BUFFER目标

glBindBuffer(GL_ARRAY_BUFFER,0);
总结

以上是内存溢出为你收集整理的ios – opengl es VBO用法 – 没有几何渲染全部内容,希望文章能够帮你解决ios – opengl es VBO用法 – 没有几何渲染所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存