DirectX 렌더링 파이프라인의 이해
- 최초 등록일
- 2019.05.15
- 최종 저작일
- 2018.07
- 8페이지/ 한컴오피스
- 가격 3,000원
목차
1. 렌더링 파이프라인이란?
2. 필수 선행지식-A : 모델 표현
3. 필수 선행지식-B : 버텍스 포맷(Vertex Format)
4. 필수 선행지식-C : 삼각형(Triangle)
5. 필수 선행지식-D : 인덱스(Index)
6. 필수 선행지식-E : 가상 카메라(Virtual Camera)
7. 1단계 : 로컬 스페이스(Local space)
8. 2단계 : 월드 스페이스(World space)
9. 3단계 : 뷰 스페이스(View space)
10. 4단계 : 후면 추려내기(Backface Culling)
11. 5단계 : 조명(Lighting)
12. 6단계 : 클리핑(Clipping)
13. 7단계 : 투영(Projection)
14. 8단계 : 뷰포트(Viewport) 변환
15. 9단계 : 래스터라이즈
본문내용
◼ 렌더링 파이프라인이란?
→ 3D 세계에 대한 기하학적 표현과 이 세계를 바라보는 관점을 정의하는 가상 카메라를 이용해 2D 이미지를 만들어내는 역할
(가상의 3D 세계에 존재하는 물체를 카메라가“보는”것을 기반으로 2D 이미지로 추출하는 과정)
◼ 필수 선행지식-A : 모델 표현
→ Direct3D 게임 개발에서 장면(Scene)은 물체나 모델의 모음을 의미한다.
→ 물체는 삼각형 메쉬의 묘사로 이루어지는데, 메쉬의 삼각형은 물체의 기본적인 구성 성분이 된다.
→ 다각형에서 두 개의 변이 만나는 지점을 버텍스(꼭지점)라 한다.
하나의 삼각형을 만들기 위해서는 삼각형의 세 버텍스에 해당하는 세 개의 위치를 지정해야 한다.
(이 삼각형을 지정하여 물체를 묘사한다.)
[DirectX에서는 점과 선에 대한 기본형도 지원하지만 주로 사용되는 자료형은 “D3DPT_TRIANGLELIST”이다.]
◼ 필수 선행지식-B : 버텍스 포맷(Vertex Format)
→ 위와 같이 DirectX에서는 모든 물체를 버텍스로 표현하지만, 기본 버텍스 자료형을 제공하지 않는다.
(그 이유는, 앞서 설명한 버텍스의 정의는 수학적으로는 문제가 없지만, Direct3D에서 이용하는 개념으로는 다소 불완전하다. 그 이유는 Direct3D 내의 버텍스가 공간적 위치 이외의 부가적인 특성으로 이루어져 있기 때문이다. 예를 들어, 하나의 버텍스는 위치 이외에도 색상, 텍스쳐 좌표 등을 가질 수 있다)
→ 따라서 Direct3D는 우리 자신의 버텍스 포맷을 구성할 수 있는 유연성을 제공한다.
(다른 말로 하면 버텍스의 속성을 개발자가 정의할 수 있도록 해준다. = 커스텀 버텍스)
→ 커스텀 버텍스 포맷을 만들기 위한 방법은 아래와 같다.
1) 우리가 선택한 버텍스 데이터를 포함할 구조체를 만든다.
2) 유연한 버텍스 포맷(FVF: Flexible Vertex Format) 플래그 조합을 이용해 버텍스가 포매팅되는 방법을 지정해야 한다. * 일반적으로 먼저 만든 버텍스 구조체의 특성에 맞게끔 포맷한다.
참고 자료
없음