D3DHAL_DP2TRIANGLESTRIP 구조체(d3dhal.h)

D3DHAL_DP2COMMAND 구조체의 bCommand 멤버가 D3DDP2OP_TRIANGLESTRIP 설정된 경우 D3dDrawPrimitives2 콜백을 통해 명령 버퍼에서 하나의 D3DHAL_DP2TRIANGLESTRIP 구조가 구문 분석되고 지정된 연결된 삼각형 스트립을 렌더링하는 데 사용됩니다.

구문

typedef struct _D3DHAL_DP2TRIANGLESTRIP {
  WORD wVStart;
} D3DHAL_DP2TRIANGLESTRIP, *LPD3DHAL_DP2TRIANGLESTRIP;

멤버

wVStart

삼각형 스트립의 초기 꼭짓점의 좌표 데이터를 포함하는 꼭짓점 버퍼에 대한 인덱스를 지정합니다.

설명

하나의 D3DHAL_DP2TRIANGLESTRIP 구조체는 명령 버퍼의 D3DHAL_DP2COMMAND 구조를 따릅니다.

D3dDrawPrimitives2 는 꼭짓점 버퍼에서 총(wPrimitiveCount + 2) 꼭짓점을 처리해야 합니다. wPrimitiveCount 값은 D3DHAL_DP2COMMAND 구조체에 지정됩니다.

삼각형 스트립의 삼각형 가장자리는 다음 순서로 렌더링됩니다. (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_TRIANGLESTRIP 명령과 하나의 D3DHAL_DP2TRIANGLESTRIP 구조를 포함하는 샘플 명령 버퍼의 일부를 보여줍니다. 드라이버는 꼭짓점 버퍼에서 5개의 꼭짓점을 처리하여 (v[0], v[1], v[2]), (v[1], v[3], v[2]), (v[2], v[3], v[4])로 정의된 세 개의 삼각형 스트립을 렌더링해야 합니다. D3DDP2OP_TRIANGLESTRIP 명령과 하나의 D3DHAL_DP2TRIANGLESTRIP 구조가 있는 명령 버퍼를 보여 주는 그림

요구 사항

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

추가 정보

D3DDP2OP_TRIANGLESTRIP

D3DHAL_DP2COMMAND

D3dDrawPrimitives2