2

我想渲染许多具有相同效果的对象。

所以我改变了变换属性并调用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