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


МЕТОД ID2D1Factory::CreateDxgiSurfaceRenderTarget(IDXGISurface*,constD2D1_RENDER_TARGET_PROPERTIES&,ID2D1RenderTarget**) (d2d1.h)

Создает целевой объект отрисовки, который обращается к поверхности Инфраструктуры графики DirectX (DXGI).

Синтаксис

HRESULT CreateDxgiSurfaceRenderTarget(
  [in]  IDXGISurface                          *dxgiSurface,
  [ref] const D2D1_RENDER_TARGET_PROPERTIES & renderTargetProperties,
  [out] ID2D1RenderTarget                     **renderTarget
);

Параметры

[in] dxgiSurface

Тип: IDXGISurface*

Объект IDXGISurface, к которому будет нарисован целевой объект отрисовки.

[ref] renderTargetProperties

Тип: const D2D1_RENDER_TARGET_PROPERTIES &

Режим отрисовки, формат пикселей, параметры удаленного взаимодействия, сведения о DPI и минимальная поддержка DirectX, необходимая для аппаратной отрисовки. Сведения о поддерживаемых форматах пикселей см. в разделе Поддерживаемые форматы пикселей и альфа-режимы.

[out] renderTarget

Тип: ID2D1RenderTarget**

При возврате этого метода содержит адрес указателя на объект ID2D1RenderTarget , созданный этим методом.

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

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Для записи в поверхность Direct3D необходимо получить IDXGISurface и передать его методу CreateDxgiSurfaceRenderTarget, чтобы создать целевой объект отрисовки поверхности DXGI. Затем можно использовать целевой объект отрисовки поверхности DXGI для рисования двухсерийного содержимого на поверхность DXGI.

Целевой объект отрисовки поверхности DXGI — это тип ID2D1RenderTarget. Как и другие целевые объекты отрисовки Direct2D, его можно использовать для создания ресурсов и выполнения команд рисования.

Целевой объект отрисовки поверхности DXGI и поверхность DXGI должны использовать один и тот же формат DXGI. Если при создании целевого объекта отрисовки указать формат DXGI_FORMAT_UNKOWN , он будет автоматически использовать формат поверхности.

Целевой объект отрисовки поверхности DXGI не выполняет синхронизацию поверхности DXGI.

Дополнительные сведения о создании и использовании целевых объектов визуализации поверхности DXGI см. в статье Общие сведения о взаимодействии Direct2D и Direct3D.

Для работы с Direct2D необходимо создать устройство Direct3D, предоставляющее IDXGISurface , с флагом D3D10_CREATE_DEVICE_BGRA_SUPPORT .

Когда вы создаете целевой объект отрисовки и доступно аппаратное ускорение, вы выделяете ресурсы на GPU компьютера. Создавая целевой объект отрисовки один раз и сохраняя его как можно дольше, вы получаете преимущества производительности. Приложение должно создать целевые объекты отрисовки один раз и удерживать их на протяжении всего времени существования приложения или до тех пор, пока метод EndDraw целевого объекта отрисовки не вернет ошибку D2DERR_RECREATE_TARGET . При возникновении этой ошибки необходимо повторно создать целевой объект отрисовки (и все созданные им ресурсы).

Примеры

См. пример кода в id2D1Factory::CreateDxgiSurfaceRenderTarget.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header d2d1.h
Библиотека D2d1.lib
DLL D2d1.dll

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

CreateDxgiSurfaceRenderTarget(IDXGISurface,const D2D1_RENDER_TARGET_PROPERTIES,ID2D1RenderTarget)

Общие сведения о взаимодействии Direct2D и Direct3D

ID2D1Factory