2014-01-12 4 views
0

glScalef (-1.0, 1.0, 1.0)을 사용하여 내 OpenGL 이미지 축을 뒤집습니다. 그러나 이것은 객체와 색상의 렌더링을 완전히 망칩니다. 내가 x와 y에 플립 경우glScalef로 OpenGL에서 색상 렌더링 고정하기

glEnable(GL_NORMALIZE); 
glEnable (GL_DEPTH_TEST) ; 
glEnable(GL_COLOR_MATERIAL); 
glCullFace(GL_BACK); 

-glScalef (-1.0, -1.0, 1.0) 후 색상이 좋은,하지만 난 두 차원 플립 싶지 않은 : 나는 아무 소용이 다음과 같은 작업을 시도했습니다. x 및 z 뒤집기는 색상을 수정하지 않습니다. 아이디어가 있으십니까?

답변

1

이렇게하면 좌표 공간의 양도가 변경되었습니다. 삼각형을 래스터화할 때가되면 효과적으로 감기 방향이 바뀌므로 앞이 뒤가됩니다.

래스터 라이저가 다각형의 앞면/뒷면을 어떻게 결정하는지 알아야합니다. 그것은 정점의 투영 된 위치를 사용하고 권선 방향을 테스트합니다. 당신은 1 축을 포스트 투영 된 좌표계에서 뒤집 으면서 손을 바꿉니다 (더 공식적으로는 chirality). 이것은 거울 이미지를 생성하고 꼭지점의 권선은 거꾸로됩니다.

이 문제는 glFrontFace (GL_CW)으로 해결할 수 있습니다. 또는 단순히 손으로 다른 방법으로 정점을 감을 수 있습니다.