Método IDirect3DDevice9Ex::CreateRenderTargetEx (d3d9.h)
Cria uma superfície de destino de renderização.
Sintaxe
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
);
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 D3DFORMAT tipo enumerado, 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.
[in] Usage
Tipo: DWORD
Combinação de uma ou mais constantes D3DUSAGE que podem ser OR'd juntas. O valor 0 indica que não há uso.
Retornar valor
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
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d9.h |
Biblioteca | D3D9.lib |