Я пытаюсь рисовать полупрозрачные полигоны с помощью GLKit, но безуспешно. Поэтому мне было интересно, возможно ли вообще иметь полупрозрачные полигоны в GLKit, поскольку я знаю, что это не поддерживается в стандартной реализации OpenGL; но можно имитировать с помощью пользовательских шейдеров. Но поскольку GLKit компилирует свой собственный шейдер, мне нужно знать, следует ли мне продолжать использовать GLKit или использовать свой собственный шейдер. Мой код ниже:
// setup states
glEnable(GL_BLEND);
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
self.effect.texture2d0.enabled = GL_FALSE;
self.effect.colorMaterialEnabled = GL_TRUE;
self.effect.transform.modelviewMatrix = self.modelMatrix;
glEnableVertexAttribArray(GLKVertexAttribPosition);
glEnableVertexAttribArray(GLKVertexAttribColor);
[self.effect prepareToDraw];
// draw triangles
glVertexAttribPointer(GLKVertexAttribPosition, 3, GL_FLOAT, GL_FALSE, sizeof(LineVertex), &_vertices[0].pos);
glVertexAttribPointer(GLKVertexAttribColor, 4, GL_FLOAT, GL_FALSE, sizeof(LineVertex), &_vertices[0].color);
glDrawArrays(GL_TRIANGLES, 0, _vertexCount);
Заранее спасибо.