glMatrixMode(GLenum mode)
GL_MODELVIEW, GL_PROJECTION ,GL_TEXTURE 의 세가지 모드가 있음
GL_MODELVIEW
특정 좌표 (0,0,0)에 도형을 그린다면 GL_MODELVIEW 매트릭스를 곱해서 실제적인 위치 지정.
GL_MODELVIEW 의 매트릭스가 변경이 되어 있다면은 전혀 다른 죄표에 그려지게 되어 있음.
glTranslatef, glScalef, glRotatef 등을 통해 물체의 위치를 변환 또는 제어함 이를 모델링 변환(modeling transformation) 라고 함
모델뷰 행렬이란 좌표계 변환을 통해 물체의 위치와 방향을 결정하기 위한 4x4 행렬각 버텍스들은 하나의 열로 구성된 행렬로 만들어 져서 모델뷰 행렬과 곱해짐
GL_PROJECTION
위의 GL_MODELVIEW 에서 그려진 도형에 대한 실제 위치라고 하면
즉 GL_PROJECTION 에 있는 매트릭스를 곱해서 최종적으로 어떻게 화면에 뿌릴 것인가를 계산하는
부분임.
직교 투영 : (orthographic transformation)평면 투영으로 원근감이 전혀 없는 상태
glOrthof(x최소,x최대,y최소,y최대, near,far) 등을 통해서 설정함
원근 투영 :
gluPerspectivef(시야각 , 종횡비(뷰포트 또는 창의 너비/높이), 앞면의 z ,뒷면의 z)
주의
1. 아래는 각각 프로젝션 행렬을 단위 행렬로 그리고 모델뷰 행렬을 단위 행렬로 초기화 하는 것으로
서로 영향을 끼치지 않음
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
참고:
http://cafe.naver.com/multism.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=3145
OpenGL super bible 3판
[출처] GL_MODELVIEW, GL_PROJECTION 뷰 관련 정리 |작성자 belfe7
'만들기 / Programming > 그래픽,영상처리 OpenGL /OpenCV' 카테고리의 다른 글
[추려내기] 면 숨기기를 통한 성능 향상 OpenGL (0) | 2009.09.22 |
---|---|
GL_CULL_FACE / GL_DEPTH_TEST (0) | 2009.09.22 |
Lesson 2: Transformations and Timers (0) | 2009.09.09 |
Lesson 1: Basic Shapes (0) | 2009.09.09 |
OpenGL 설치법 (0) | 2009.09.07 |