2012.11.23 14:43
오늘부터는 opengl 강좌도 공부도 하면서 포스트 할까 합니다.

opencv도 같이 하려니까 여간 힘든게 아니네요.

강좌를 시작하려니 고민 이였습니다. 과연 렌더링 파이프라인을 먼저 포스트해야하나

클리핑과 뷰포트부터 알려 드려야 하나..

결론은 제가 궁금한거 부터 올리겠습니다.

 

우선 클링핑과 뷰포트를 알고자 한다면 2차원 직교 좌표계를 알아야 한다고 합니다.

2차원 직교 좌표계는 우리가 흔히 알고 있는 좌표계과 같습니다.

 

 

이제 클리핑에 대해서 알아 볼까요?

클리핑이란 화면에 임의의 객첵를 그리기 위해 사용될 좌표를 opengl에 알려주는 과정이라고 합니다.

이때 사용되는 것이 바로 직교 좌표영역입니다.

클리핑 좌표는 주로 좌측하단을 (0,0)으로 사용하는 경우와 화면 중앙을 (0,0)으로 사용하지만

윈도우을 경우는 좌측상단부터 (0,0)의 값을 가지므로 opengl에서는 좌표계를 뒤집에 주어야 합니다.

 

다음으로 뷰포트에 대해서 알아보겠습니다.

뷰포트는 논리적 직교 좌표를 물리적인 화면 필셀 좌표로 변환하는 과정이라고 합니다.

다시 정의하면 "창의 클라이언트 영역 내에 클리핑 영역을 그리는데 사용되는 영역" 이라고 합니다.

주로 강좌에 많이 등장하는 그림을 아래 첨부합니다.

 

 

 위 그림은 opengl 논리 직교 좌표의 (0,0)~(150,100) 클리핑 공간을 물리적인 화면픽셀 300*200으로 설정하여 뷰포트를 300*200영역으로 설정한 것입니다. 클리핑 공간의 4배로 출력이 된것이라 볼수 있겠죠?(맞나?ㅋㅋ)

 

위 그림은 클리핑 공간을 물리적영역인 클라이언트 영역의 일부영역만을 지정한것입니다.

크리핑 공간과 1:1로 표현이 될것으로 보입니다.

 

저도 어디까지나 배우는 입장이므로 의견이 있으시면 언제든지 덧글 남기세요.

 

Posted by 현지앓이