D3DHAL_DP2INDEXEDTRIANGLESTRIP 구조체(d3dhal.h)
D3DHAL_DP2COMMAND 구조체의 bCommand 멤버가 D3DDP2OP_INDEXEDTRIANGLESTRIP 설정되고 꼭짓점 인덱스를 사용하여 연결된 삼각형 스트립을 렌더링하는 데 사용되는 경우 하나 이상의 D3DHAL_DP2INDEXEDTRIANGLESTRIP 구조가 D3dDrawPrimitives2 콜백에 의해 명령 버퍼에서 구문 분석됩니다.
구문
typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLESTRIP, *LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
멤버
wV[3]
삼각형 스트립의 첫 번째 꼭짓점의 좌표 데이터를 포함하는 꼭짓점 버퍼의 인덱스를 지정합니다.
이 멤버에는 3개의 인덱스를 포함할 수 있는 충분한 공간이 있지만 이 인덱스 배열은 (wPrimitiveCount + 2) 요소를 사용하여 변수 크기의 배열로 처리되어야 합니다. (wPrimitiveCount 는 D3DHAL_DP2COMMAND 구조체의 멤버입니다.)
설명
D3dDrawPrimitives2 는 명령 버퍼에서 (wPrimitiveCount+2) 인덱스를 처리해야 하며, 실제로 wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLESTRIP 구조체를 처리해야 합니다.
삼각형 스트립의 삼각형 가장자리는 다음 순서로 렌더링됩니다. (wV[0], wV[1], wV[2]), (wV[1], wV[3], wV[2]), (wV[2], wV[3], wV[4]), (wV[3], wV[5], wV[4]),...
그러나 삼각형 스트립의 마지막 삼각형의 경우 wPrimitiveCountt가 홀수이고 짝수일 때 가장자리가 서로 다른 순서로 렌더링됩니다.
- wPrimitiveCount가 홀수이면 마지막 삼각형의 가장자리가 다음 순서로 렌더링됩니다(wV[wPrimitiveCount - 1], wV[wPrimitiveCount], wV[wPrimitiveCount+ 1]).
- wPrimitiveCount가 짝수이면 마지막 삼각형의 가장자리가 다음 순서로 렌더링됩니다( wV[wPrimitiveCount- 1], wV[wPrimitiveCount+1], wV[wPrimitiveCount).
다음 그림에서는 D3DDP2OP_INDEXEDTRIANGLESTRIP 명령, 0의 D3DHAL_DP2STARTVERTEX 오프셋 및 D3DHAL_DP2INDEXEDTRIANGLESTRIP 구조체의 논리적 목록을 포함하는 샘플 명령 버퍼의 일부를 보여 줍니다. 드라이버는 꼭짓점 버퍼에서 5개의 꼭짓점을 처리하여 (v[1], v[3], v[6]), (v[3], v[4], v[6]), (v[6], v[4], v[5])로 정의된 세 개의 삼각형 스트립을 렌더링해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | d3dhal.h(D3dhal.h 포함) |
추가 정보
D3DDP2OP_INDEXEDTRIANGLESTRIP