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

다중 샘플링 버퍼 형식을 설명하는 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

추가 정보

IDirect3DDevice9

IDirect3DDevice9::UpdateSurface