IDirect3DDevice9::CreateDepthStencilSurface 메서드(d3d9helper.h)
깊이 스텐실 리소스를 만듭니다.
구문
HRESULT CreateDepthStencilSurface(
[in] UINT Width,
[in] UINT Height,
[in] D3DFORMAT Format,
[in] D3DMULTISAMPLE_TYPE MultiSample,
[in] DWORD MultisampleQuality,
[in] BOOL Discard,
[out, retval] IDirect3DSurface9 **ppSurface,
[in] HANDLE *pSharedHandle
);
매개 변수
[in] Width
형식: UINT
깊이 스텐실 표면의 너비(픽셀)입니다.
[in] Height
형식: UINT
깊이 스텐실 표면의 높이(픽셀)입니다.
[in] Format
형식: D3DFORMAT
깊이 스텐실 표면의 형식을 설명하는 D3DFORMAT 열거형 형식의 멤버입니다. 이 값은 이 디바이스에 대해 열거된 깊이 스텐실 형식 중 하나여야 합니다.
[in] MultiSample
다중 샘플링 버퍼 형식을 설명하는 D3DMULTISAMPLE_TYPE 열거형 형식의 멤버입니다. 이 값은 허용되는 다중 샘플 형식 중 하나여야 합니다. 이 표면이 IDirect3DDevice9::SetDepthStencilSurface에 전달되면 해당 다중 샘플 형식은 IDirect3DDevice9::SetRenderTarget에서 설정한 렌더링 대상의 형식과 동일해야 합니다.
[in] MultisampleQuality
형식: DWORD
품질 수준. 유효한 범위는 IDirect3D9::CheckDeviceMultiSampleType에서 사용하는 pQualityLevels에서 반환하는 수준보다 0에서 1 사이입니다. 더 큰 값을 전달하면 오류 D3DERR_INVALIDCALL 반환됩니다. 쌍을 이루는 렌더링 대상, 깊이 스텐실 표면 및 MultiSample 형식의 MultisampleQuality 값이 모두 일치해야 합니다.
[in] Discard
형식: BOOL
z 버퍼 삭제를 사용하도록 설정하려면 이 플래그를 TRUE 로 설정하고, 그렇지 않으면 FALSE 로 설정합니다. 이 플래그를 설정하면 깊이 표면이 다른 IDirect3DDevice9::P resent 또는 IDirect3DDevice9::SetDepthStencilSurface 를 호출한 후 깊이 스텐실 버퍼의 내용이 유효하지 않습니다.
이 플래그는 D3DPRESENTFLAG 상수인 D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 동작과 동일합니다.
[out, retval] ppSurface
형식: IDirect3DSurface9**
생성된 깊이 스텐실 표면 리소스를 나타내는 IDirect3DSurface9 인터페이스에 대한 포인터의 주소입니다.
[in] pSharedHandle
형식: HANDLE*
예약되어 있습니다. 이 매개 변수를 NULL로 설정합니다. 이 매개 변수는 Windows Vista용 Direct3D 9에서 리소스를 공유하는 데 사용할 수 있습니다.
반환 값
형식: HRESULT
메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY 중 하나일 수 있습니다.
설명
깊이 스텐실 버퍼의 메모리 클래스는 항상 D3DPOOL_DEFAULT.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d9helper.h(D3D9.h 포함) |
라이브러리 | D3D9.lib |