1. 모델 표현

 장면(Scene)은 물체나 모델의 모음이다. 물체는 삼각형 메쉬의 묘사로 이루어지는데, 메쉬의 삼각형은 우리가 모델링하는 물체의 기본적인 구성 성분이 되며, 우리는 메쉬 삼각형을 참조하는 용어로 다각형(polygon), 기본형(primitive), 그리고 메쉬 기하물체를 상호 교환적으로 이용한다. 다각형에서 두개의 변이 만나는 지점을 버텍스(vertex)라 한다. 

세개의 버텍스로 정의된 하나의 삼각형

 -1 버텍스(vertex) 포맷

 Direct3D에서 버텍스는 수학적 정의 외에도 부가적인 특성으로 이루어진다. 하나의 버텍스는 법선 특성 외에도 색상 특성을 가질수 있다. 즉, Direct3D는 버텍스 포멧을 구성할 수 있는 유연성을 제공한다.

 -2 삼각형(Triangle)

 삼각형은 3D 물체의 기본 구성 요소로서, 물체를 구성하기 위해서는 물체의 모양과 외형을 묘사하는 삼각형 리스트를 만들어야 한다. 삼각형 리스트는 우리가 그리고자하는 각각의 삼각형에 대한 데이터를 포함하는데, 예를 들어, 사각형을 만들기 위해서는 두 개의 삼각형으로 나누고 각각의 삼각형을 구성하는 버텍스를 지정해야한다.

 -3 인덱스(Index)

 3D 물체를 구성하는 삼각형들은 동일한 버텍스들을 공유하는 경우가 많다. 모델의 복잡성과 세밀함이 증가할수록 중복되는 버텍스의 수 역시 증가한다. 이를 해결하기 위해 인덱스 개념을 이용하는데, 먼저 버텍스 리스트와 인덱스 리스트를 구성하고, 버텍스 리스트는 모든 버텍스들을 모함하며, 인덱스 리스트는 삼각형을 구성하기 위한 버텍스리스트로의 인덱스 값을 포함한다.

 

2. 가상 카메라

 카메라(Camera)는 관찰자가 볼 수 있는 세계의 부분을 지정하는 것으로, 2D 이미지를 생성하기 위해 세계의 어떤 부분이 필요한지를 결정하며, 세계 내에 위치하며 보여질 공간의 부피를 정의한다. 이 공간의 부피를 절두체(Frustum)이라 한다.

 절두체는 시야각과 가까운 평면, 먼 평면에 의해 정의된다.

절두체(Frustum)

 이 공간에 포함되지 않는 물체들은 보여지지 않으며 이후 처리에서 제외되어야 한다. 이와 같은 데이터의 제외 처리를 클리핑(Clipping)이라 부른다.

'DirectX9' 카테고리의 다른 글

렌더링 파이프라인  (0) 2021.06.02
Direct3D 기초  (0) 2021.06.02
VS2017에서 DirectX9 SDK 세팅하기  (0) 2021.06.02
평면(Plane)  (0) 2021.06.02
행렬의 변환  (0) 2021.05.31

+ Recent posts