OpenGL ES で要素をレンダリングしていますが、色は同じですが、アルファが異なります。問題は、アルファが .1 の場合、不透明度だけでなく色も変わることです。たとえば、アルファ コンポーネントの値を 0.1 に設定すると、色が黒から紫に変わります。アルファ値が .1 でない場合、またはその他の 10 分の 1 の値である場合、正常に機能します。
描画する前にこのブレンドを設定しています:
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
描く:
// if the element has any data, then draw it
if(vertexBuffer){
glVertexPointer(2, GL_FLOAT, sizeof(struct Vertex), &vertexBuffer[0].Position[0]);
glColorPointer(4, GL_FLOAT, sizeof(struct Vertex), &vertexBuffer[0].Color[0]);
glTexCoordPointer(2, GL_FLOAT, sizeof(struct Vertex), &vertexBuffer[0].Texture[0]);
glDrawArrays(GL_TRIANGLES, 0, [element numberOfSteps] * [element numberOfVerticesPerStep]);
}