複数の頂点バッファからの描画がOpenGL ES 2.0でサポートされているかどうかに関する情報はありません(つまり、位置データ用に1つの頂点バッファを使用します。このページhttp://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.htmlとリスティング9.4は、特にあなたができるはずのことを意味しますが、自分のプログラムで動作させることができません。OpenGL ES 2.0、複数の頂点バッファを使用した描画
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);
このドローコールは、(OpenGLはランダムな三角形を描画したり、以前にレンダリングされたフレームを提示)、ストールやシミュレータ上でEXC_BAD_ACCESSでクラッシュし、デバイス上で非常に奇妙な行動を与えます。問題のある描画呼び出しのためのコード。 OpenGL呼び出しはエラーを返すことはなく、私は頂点バッファを広範に検査し、正しいサイズとデータを持っていると確信しています。
誰もが複数の頂点バッファを使ってレンダリングに成功していますが、なぜこれが機能しないのかの経験を共有できますか?どのようなエラーコードも返さないストール/失敗したドローコールのデバッグを開始する場所に関する情報は非常に高く評価されます。