Метод 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 ее тип multisample должен совпадать с типом целевого объекта отрисовки, заданного IDirect3Device9::SetRenderTarget.
[in] MultisampleQuality
Тип: DWORD
Уровень качества. Допустимый диапазон от нуля до одного меньше, чем уровень, возвращаемый pQualityLevels, используемый IDirect3D9::CheckDeviceMultiSampleType. Передача большего значения возвращает D3DERR_INVALIDCALL ошибки. Значения MultisampleQuality для парных целевых объектов отрисовки, поверхностей трафарета глубины и типа MultiSample должны совпадать.
[in] Discard
Тип: BOOL
Установите для этого флага значение TRUE , чтобы включить отмену z-буфера, в противном случае — FALSE . Если этот флаг установлен, содержимое буфера трафарета глубины будет недопустимым после вызова IDirect3DDevice9::P resent или IDirect3DDevice9::SetDepthStencilSurface с другой поверхностью глубины.
Поведение этого флага совпадает с поведением константы D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL в D3DPRESENTFLAG.
[out, retval] ppSurface
Тип: IDirect3DSurface9**
Адрес указателя на интерфейс IDirect3DSurface9 , представляющий созданный ресурс поверхности трафарета глубины.
[in] pSharedHandle
Тип: HANDLE*
Зарезервировано. Задайте для этого параметра значение NULL. Этот параметр можно использовать в Direct3D 9 для Windows Vista для совместного использования ресурсов.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается ошибкой, возвращаемое значение может быть одним из следующих: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.
Комментарии
Класс памяти буфера трафарета глубины всегда D3DPOOL_DEFAULT.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |