Método IDirect3DDevice9::CreateRenderTarget (d3d9helper.h)

Cria uma superfície de destino de renderização.

Sintaxe

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
);

Parâmetros

[in] Width

Tipo: UINT

Largura da superfície de destino de renderização, em pixels.

[in] Height

Tipo: UINT

Altura da superfície de destino de renderização, em pixels.

[in] Format

Tipo: D3DFORMAT

Membro do tipo enumerado D3DFORMAT , descrevendo o formato do destino de renderização.

[in] MultiSample

Tipo: D3DMULTISAMPLE_TYPE

Membro do D3DMULTISAMPLE_TYPE tipo enumerado, que descreve o tipo de buffer multisampling. Esse parâmetro especifica o tipo de suavização para esse destino de renderização. Quando essa superfície é passada para IDirect3DDevice9::SetRenderTarget, seu tipo multisampla deve ser o mesmo do estêncil de profundidade definido por IDirect3DDevice9::SetDepthStencilSurface.

[in] MultisampleQuality

Tipo: DWORD

Nível de qualidade. O intervalo válido é entre zero e um a menos do que o nível retornado por pQualityLevels usado por IDirect3D9::CheckDeviceMultiSampleType. Passar um valor maior retorna o erro D3DERR_INVALIDCALL. Os valores MultisampleQuality de destinos de renderização emparelhados, superfícies de estêncil de profundidade e o tipo multisampla devem corresponder a todos.

[in] Lockable

Tipo: BOOL

Os destinos de renderização não são bloqueáveis, a menos que o aplicativo especifique TRUE para Lockable.

Observe que os destinos de renderização bloqueáveis reduzem o desempenho em alguns hardwares gráficos. O desempenho de readback (mover dados da memória de vídeo para a memória do sistema) depende do tipo de hardware usado (AGP vs. PCI Express) e geralmente é muito menor do que o desempenho de upload (movendo dados do sistema para a memória de vídeo). Se você precisar de acesso de leitura para renderizar destinos, use GetRenderTargetData em vez de destinos de renderização bloqueáveis.

[out, retval] ppSurface

Tipo: IDirect3DSurface9**

Endereço de um ponteiro para uma interface IDirect3DSurface9 .

[in] pSharedHandle

Tipo: HANDLE*

Reservado. Defina esse parâmetro como NULL. Esse parâmetro pode ser usado no Direct3D 9 para o Windows Vista compartilhar recursos.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser um dos seguintes: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY E_OUTOFMEMORY.

Comentários

As superfícies de destino de renderização são colocadas na classe de memória D3DPOOL_DEFAULT.

Não há suporte para a criação de destinos de renderização com multiplataforma que podem ser bloqueados.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

IDirect3DDevice9