我对 OpenGL 很陌生:
在我们的(iOS)项目中,我们使用以下方法渲染纹理:
self.effect.texture2d0.name = self.textureInfo.name;
self.effect.texture2d0.enabled = YES;
self.effect.transform.modelviewMatrix = self.modelMatrix;
self.effect.useConstantColor = YES;
self.effect.constantColor = GLKVector4Make(1, 1, 1, self.alphaValue);
[self.effect prepareToDraw];
glEnableVertexAttribArray(GLKVertexAttribPosition);
glEnableVertexAttribArray(GLKVertexAttribTexCoord0);
long offset = (long)&_quad;
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(TexturedVertex), (void *) (offset + offsetof(TexturedVertex, geometryVertex)));
glVertexAttribPointer(GLKVertexAttribTexCoord0, 2, GL_FLOAT, GL_FALSE, sizeof(TexturedVertex), (void *) (offset + offsetof(TexturedVertex, textureVertex)));
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
我现在正在尝试更改 GLKBaseEffect 对象中使用的纹理的亮度。有没有简单的方法来实现这一点?我已经搜索了几个小时的文档,但找不到解决方案。
谢谢你的帮助。