04 투영과 viewport 변환 - sangji university3d.sangji.ac.kr/home/lectures/cg/04.pdf · 2019. 3....
TRANSCRIPT
-
투영과 Viewport 변환
01 좌표 변환 Pipeline
02 정사 투영
03 원근 투영
04 Z-Buffer Algorithm
05 Viewport 변환
04
-
좌표 변환 Pipeline 01
OpenGL의 좌표 변환 Pipeline
2
-
좌표 변환 Pipeline 01
MCS/LCS와 WCS의 관계
3
-
좌표 변환 Pipeline 01
VCS(View Coordinate System
4
-
좌표 변환 Pipeline 01
GL_MODELVIEW Matrix
5
-
좌표 변환 Pipeline 01
NDCS(Normalized Device Coordinate Syste
6
-
정사 투영 02
정사 투영의 3가지 종류
7
-
정사 투영 02
glOrtho 함수에 대한 구조
8
-
정사 투영 02
사람의 눈에 대한 두 개 시야의 각(Angle)
9
-
정사 투영 02
glOrtho 함수에 대한 Prototype
10
-
정사 투영 02
glOrtho Matrix로 표현하는 정사 투영
11
-
원근 투영 03
소실점의 개수에 따른 원근 투영 방법
12 (B) Two-Point Projection
(A) One-Point Projection
(C) Three-Point Projection
-
원근 투영 03
소실점의 개수에 따른 예시 – One Point
13
-
원근 투영 03
소실점의 개수에 따른 예시 – Two Point
14
-
원근 투영 03
소실점의 개수에 따른 예시 – Three Point
15
-
원근 투영 03
glFrustum 함수의 구조
16
-
원근 투영 03
glFrustum 함수에 대한 Prototype
17
-
원근 투영 03
glFrustum Matrix로 표현하는 원근 투영
18
-
원근 투영 03
gluPerspective 함수의 구조
19
-
원근 투영 03
gluPerspective 함수에 대한 Prototype
20
-
원근 투영 03
gluPerspective Matrix로 표현하는 원근 투영
21
-
원근 투영 03
정사 투영과 원근 투영의 구현 결과
22
A) 정사 투영(glOrtho) (B) 원근 투영(glFrustum) (C) 원근 투영(gluPerspective)
코드 4-4
-
Z-Buffer Algorithm 04
Z-Buffer에 대한 이해
23
-
Z-Buffer Algorithm 04
Z-Buffer의 핵심 소스
24
-
Z-Buffer Algorithm 04
은면 제거 및 후면 제거의 효과 비교
25
(a) 후면 제거 및 은면 제거 모두 적용 안 한 상태
(b) 후면 제거만 적용한 상태 glEnable(GL_CULL_FACE); glFrontFace(GL_CW); glCullFace(GL_BACK); //glEnable(GL_DEPTH_TEST);
코드 4-6
-
Z-Buffer Algorithm 04
은면 제거 및 후면 제거의 효과 비교
26
(c) 은면 제거만 적용한 상태 //glEnable(GL_CULL_FACE); glFrontFace(GL_CW); //glCullFace(GL_BACK); glEnable(GL_DEPTH_TEST);
(d) 후면 제거 및 은면 제거 모두 적용한 상태 glEnable(GL_CULL_FACE); glFrontFace(GL_CW); glCullFace(GL_BACK); glEnable(GL_DEPTH_TEST);
-
Z-Buffer Algorithm 04
glFrontFace 함수에 대한 Prototype
27
glCullFace 함수에 대한 Prototype
-
Viewport 변환 05
Viewport와 View Window
28
-
Viewport 변환 05
GLUT 좌표계에서 Window의 위치 및 크기(Position & Size)
29
-
Viewport 변환 05
glutInitWindowPosition 함수의 Prototype
30
glutInitWindowSize 함수의 Prototype
-
Viewport 변환 05
GL 좌표계에서의 Viewport
31
-
Viewport 변환 05
glViewport 함수에 대한 Prototype
32
-
Viewport 변환 05
glViewport Matrix로 표현하는 Viewport
33
-
Viewport 변환 05
하나의 Window에 4개의 Viewport를 생성
34
코드 4-8
-
Viewport 변환 05
Window 변형에 따른 객체의 왜곡 현상
35
-
Viewport 변환 05
Window 변형에 따른 객체의 왜곡 현상 방지
36
-
Viewport 변환 05
Window 변형에 따른 객체의 왜곡 현상 방지
37