Я новичок в opengl, и я не могу понять, как вы измените альфа/непрозрачность на текстуру, загруженную GLKTextureLoader.Изменение канала альфа/непрозрачности на текстуре с помощью GLKit
Сейчас я просто рисую текстуру с помощью следующего кода.
self.texture.effect.texture2d0.enabled = YES;
self.texture.effect.texture2d0.name = self.texture.textureInfo.name;
self.texture.effect.transform.modelviewMatrix = [self modelMatrix];
[self.texture.effect prepareToDraw];
glEnableVertexAttribArray(GLKVertexAttribPosition);
glEnableVertexAttribArray(GLKVertexAttribTexCoord0);
NKTexturedQuad _quad = self.texture.quad;
long offset = (long)&_quad;
glVertexAttribPointer(GLKVertexAttribPosition,
2,
GL_FLOAT,
GL_FALSE,
sizeof(NKTexturedVertex),
(void *)(offset + offsetof(NKTexturedVertex, geometryVertex)));
glVertexAttribPointer(GLKVertexAttribTexCoord0,
2,
GL_FLOAT, GL_FALSE,
sizeof(NKTexturedVertex),
(void *)(offset + offsetof(NKTexturedVertex, textureVertex)));
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
Любые советы будут очень полезны :)
Итак, вы хотите умножить/модулировать каждую пиксельную альфу некоторой константой? Быстрый взгляд на спецификации GLKit говорит мне, что с GLKit это может быть невозможно, вам понадобится (довольно простой) пользовательский шейдер. Если это то, что вам нужно, я должен быть в состоянии помочь. –