승쨩개발공부
[SR] #1. Rendering PipeLine 본문
랜더링 파이프라인이란?
DirectX9을 이용한 3D Game 프로그램 입문에서는
"3D 세계에 대한 기하학적 표현과 이 세계를 바라보는 관점을 정의하는 가상 카메라를 이용해 2D 이미지를 만들어내는 역활을 담당한다." 라고 설명한다.
간단히 설명하자면, 추상적인 공간에 정의된 오브젝트들을 가상의 카메라에 담아 모니터에 출력하는 과정이다.
1. 로컬 스페이스
-> 오브젝트 하나의 좌표계, 기본적으로 물체의 중심을 말함.
-> 외부영향이 없는 상태로 상대적 크기 등이 없다.
2. 월드 스페이스
-> 로컬스페이스에 있는 모델들을 크기, 회전, 이동 행렬을 곱해주어 월드스페이스로 옮겨진다.
3. 뷰 스페이스
-> 카메라를 기준으로 하는 좌표계 설정
-> 월드스페이스에 있는 모든 오브젝트들을 카메라 기준으로 변환해준다.
4. 후면 추려내기
-> 폴리곤의 후면이라 불리는 보여지지 않는 면을 처리
5. 조명
-> 폴리곤에 빛을 비춰서 반사되는 빛과 명암 색상을 만드는 작업
6. 클리핑
-> 시야 내 없다면 보이지 않아야 할 폴리곤들이 있는데
-> 이러한 폴리곤들을 랜더링 하지 않아 연산량을 줄일 수 있음
-> 타일 컬링 같은 것
7. 투영
-> 3D를 모니터로 옮기기전에 2D화면으로 만드는 작업
-> 투영행렬 이용
8. 뷰포트
-> 각 이미지들을 모니터에 표시할 수 있는 크기로 다시 변환하는 작업
-> 화면의 해상도등을 정할 수 있음
9. 래스터라이즈
-> 스크린 좌표로 버텍스들을 변환하고 2D 삼각형들이 그려지게 된다.
-> 반드시 그래픽 하드웨어를 통해서 처리 되어야 한다.
'SR' 카테고리의 다른 글
[SR] 랜더링 기본 단위 (0) | 2022.06.07 |
---|---|
[SR] 버퍼(Buffer) (0) | 2022.05.24 |
[SR] Graphic_Device (0) | 2021.12.23 |
[SR] Time / GameInstance (0) | 2021.12.22 |
[SR] 프레임워크2 (DLL 파일 피싱) (0) | 2021.12.10 |