Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

승쨩개발공부

[SR] #1. Rendering PipeLine 본문

SR

[SR] #1. Rendering PipeLine

Unknowns 2021. 12. 23. 21:37

랜더링 파이프라인이란?

DirectX9을 이용한 3D Game 프로그램 입문에서는

"3D 세계에 대한 기하학적 표현과 이 세계를 바라보는 관점을 정의하는 가상 카메라를 이용해 2D 이미지를 만들어내는 역활을 담당한다." 라고 설명한다.

 

간단히 설명하자면, 추상적인 공간에 정의된 오브젝트들을 가상의 카메라에 담아 모니터에 출력하는 과정이다.

'DirectX 고정기능' 랜더링 파이프라인 순서

 

 

1. 로컬 스페이스

-> 오브젝트 하나의 좌표계, 기본적으로 물체의 중심을 말함.

-> 외부영향이 없는 상태로 상대적 크기 등이 없다.

로컬스페이스 단계의 모델

 

 

 

2. 월드 스페이스

-> 로컬스페이스에 있는 모델들을 크기, 회전, 이동 행렬을 곱해주어 월드스페이스로 옮겨진다.

하나의 장면으로 구성된 로컬 스페이스의 모델들 (월드 공간)

 

 

3. 뷰 스페이스

-> 카메라를 기준으로 하는 좌표계 설정

-> 월드스페이스에 있는 모든 오브젝트들을 카메라 기준으로 변환해준다.

뷰 스페이스 변환과정

 

 

4. 후면 추려내기

-> 폴리곤의 후면이라 불리는 보여지지 않는 면을 처리

후면 추려내기 전(좌측)과 후(우측)

 

5. 조명

-> 폴리곤에 빛을 비춰서 반사되는 빛과 명암 색상을 만드는 작업

 

 

 

 

6. 클리핑

-> 시야 내 없다면 보이지 않아야 할 폴리곤들이 있는데

-> 이러한 폴리곤들을 랜더링 하지 않아 연산량을 줄일 수 있음

-> 타일 컬링 같은 것

 

 

7. 투영

-> 3D를 모니터로 옮기기전에 2D화면으로 만드는 작업

-> 투영행렬 이용

 

원근 투영의 과정

 

 

8. 뷰포트

-> 각 이미지들을 모니터에 표시할 수 있는 크기로 다시 변환하는 작업

-> 화면의 해상도등을 정할 수 있음

 

 

 

9. 래스터라이즈

-> 스크린 좌표로 버텍스들을 변환하고 2D 삼각형들이 그려지게 된다.

-> 반드시 그래픽 하드웨어를 통해서 처리 되어야 한다.

레스터 라이즈 단계 연산 결과 (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