D3DHAL_DP2TRIANGLEFAN_IMM 구조체(d3dhal.h)

D3DHAL_DP2COMMAND 구조체의 bCommand 멤버가 D3DDP2OP_TRIANGLEFAN_IMM 설정되고 삼각형 팬을 렌더링하는 데 사용되는 경우 D3dDrawPrimitives2 콜백에 의해 명령 버퍼에서 하나의 D3DHAL_DP2TRIANGLEFAN_IMM 구조가 구문 분석됩니다.

구문

typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM {
  DWORD dwEdgeFlags;
} D3DHAL_DP2TRIANGLEFAN_IMM;

멤버

dwEdgeFlags

채우기 모드가 D3DFILL_WIREFRAME 때 렌더링해야 하는 팬의 외부 가장자리를 식별하는 비트 마스크를 지정합니다. set 비트는 해당 에지를 렌더링해야 했음을 나타냅니다. 이 비트 마스크에 대한 자세한 내용은 설명 섹션을 참조하세요.

설명

하나의 D3DHAL_DP2TRIANGLEFAN_IMM 구조체는 명령 버퍼의 D3DHAL_DP2COMMAND 구조 바로 뒤에 있습니다. 삼각형 팬의 꼭짓점 데이터는 명령 버퍼의 D3DHAL_DP2TRIANGLEFAN_IMM 구조 바로 다음에 DWORD 정렬됩니다.

D3dDrawPrimitives2 는 명령 버퍼에서 총 wPrimitiveCount+2 꼭짓점, 삼각형당 3개의 꼭짓점을 처리하여 wPrimitiveCount 삼각형을 렌더링해야 합니다. 렌더링된 삼각형의 시퀀스는 (V[1], V[2], V[0]), (V[2], V[3], V[0]), (V[3], V[4], V[0]), ..., (V[wPrimitiveCount], V[wPrimitiveCount] + 1], V[0])입니다. wPrimitiveCount 값은 D3DHAL_DP2COMMAND 구조체에 지정됩니다.

드라이버는 채우기 모드가 D3DFILL_WIREFRAME 경우 각 팬의 외부 가장자리에 대한 에지 플래그를 검사 합니다. 가장 중요한 dwEdgeFlags 비트부터 비트 0은 V[0]-V[1] 에지에 적용되고, 비트 1은 V[1]-V[2] 에지에 적용되고, 비트 wPrimitiveCountV[wPrimitiveCount]V[wPrimitiveCount]-+1] 에지에 적용되고 비트(wPrimitiveCount + 1)는 V[wPrimitiveCount]+1]-V[0]에 적용됩니다. 가장자리.

다음 그림에서는 D3DDP2OP_TRIANGLEFAN_IMM 명령, D3DHAL_DP2TRIANGLEFAN_IMM 구조 및 꼭짓점 데이터를 포함하는 샘플 명령 버퍼의 일부를 보여줍니다. 드라이버는 명령 버퍼에서 5개의 꼭짓점을 처리하여 (v[1], v[2], v[0]), (v[2], v[3], v[0]), (v[3], v[4], v[0])로 정의된 세 개의 삼각형으로 팬을 렌더링해야 합니다.

D3DDP2OP_TRIANGLEFAN_IMM 명령, D3DHAL_DP2TRIANGLEFAN_IMM 구조 및 꼭짓점 데이터가 있는 명령 버퍼를 보여 주는 그림

요구 사항

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

추가 정보

D3DDP2OP_TRIANGLEFAN_IMM

D3DHAL_DP2COMMAND

D3dDrawPrimitives2