Compartilhar via


Método ID2D1Factory::CreateDxgiSurfaceRenderTarget(IDXGISurface*,constD2D1_RENDER_TARGET_PROPERTIES&,ID2D1RenderTarget**) (d2d1.h)

Cria um destino de renderização que se desenha em uma superfície DXGI (Infraestrutura Gráfica) do DirectX.

Sintaxe

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

Parâmetros

[in] dxgiSurface

Tipo: IDXGISurface*

O IDXGISurface para o qual o destino de renderização será desenhado.

[ref] renderTargetProperties

Tipo: const D2D1_RENDER_TARGET_PROPERTIES &

O modo de renderização, o formato de pixel, as opções de comunicação remota, as informações de DPI e o suporte mínimo do DirectX necessário para a renderização de hardware. Para obter informações sobre formatos de pixel com suporte, consulte Formatos de pixel com suporte e modos alfa.

[out] renderTarget

Tipo: ID2D1RenderTarget**

Quando esse método retorna, contém o endereço do ponteiro para o objeto ID2D1RenderTarget criado por esse método.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT .

Comentários

Para gravar em uma superfície Direct3D, você obtém um IDXGISurface e passa-o para o método CreateDxgiSurfaceRenderTarget para criar um destino de renderização de superfície DXGI; Em seguida, você pode usar o destino de renderização de superfície DXGI para desenhar conteúdo 2D para a superfície DXGI.

Um destino de renderização de superfície DXGI é um tipo de ID2D1RenderTarget. Como outros Direct2D renderizar destinos, você pode usá-lo para criar recursos e emitir comandos de desenho.

O destino de renderização da superfície DXGI e a superfície DXGI devem usar o mesmo formato DXGI. Se você especificar o formato DXGI_FORMAT_UNKOWN ao criar o destino de renderização, ele usará automaticamente o formato da superfície.

O destino de renderização de superfície DXGI não executa a sincronização de superfície DXGI.

Para obter mais informações sobre como criar e usar destinos de renderização de superfície DXGI, consulte a Visão geral de interoperabilidade do Direct2D e direct3D.

Para trabalhar com Direct2D, o dispositivo Direct3D que fornece o IDXGISurface deve ser criado com o sinalizador D3D10_CREATE_DEVICE_BGRA_SUPPORT.

Quando você cria um destino de renderização e a aceleração de hardware está disponível, você aloca recursos na GPU do computador. Ao criar um destino de renderização uma vez e mantê-lo o maior tempo possível, você obtém benefícios de desempenho. Seu aplicativo deve criar destinos de renderização uma vez e mantê-los durante a vida útil do aplicativo ou até que o método EndDraw do destino de renderização retorne o erro D2DERR_RECREATE_TARGET . Ao receber esse erro, você precisa recriar o destino de renderização (e todos os recursos que ele criou).

Exemplos

Consulte o exemplo de código em ID2D1Factory::CreateDxgiSurfaceRenderTarget.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d2d1.h
Biblioteca D2d1.lib
DLL D2d1.dll

Confira também

CreateDxgiSurfaceRenderTarget(IDXGISurface,const D2D1_RENDER_TARGET_PROPERTIES,ID2D1RenderTarget)

Visão geral de interoperabilidade entre Direct2D e Direct3D

ID2D1Factory