다음을 통해 공유


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