D3DHAL_DP2CLEAR 구조체(d3dhal.h)

D3DHAL_DP2CLEAR 드라이버가 렌더링 대상, 깊이 버퍼 또는 스텐실 버퍼에서 하드웨어 지원 지우기를 수행하는 데 필요한 모든 정보를 포함합니다.

구문

typedef struct _D3DHAL_DP2CLEAR {
  DWORD    dwFlags;
  DWORD    dwFillColor;
  D3DVALUE dvFillDepth;
  DWORD    dwFillStencil;
  RECT     Rects[1];
} D3DHAL_DP2CLEAR;

멤버

dwFlags

드라이버에서 지워야 하는 버퍼를 지정합니다. 이 멤버는 다음 값 중 비트 OR일 수 있습니다.

의미
D3DCLEAR_TARGET 드라이버는 컨텍스트의 렌더링 대상을 dwFillColor 멤버가 지정한 색으로 지워야 합니다.
D3DCLEAR_STENCIL 드라이버는 컨텍스트의 스텐실 버퍼를 dwFillStencil 멤버가 지정한 값으로 지워야 합니다.
D3DCLEAR_ZBUFFER 드라이버는 컨텍스트의 깊이 버퍼를 dwFillDepth 멤버가 지정한 깊이로 지워야 합니다.
D3DCLEAR_COMPUTERECTS DirectX 8.0 이상 버전만 해당합니다.
이 플래그를 설정하면 지정된 사각형이 현재 뷰포트에 대해 잘려야 합니다. 또한 D3DCLEAR_COMPUTERECTS 지정할 때 지울 사각형 수는 0일 수 있습니다(지울 사각형 수는 clear에 대한 D3DHAL_DP2COMMAND 구조체의 wStateCount/wPrimtiveCount 공용 구조체에서 찾을 수 있음). 이 경우 전체 뷰포트를 지워야 합니다.

dwFillColor

드라이버가 컨텍스트의 렌더링 대상을 지워야 하는 색을 지정합니다.

dvFillDepth

드라이버가 컨텍스트의 깊이 버퍼에서 깊이를 설정하는 데 사용해야 하는 값을 지정합니다. 이 멤버는 간격 0.0에서 1.0까지의 값일 수 있습니다. 드라이버는 깊이 버퍼의 DDPIXELFORMAT 구조체의 dwZBitMask 멤버를 사용하여 이 값을 정수로 변환해야 합니다.

dwFillStencil

드라이버가 컨텍스트의 스텐실 버퍼를 지워야 하는 값을 지정합니다. 이 멤버는 간격 0에서 2-1까지의 정수일 수 있습니다. 여기서 n 은 스텐실 버퍼의 비트 수입니다.

Rects[1]

드라이버가 지워야 하는 버퍼의 사각형 영역을 지정합니다. 사각형은 화면 좌표로 지정됩니다. 구조체의 이 멤버는 Blitted할 첫 번째 사각형 영역을 포함합니다. D3DHAL_DP2COMMANDwStateCount 멤버에는 Blitted할 총 사각형 영역 수가 포함됩니다. 필요한 다른 (wStateCount-1) RECT 구조체는 패딩 없이 D3DHAL_DP2CLEAR 구조를 따릅니다.

설명

이 구조체는 D3DDP2OP_CLEAR 명령 토큰과 함께 레거시 D3dClear 및 D3dClear2 콜백 을 대체하는 데 사용됩니다.

사각형 수가 0이면 D3DHAL_DP2CLEAR 데이터 구조에는 여전히 단일 RECT에 대한 공간이 포함됩니다. 따라서 다음 DP2 명령으로 넘어가는 경우 이 단일 RECT의 크기를 포함해야 합니다. 그러나 이 경우 RECT의 콘텐츠는 정의되지 않으며 드라이버가 읽는 것을 시도해서는 안 됩니다.

표시 드라이버는 ARGB 및 YUV 색 형식 클래스의 입력 색 값을 변환해야 합니다. 명확한 작업의 경우 입력 색 값은 dwFillColor 멤버에 지정됩니다. 자세한 내용은 픽셀 형식에 대한 색 값 처리를 참조하세요.

요구 사항

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

추가 정보

D3DDP2OP_CLEAR

D3DHAL_DP2COMMAND

DDPIXELFORMAT