OpenGLカラーマトリックス変換はどのように機能しますか?OpenGLカラーマトリックス
三角形を描画するサンプルプログラムを修正し、三角形の色を変更できるかどうかを確認するために色行列コードを追加しましたが、動作しないようです。
static float theta = 0.0f;
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
glClearDepth(1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(theta, 0.0f, 0.0f, 1.0f);
glMatrixMode(GL_COLOR);
GLfloat rgbconversion[16] =
{
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f
};
glLoadMatrixf(rgbconversion);
glMatrixMode(GL_MODELVIEW);
glBegin(GL_TRIANGLES);
glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(0.0f, 1.0f , 0.5f);
glColor3f(0.0f, 1.0f, 0.0f); glVertex3f(0.87f, -0.5f, 0.5f);
glColor3f(0.0f, 0.0f, 1.0f); glVertex3f(-0.87f, -0.5f, 0.5f);
glEnd();
glPopMatrix();
は、私の知る限り、私はロードだカラーマトリックスは黒に三角形を変更する必要があり、動作するようには思えません。私は行方不明のものがありますか?
....非常に遅いのです実は、三角形がまだあります元の赤、緑、青で描かれているので、カラーマトリックスがアルファ成分に影響しているとは思わない。 –
アルファ成分は透明度が有効になっている場合にのみ最終的な画像に影響を与えます。 – AndyG
私はglEnable(GL_BLEND)を追加しました。それでも絵には影響しません。まだ赤/緑/青の三角です。カラーマトリックスは効果がないようです。 –