3

インデックスバッファのサブセットのみをレンダリングするときに、バッファの残りの部分に初期化されていない頂点のインデックスが含まれている場合、Instrumentsの「OpenGLESAnalyzer」は「初期化されていないバッファデータ」警告を報告するようです。

無視しても大丈夫ですか?それを取り除く方法はありますか?それは本当の問題を隠すことができますか?

4

1 に答える 1

1

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); 
于 2013-04-19T10:14:52.827 に答える