複数の頂点バッファからの描画がopengles2.0でサポートされているかどうかについて多くの情報を見つけることができません(つまり、1つの頂点バッファを位置データに使用し、別の頂点バッファを法線、色などに使用します)。このページ http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.htmlおよびリスト9.4は、特にできるはずですが、私はそれを取得できません私のプログラムに取り組んでください。問題のあるドローコールのコード:
glBindBuffer(GL_ARRAY_BUFFER, mPositionBuffer->openglID);
glVertexAttribPointer(0, 4, GL_FLOAT, 0, 16, NULL);
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, mTexCoordBuffer->openglID);
glVertexAttribPointer(1, 2, GL_FLOAT, 0, 76, NULL);
glEnableVertexAttribArray(1);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer->openglID);
glDrawElements(GL_TRIANGLES, 10788, GL_UNSIGNED_SHORT, NULL);
この描画呼び出しは、シミュレーターのEXC_BAD_ACCESSで停止またはクラッシュし、デバイスで非常に奇妙な動作をします(openglはランダムな三角形を描画するか、以前にレンダリングされたフレームを表示します)。opengl呼び出しでエラーが返されることはありません。頂点バッファを広範囲に検査し、正しいサイズとデータがあると確信しています。
誰かが複数の頂点バッファを使用して正常にレンダリングし、これが機能しない理由についての経験を共有できますか?エラーコードを返さない、停止した/失敗した描画呼び出しのデバッグを開始する場所に関する情報をいただければ幸いです。