삼각형 목록
삼각형 목록은 격리된 삼각형 목록입니다. 그들은 서로 가까이 있을 수도 있고 그렇지 않을 수도 있습니다. 삼각형 목록에는 3개 이상의 꼭짓점이 있어야 하며 총 꼭짓점 수는 3개로 나눌 수 있어야 합니다.
삼각형 목록을 사용하여 분리된 조각으로 구성된 개체를 만듭니다. 예를 들어 3D 게임에서 힘 필드 벽을 만드는 한 가지 방법은 연결되지 않은 작은 삼각형의 큰 목록을 지정하는 것입니다. 그런 다음 삼각형 목록에 빛을 내보내는 것처럼 보이는 재질과 질감을 적용합니다. 벽의 각 삼각형이 빛나고 있는 것처럼 보입니다. 플레이어가 힘 필드를 볼 때 예상할 수 있듯이 벽 뒤의 장면은 삼각형 사이의 간격을 통해 부분적으로 표시됩니다.
삼각형 목록은 날카로운 가장자리가 있고 Gouraud 음영으로 음영 처리된 기본 형식을 만드는 데에도 유용합니다. Face 및 꼭짓점 일반 벡터(Direct3D 9)참조하세요.
다음 그림에서는 렌더링된 삼각형 목록을 보여 줍니다.
렌더링된 삼각형 목록그림
다음 코드는 이 삼각형 목록에 대한 꼭짓점을 만드는 방법을 보여줍니다.
struct CUSTOMVERTEX
{
float x,y,z;
};
CUSTOMVERTEX Vertices[] =
{
{-5.0, -5.0, 0.0},
{ 0.0, 5.0, 0.0},
{ 5.0, -5.0, 0.0},
{10.0, 5.0, 0.0},
{15.0, -5.0, 0.0},
{20.0, 5.0, 0.0}
};
아래 코드 예제에서는 IDirect3DDevice9::D rawPrimitive사용하여 Direct3D 9에서 이 삼각형 목록을 렌더링하는 방법을 보여줍니다.
//
// It is assumed that d3dDevice is a valid
// pointer to a IDirect3DDevice9 interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 2 );
삼각형 스트립을 사용하여 서로 연결되지 않은 삼각형을 렌더링할 수도 있습니다. 이렇게 하려면 목록에서 퇴행성 삼각형(즉, 크기가 0인 삼각형)을 지정합니다. 이렇게 하면 렌더링하는 동안 표시되지 않는 두 삼각형 사이에 선이 생성됩니다. 예를 들어 이전 예제의 첫 번째 및 마지막 삼각형만 렌더링하려면 다음 꼭짓점을 사용하여 꼭짓점 버퍼를 초기화합니다.
CUSTOMVERTEX Vertices[] =
{
{-5.0, -5.0, 0.0},
{ 0.0, 5.0, 0.0},
{ 5.0, -5.0, 0.0},
{ 5.0, -5.0, 0.0}, // degenerate triangle
{10.0, 5.0, 0.0}, // degenerate triangle
{10.0, 5.0, 0.0},
{15.0, -5.0, 0.0},
{20.0, 5.0, 0.0}
};
관련 항목