当只呈现索引缓冲区的子集时,如果缓冲区的其余部分包含未初始化顶点的索引,则仪器的"OpenGL ES Analyzer“似乎会报告”未初始化缓冲区数据“警告。
忽略它安全吗?有办法摆脱它吗?它能掩盖一个真正的问题吗?
发布于 2013-04-19 10:14:52
contains indices of uninitialized vertices -> "Uninitialized Buffer Data"
忽略它安全吗?
不是的。因为您可能为子集设置了不正确的值,可能会发生非法内存访问。
有办法摆脱它吗?
是。初始化你的顶点。或者使用顶点缓冲区对象(VBO)。
它能掩盖一个真正的问题吗?
不是的。它清楚地说明了你的问题所在。
这里的片段来自我的应用程序,它只呈现一个缓冲区的子集:
glBindVertexArrayOES(_vertexArrays[currentObjectIndex]);
glUseProgram(_program);
glUniformMatrix4fv(uniforms[UNIFORM_MODELVIEWPROJECTION_MATRIX], 1, 0, _mvpMatrices[currentObjectIndex].m);
ObjectGL* object = [self.graphicsDataSource.arrayOfObjects objectAtIndex:currentObjectIndex];
// first part of buffer
glDrawArrays(GL_TRIANGLES, 0, section_object.sglSize);
// second part of buffer, accessed with offset given by second parameter
glDrawArrays(GL_LINE_LOOP, section_object.sglSize, section_object.sglSizeBounds); https://stackoverflow.com/questions/13709879
复制相似问题