다음을 통해 공유


PFND3DDDI_CLEAR 콜백 함수(d3dumddi.h)

Clear 함수는 렌더링 대상, 깊이 버퍼 또는 스텐실 버퍼에서 하드웨어 지원 지우기를 수행합니다.

구문

PFND3DDDI_CLEAR Pfnd3dddiClear;

HRESULT Pfnd3dddiClear(
  [in] HANDLE hDevice,
       const D3DDDIARG_CLEAR *unnamedParam2,
       UINT unnamedParam3,
       const RECT *unnamedParam4
)
{...}

매개 변수

[in] hDevice

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

pData [in]

하드웨어 지원 지우기 작업의 매개 변수를 설명하는 D3DDDIARG_CLEAR 구조체에 대한 포인터입니다.

unnamedParam3

NumRect [in]

지울 pRect의 배열에 있는 사각형 수입니다. 사각형 수가 0으로 설정된 경우 Clear 는 전체 렌더링 대상, 깊이 버퍼 및 스텐실 버퍼를 지워야 합니다. 이 경우 pRect 의 배열 내용이 정의되지 않으며 드라이버가 읽어도 안 됩니다.

unnamedParam4

pRect [in]

드라이버가 지워야 하는 버퍼의 사각형 영역을 나타내는 RECT 구조체의 배열입니다.

반환 값

Clear 는 하드웨어 지원 지우기 작업이 성공적으로 수행되지 않은 경우 S_OK 반환하거나 적절한 오류 결과를 반환합니다.

설명

드라이버가 명확한 작업을 수행하는 방법은 NumRect 매개 변수에 지정된 사각형 영역의 수와 D3DDDIARG_CLEARFlags 멤버에 설정된 값에 따라 달라집니다. D3DCLEAR_TARGET, D3DCLEAR_STENCIL 및 D3DCLEAR_ZBUFFER 값( D3d8types.h에 정의됨)은 지울 버퍼 유형을 나타냅니다. D3DCLEAR_COMPUTERECTS 값( D3dhal.h에 정의됨)은 버퍼를 지우는 방법을 나타냅니다. 다음 설정은 드라이버가 지정된 버퍼 유형을 지우는 방법을 나타냅니다.

  • NumRect가 0(NumRect== 0)으로 설정되어 있고 플래그에서 D3DCLEAR_COMPUTERECTS 설정되지 않은 경우 드라이버는 0픽셀(즉, no-op)을 지웁니다.
  • NumRect가 0으로 설정되고 플래그에서 D3DCLEAR_COMPUTERECTS 설정된 경우 드라이버는 전체 뷰포트(전체 표면이 아님)를 지웁니다.
  • NumRect가 0보다 큰 값(NumRect!= 0)으로 설정되고 플래그에서 D3DCLEAR_COMPUTERECTS 설정된 경우 드라이버는 pRect가 현재 뷰포트에 대해 지정하는 사각형 영역을 잘라냅니다.
가위 테스트는 드라이버가 명확한 작업을 수행하는 방식에도 영향을 줍니다. 애플리케이션은 IDirect3DDevice9::SetRenderState 메서드를 호출하여 가위 테스트를 사용하도록 설정하여 D3DRS_SCISSORTESTENABLE 렌더링 상태를 설정합니다. 가위 테스트에 대한 자세한 내용은 가위 테스트를 참조하세요. D3DRS_SCISSORTESTENABLE 렌더링 상태가 설정되고 D3DCLEAR_COMPUTERECTS 플래그가 설정된 경우 드라이버는 pRect 가 지정하는 사각형 영역을 가위 사각형 영역으로 클리핑해야 합니다.

NumRect가 0보다 큰 값(NumRect> 0)으로 설정되고 플래그에서 D3DCLEAR_COMPUTERECTS 설정된 경우 드라이버는 지정된 사각형 영역을 현재 뷰포트로, 애플리케이션이 이전에 D3DRS_SCISSORTESTENABLE 설정한 경우 가위 사각형으로 클립합니다. NumRect> 0 및 D3DCLEAR_COMPUTERECTS 설정되지 않은 경우 드라이버는 Direct3D 런타임이 지정된 사각형 영역을 현재 뷰포트로 이미 잘렸고 애플리케이션이 이전에 D3DRS_SCISSORTESTENABLE 설정한 경우 가위 사각형으로 잘렸는지 확인합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 d3dumddi.h(D3dumddi.h 포함)

추가 정보

D3DDDIARG_CLEAR

D3DDDI_DEVICEFUNCS

RECT