0

我对 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 对象中使用的纹理的亮度。有没有简单的方法来实现这一点?我已经搜索了几个小时的文档,但找不到解决方案。

谢谢你的帮助。

4

0 回答 0