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


Метод IDirect3DDevice9::CreateRenderTarget (d3d9.h)

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

Синтаксис

HRESULT CreateRenderTarget(
  [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] 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 для совместного использования ресурсов.

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

Тип: HRESULT

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

Комментарии

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

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

Требования

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

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

IDirect3DDevice9