Compartir a través de


Método IDirect3DDevice9::SetRenderTarget (d3d9.h)

Establece un nuevo búfer de color para el dispositivo.

Sintaxis

HRESULT SetRenderTarget(
  [in] DWORD             RenderTargetIndex,
  [in] IDirect3DSurface9 *pRenderTarget
);

Parámetros

[in] RenderTargetIndex

Tipo: DWORD

Índice del destino de representación. Vea la sección Comentarios.

[in] pRenderTarget

Tipo: IDirect3DSurface9*

Puntero a un nuevo búfer de color. Si es NULL, el búfer de colores para renderTargetIndex correspondiente está deshabilitado. Los dispositivos siempre deben estar asociados a un búfer de colores. La nueva superficie de destino de representación debe tener al menos D3DUSAGE_RENDERTARGET especificado.

Valor devuelto

Tipo: HRESULT

Si el método se ejecuta correctamente, el valor devuelto es D3D_OK. Este método devolverá D3DERR_INVALIDCALL si:

  • pRenderTarget = NULL y RenderTargetIndex = 0
  • pRenderTarget es != NULL y el destino de representación no es válido.

Comentarios

El dispositivo puede admitir varios destinos de representación. El número de destinos de representación admitidos por un dispositivo se encuentra en el miembro NumSimultaneousRTs de D3DCAPS9. Consulta Varios destinos de representación (Direct3D 9).

Establecer un nuevo destino de representación hará que la ventanilla (vea Ventanillas y recortes (Direct3D 9)) se establezca en el tamaño completo del nuevo destino de representación.

Algunos hardware prueban la compatibilidad del búfer de galería de símbolos de profundidad con el búfer de colores. Si esto se hace, solo se realiza en una compilación de depuración.

Entre las restricciones para usar este método se incluyen las siguientes:

  • El tipo multisample debe ser el mismo para el destino de representación y la superficie de galería de símbolos de profundidad.
  • Los formatos deben ser compatibles con el destino de representación y la superficie de galería de símbolos de profundidad. Consulta IDirect3D9::CheckDepthStencilMatch.
  • El tamaño de la superficie de galería de símbolos de profundidad debe ser mayor o igual que el tamaño del destino de representación.
Estas restricciones solo se validan cuando se usa el tiempo de ejecución de depuración cuando se llama a cualquiera de los métodos Draw de IDirect3DDevice9.

Las texturas de cubo difieren de otras superficies en que son colecciones de superficies. Para llamar a IDirect3DDevice9::SetRenderTarget con una textura de cubo, debe seleccionar una cara individual mediante IDirect3DCubeTexture9::GetCubeMapSurface y pasar la superficie resultante a IDirect3DDevice9::SetRenderTarget.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d9.h (incluya D3D9.h)
Library D3D9.lib

Consulte también

IDirect3DDevice9