Поделиться через


Метод IDirect3DDevice9Ex::CreateRenderTargetEx (d3d9.h)

Создает поверхность целевого объекта отрисовки.

Синтаксис

HRESULT CreateRenderTargetEx(
  [in]          UINT                Width,
  [in]          UINT                Height,
  [in]          D3DFORMAT           Format,
  [in]          D3DMULTISAMPLE_TYPE MultiSample,
  [in]          DWORD               MultisampleQuality,
  [in]          BOOL                Lockable,
  [out, retval] IDirect3DSurface9   **ppSurface,
  [in]          HANDLE              *pSharedHandle,
  [in]          DWORD               Usage
);

Параметры

[in] Width

Тип: UINT

Ширина поверхности целевого объекта отрисовки в пикселях.

[in] Height

Тип: UINT

Высота целевой поверхности отрисовки в пикселях.

[in] Format

Тип: D3DFORMAT

Член D3DFORMAT перечислимого типа, описывающий формат целевого объекта отрисовки.

[in] MultiSample

Тип: D3DMULTISAMPLE_TYPE

Член перечисленного типа D3DMULTISAMPLE_TYPE , который описывает тип буфера с несколькими выборками. Этот параметр указывает тип сглаживания для этого целевого объекта отрисовки. При передаче этой поверхности в IDirect3DDevice9::SetRenderTarget ее тип multisample должен совпадать с типом трафарета глубины, заданного IDirect3DDevice9::SetDepthStencilSurface.

[in] MultisampleQuality

Тип: DWORD

Уровень качества. Допустимый диапазон от нуля до одного меньше, чем уровень, возвращаемый pQualityLevels, используемый IDirect3D9::CheckDeviceMultiSampleType. Передача большего значения возвращает ошибку D3DERR_INVALIDCALL. Значения MultisampleQuality для парных целевых объектов отрисовки, поверхностей трафарета глубины и типа multisample должны совпадать.

[in] Lockable

Тип: BOOL

Целевые объекты отрисовки не блокируются, если приложение не указывает значение TRUE для параметра Lockable.

Обратите внимание, что блокируемые целевые объекты отрисовки снижают производительность на некоторых графических оборудованиях. Производительность обратного чтения (перемещение данных из видеопамяти в системную) зависит от типа используемого оборудования (AGP и PCI Express) и обычно гораздо ниже, чем скорость передачи (перемещение данных из системной памяти в видеопамяти). Если вам нужен доступ на чтение для целевых объектов отрисовки, используйте GetRenderTargetData вместо блокируемых целевых объектов отрисовки.

[out, retval] ppSurface

Тип: IDirect3DSurface9**

Адрес указателя на интерфейс IDirect3DSurface9 .

[in] pSharedHandle

Тип: HANDLE*

Зарезервировано. Задайте для этого параметра значение NULL. Этот параметр можно использовать в Direct3D 9 для Windows Vista для совместного использования ресурсов.

[in] Usage

Тип: DWORD

Сочетание одной или нескольких констант D3DUSAGE , которые могут быть вместе с ИЛИ. Значение 0 указывает на отсутствие использования.

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается ошибкой, возвращаемое значение может быть одним из следующих: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.

Комментарии

Целевые поверхности отрисовки помещаются в класс памяти D3DPOOL_DEFAULT.

Создание блокируемых целевых объектов отрисовки с несколькими выборками не поддерживается.

Требования

Требование Значение
Целевая платформа Windows
Header d3d9.h
Библиотека D3D9.lib

См. также раздел

IDirect3DDevice9Ex