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가 현재 뷰포트에 대해 지정하는 사각형 영역을 잘라냅니다.
NumRect가 0보다 큰 값(NumRect> 0)으로 설정되고 플래그에서 D3DCLEAR_COMPUTERECTS 설정된 경우 드라이버는 지정된 사각형 영역을 현재 뷰포트로, 애플리케이션이 이전에 D3DRS_SCISSORTESTENABLE 설정한 경우 가위 사각형으로 클립합니다. NumRect> 0 및 D3DCLEAR_COMPUTERECTS 설정되지 않은 경우 드라이버는 Direct3D 런타임이 지정된 사각형 영역을 현재 뷰포트로 이미 잘렸고 애플리케이션이 이전에 D3DRS_SCISSORTESTENABLE 설정한 경우 가위 사각형으로 잘렸는지 확인합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | d3dumddi.h(D3dumddi.h 포함) |