GLKBaseEffect prepareToDraw性能

时间:2012-02-25 16:59:33

标签: opengl-es-2.0 glkit

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

所以我改变了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代替。

提前感谢任何提示......

0 个答案:

没有答案