다음을 통해 공유


D3DHAL_DP2INDEXEDLINELIST 구조체(d3dhal.h)

D3DHAL_DP2INDEXEDLINELIST D3DHAL_DP2COMMAND 구조체의 bCommand 멤버가 D3DDP2OP_INDEXEDLINELIST 설정된 경우 D3dDrawPrimitives2 콜백에 의해 명령 버퍼에서 구문 분석되며 꼭짓점 인덱스를 사용하여 줄을 렌더링하는 데 사용됩니다.

구문

typedef struct _D3DHAL_DP2INDEXEDLINELIST {
  WORD wV1;
  WORD wV2;
} D3DHAL_DP2INDEXEDLINELIST, *LPD3DHAL_DP2INDEXEDLINELIST;

멤버

wV1

줄의 첫 번째 엔드포인트를 식별하는 꼭짓점 버퍼에 대한 인덱스를 지정합니다.

wV2

꼭짓점 버퍼에 대한 인덱스를 지정하여 줄의 두 번째 엔드포인트를 식별합니다.

설명

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

드라이버는 꼭짓점 버퍼에서 총(wPrimitiveCount * 2) 꼭짓점을 처리해야 합니다( 줄당 두 개의 꼭짓점). 렌더링된 선의 시퀀스는 (wV1, wV2), (wV1, wV2), ..., (wV1n,wV2n), 여기서 n은 같음(wPrimitiveCount- 1)입니다. 드라이버는 다음과 같이 현재 명령을 기반으로 꼭짓점 버퍼 인덱스를 해석해야 합니다.

  • 명령이 D3DDP2OP_INDEXEDLINELIST 경우 꼭짓점 버퍼 인덱스는 D3DHAL_DRAWPRIMITIVES2DATA 구조체의 dwVertexOffset 멤버에 지정된 꼭짓점 버퍼 오프셋을 기준으로 합니다 .
  • 명령이 D3DDP2OP_INDEXEDLINELIST2 경우 D3DHAL_DP2STARTVERTEX 구조체가 바로 뒤를 따라 명령 버퍼의 D3DHAL_DP2INDEXEDLINELIST 구조 앞에 섰습니다. 꼭짓점 버퍼 인덱스는 dwVertexOffset 에 지정된 꼭짓점 버퍼 오프셋과 D3DHAL_DP2STARTVERTEX 구조체의 wVStart 멤버에서 가져온 기본 오프셋을 기준으로 합니다.
다음 그림에서는 D3DDP2OP_INDEXEDLINELIST 명령과 두 개의 D3DHAL_DP2INDEXEDLINELIST 구조체를 포함하는 샘플 명령 버퍼의 일부를 보여줍니다. 드라이버는 꼭짓점 버퍼(v[0], v[4]), (v[5], v[6]) 네 개의 꼭짓점을 사용하여 두 줄을 그려야 합니다. D3DDP2OP_INDEXEDLINELIST 명령과 두 개의 D3DHAL_DP2INDEXEDLINELIST 구조가 있는 명령 버퍼를 보여 주는 그림 마찬가지로 다음 그림에서는 D3DDP2OP_INDEXEDLINELIST2 명령, D3DHAL_DP2STARTVERTEX 오프셋 및 두 개의 D3DHAL_DP2INDEXEDLINELIST 구조를 포함하는 샘플 명령 버퍼의 일부를 보여줍니다. 드라이버는 꼭짓점 버퍼에서 4개의 꼭짓점을 처리하여 (v[3], v[7]), (v[8], v[9])로 정의된 두 줄을 렌더링해야 합니다. D3DDP2OP_INDEXEDLINELIST2 명령, D3DHAL_DP2STARTVERTEX 오프셋 및 두 개의 D3DHAL_DP2INDEXEDLINELIST 구조체가 있는 명령 버퍼를 보여 주는 그림

요구 사항

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

추가 정보

D3DDP2OP_INDEXEDLINELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2