-
Rendering Pipeline그래픽스 2021. 11. 15. 14:25
3D Polygon Rendering
3D Polygon을 랜더링을 하기 위해서, 화살표를 따라서, 쭉 읽어서 읽히는 쪽을 2D로 보야준다.
3D -> 2D로 바꾼것이다.
3D Rendering Pipeline
Transformation은 하나의 좌표계(coordinate system)가 다른 한 point로 이동하는 것이다.
이중에서 Viewing Transformation과 Projection Transformation을 합쳐서, Viewing Transofrmations이라고 한다. 이 부분이 중요하다.
Viewing Transformation
카메라 좌표가 실세계로 mapping되는 것이다.
- 눈 -> origin
- Right vecter -> X
- Up -> Y
- Back -> Z
Camera Coordinates
좌표계는 주로 오른손 좌표를 사용한다.
viewing transformation을 찾는 방법
실세계에서 카메라로 object를 움직인 T를 찾아야 한다.
방법은 T의 역순을 찾으면 찾을 수 있다.
카메라 좌표계를 실세계로 map한다.
T의 역순을 얻을 수 있는 쉬운 방법이다.
Projection
높은 차원에서 낮은 차원으로 가는 것이다.
3D -> 2D이다.
Parallel Projection
눈을 COP(Center Of Projection)라고 한다
DOP (평행 투사)
Orthogonal Projections 직교
Oblique Projections 비스듬한
수직이 아닌 DOP를 보는 방법이다.
- Cavalier projection
- 프로젝터와 조망면 사이의 각도가 45도일 때
- 세 개의 주 축 모두에 대한 전방 단축 비율이 동일하다.
- 프로젝터와 조망면 사이의 각도가 45도일 때
- Cabinet projection
- 투영면에 수직인 가장자리의 단축비(각도 63.43도)
Parallel Projection View Volume
Parallel Projection Matrix(해렬)
직교하는 cos, sin 값이 0이 된다.
Perspective Projection (원근)
점들을 COP에서 나오는 projectors를 따라 view plane에 매핑
얼마나 많은 소실점이 있는 가?
Perspective Projection View Volume
유사한 삼각형이 있는 3D 좌표에서 2D 좌표 계산
Perspective Projection Matrix
4 X 4 행렬 표현
Perspective vs. Parallel
- Perspective
- 정확한 측정에 적합합니다.
- 평행선은 평행하게 유지된다
- 각도가 (일반적으로) 보존되지 않다
- 덜 사실적인 모습
- Parallel
- 크기는 거리에 따라 반비례합니다
- 사실적으로 보입니다.
- 거리와 각도가 (일반적으로) 보존되지 않음
- 평행선이 평행하게 유지되지 않음(일반적으로는)
Taxonomy 분류법
3D Rendering Pipeline
Clippiing
Window 안의 그림만을 그리는 것이다. Window 밖의 부분은 짜른다.
- 점
- 선
- 다각형
- 원
등 다양하게 Clipping을 할 수 있다.
점
선
Cohen Sutherland Line Clipping
완전이 안
부분적으로 있는 것인가
완전히 밖인가
3개의 경우를 가지고, 선을 짤를 수 있다.
'0000'을 가지고 9가지의 영역을 나눈다.
두 end점의 위치의 영역의 값을 AND 연산을 한다.
1)두 점 모두 0000인 경우 -> Inside2)두 점 AND 연산 0이 아닌 경우 -> Outside3)두 점 AND 연산 0인 경우 -> partially Inside다각형 Clipping
선과 비슷하게 나눌 수 있다.
앞에서 나온 선을 나누는 방법을 이용한다.
순서대로 각 점에 대해 내부 테스트를 수행하고,
- 둘 다 안에 있다. -> 모두 표현
- 부분 만 안에 있다. -> 경계선과 두 점을 잇는 선을 점을 기준으로 밖의 부분을 짜른다.
- 둘 다 밖에 있다. -> 표현하지 않는다.
Viewport Transformation
Screen에서 Viewport(pixel)로 변환한다.화면에 보여줄 준비를 하는 것이다.
'그래픽스' 카테고리의 다른 글
Shading (0) 2021.11.29 illumination 조명 (0) 2021.11.17 3D Object - Curve & Surface (0) 2021.11.08 3D Object (0) 2021.11.01 3D 렌더링 (0) 2021.10.25