D3DHAL_DP2INDEXEDTRIANGLEFAN 구조체(d3dhal.h)

D3DHAL_DP2INDEXEDTRIANGLEFAN D3DHAL_DP2COMMAND 구조체의 bCommand 멤버가 D3DDP2OP_INDEXEDTRIANGLEFAN 설정되고 꼭짓점 인덱스를 사용하여 연결된 삼각형 시퀀스를 렌더링하는 데 사용되는 경우 D3dDrawPrimitives2 콜백에 의해 명령 버퍼에서 구문 분석됩니다. 모든 삼각형은 공통 꼭짓점을 공유합니다.

구문

typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
  WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLEFAN, *LPD3DHAL_DP2INDEXEDTRIANGLEFAN;

멤버

wV[3]

드라이버가 삼각형 팬을 구성하는 꼭짓점의 좌표 데이터를 가져오는 꼭짓점 버퍼에 대한 인덱스를 지정합니다.

이 멤버에는 3개의 인덱스를 포함할 수 있는 충분한 공간이 있지만 이 인덱스 배열은 (wPrimitiveCount + 2) 요소를 사용하여 변수 크기의 배열로 처리되어야 합니다. (wPrimitiveCount 는 D3DHAL_DP2COMMAND 구조체의 멤버입니다.)

설명

D3dDrawPrimitives2 는 명령 버퍼에서 (wPrimitiveCount+2) 인덱스를 처리해야 하며, 실제로 wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLEFAN 구조체를 처리해야 합니다. wPrimitiveCount 값은 D3DHAL_DP2COMMAND 구조체에 지정됩니다.

드라이버는 꼭짓점 버퍼에서 총(wPrimitiveCount + 2) 꼭짓점( 삼각형당 세 개의 꼭짓점)을 처리해야 합니다. 렌더링되는 삼각형 시퀀스는 다음과 같습니다(wV[1], wV[2], wV[0]), (wV[2], wV[3], wV[0]), (wV[3], wV[4], wV[0]), ..., (wV[wPrimitiveCount], wV[wPrimitiveCount]+1], wV[0]). 모든 삼각형에는 wV[0]에 공통으로 지정된 꼭짓점이 있습니다.

D3DHAL_DP2STARTVERTEX 구조체는 명령 버퍼의 명령을 바로 따릅니다. 꼭짓점 버퍼 인덱스는 D3DHAL_DRAWPRIMITIVES2DATA 구조체의 dwVertexOffset 멤버에 지정된 꼭짓점 버퍼 오프셋과 D3DHAL_DP2STARTVERTEX 구조체의 wVStart 멤버에서 가져온 기본 오프셋을 기준으로 합니다.

다음 그림에서는 D3DDP2OP_INDEXEDTRIANGLEFAN 명령, D3DHAL_DP2STARTVERTEX 오프셋 및 D3DHAL_DP2INDEXEDTRIANGLEFAN 구조의 논리적 목록을 포함하는 샘플 명령 버퍼의 일부를 보여 줍니다. 드라이버는 꼭짓점 버퍼에서 5개의 꼭짓점을 처리하여 (v[4], v[5], v[7]), (v[5], v[6], v[7]), (v[6], v[9], v[7])로 정의된 세 개의 삼각형으로 팬을 렌더링해야 합니다.

D3DDP2OP_INDEXEDTRIANGLEFAN 명령, D3DHAL_DP2STARTVERTEX 오프셋 및 D3DHAL_DP2INDEXEDTRIANGLEFAN 구조 목록이 있는 버퍼를 보여 주는 그림

요구 사항

요구 사항
헤더 d3dhal.h(D3dhal.h 포함)

추가 정보

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2