2

同じ効果で多くのオブジェクトをレンダリングしたい。

したがって、transform プロパティを変更し、preparetodraw を呼び出します。

GLKMatrix4 baseModelViewMatrix = GLKMatrix4MakeTranslation(0.0f, position, -1.0f);
self.effect.transform.modelviewMatrix = baseModelViewMatrix;
[self.effect prepareToDraw];
glDrawElements(GL_TRIANGLES, sizeof(SquareIndices)/sizeof(SquareIndices[0]), GL_UNSIGNED_BYTE, 0);

baseModelViewMatrix = GLKMatrix4MakeTranslation(0.0f, position+2.0f, -1.0f);
self.effect.transform.modelviewMatrix = baseModelViewMatrix;
[self.effect prepareToDraw];
glDrawElements(GL_TRIANGLES, sizeof(SquareIndices)/sizeof(SquareIndices[0]), GL_UNSIGNED_BYTE, 0);

これは効率的ですか、それともより良いアプローチがありますか? これにより、余分な glUseProgram 呼び出しなどが発生しますか?

ビルドした古いシェーダー マネージャー クラスがありますが、代わりに glkit を使用したいと考えていました。

ヒントをお寄せいただきありがとうございます...

4

0 に答える 0