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)을 추가했습니다. 그러나 그것은 여전히 그림에 영향을주지 않습니다. 여전히 빨간색/녹색/파란색 삼각형입니다. 컬러 매트릭스가 효과가없는 것으로 보입니다. –