Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
Referencia de la clase DepthStencilView

Encapsula un ID3D11DepthStencilView para usar un recurso de profundidad/esténcil en el pipeline. Más...

#include <DepthStencilView.h>

Métodos públicos

 DepthStencilView ()=default
 Constructor por defecto (no crea recursos).
 
void destroy ()
 Libera el recurso asociado al ID3D11DepthStencilView.
 
HRESULT init (Device &device, Texture &depthStencil, DXGI_FORMAT format)
 Inicializa el ID3D11DepthStencilView a partir de una textura de profundidad.
 
HRESULT init (Device &device, Texture &depthStencil, DXGI_FORMAT format, D3D11_DSV_DIMENSION viewDimension)
 
void render (DeviceContext &deviceContext)
 Asigna la vista de profundidad/esténcil al pipeline de render.
 
void update ()
 Actualiza parámetros internos si se requieren cambios en el estado.
 
 ~DepthStencilView ()=default
 Destructor por defecto.
 

Atributos públicos

ID3D11DepthStencilView * m_depthStencilView = nullptr
 Vista de profundidad/esténcil de Direct3D 11.
 

Descripción detallada

Esta clase administra la creación, aplicación y liberación de un DepthStencilView en Direct3D 11, necesario para vincular un buffer de profundidad/esténcil a la etapa de Output-Merger.

Nota
No administra directamente la vida de Texture ni de DeviceContext.

Definición en la línea 22 del archivo DepthStencilView.h.

Documentación de constructores y destructores

◆ DepthStencilView()

DepthStencilView::DepthStencilView ( )
default

◆ ~DepthStencilView()

DepthStencilView::~DepthStencilView ( )
default

No libera automáticamente; llamar a destroy() explícitamente.

Documentación de funciones miembro

◆ destroy()

void DepthStencilView::destroy ( )

Idempotente: puede llamarse múltiples veces de forma segura.

Postcondición
m_depthStencilView == nullptr.

Definición en la línea 94 del archivo DepthStencilView.cpp.

Hace referencia a m_depthStencilView y SAFE_RELEASE.

Referenciado por BaseApp::destroy(), EditorViewportPass::destroy(), ForwardRenderer::destroy() y BaseApp::onResize().

◆ init() [1/2]

HRESULT DepthStencilView::init ( Device device,
Texture depthStencil,
DXGI_FORMAT  format 
)

Crea y asocia un DepthStencilView con el recurso proporcionado (generalmente una textura creada con D3D11_BIND_DEPTH_STENCIL).

Parámetros
deviceDispositivo con el que se creará el recurso.
depthStencilTextura que servirá como buffer de profundidad/esténcil.
formatFormato DXGI con el que se creará la vista (ejemplo: DXGI_FORMAT_D24_UNORM_S8_UINT).
Devuelve
S_OK si la creación fue exitosa; código HRESULT en caso contrario.
Postcondición
Si retorna S_OK, m_depthStencilView != nullptr.
Ver también
destroy()

Definición en la línea 12 del archivo DepthStencilView.cpp.

Hace referencia a ERROR, m_depthStencilView, Device::m_device y Texture::m_texture.

Referenciado por EditorViewportPass::createResources(), ForwardRenderer::createShadowResources(), BaseApp::init() y BaseApp::onResize().

◆ init() [2/2]

HRESULT DepthStencilView::init ( Device device,
Texture depthStencil,
DXGI_FORMAT  format,
D3D11_DSV_DIMENSION  viewDimension 
)

Definición en la línea 43 del archivo DepthStencilView.cpp.

Hace referencia a ERROR, m_depthStencilView, Device::m_device y Texture::m_texture.

◆ render()

void DepthStencilView::render ( DeviceContext deviceContext)

Llama a OMSetRenderTargets para asociar m_depthStencilView al DeviceContext.

Parámetros
deviceContextContexto de dispositivo donde se enlazará el depth-stencil view.
Precondición
m_depthStencilView debe haberse creado con init().

Definición en la línea 80 del archivo DepthStencilView.cpp.

Hace referencia a ERROR, m_depthStencilView y DeviceContext::m_deviceContext.

Referenciado por EditorViewportPass::clearDepth() y BaseApp::render().

◆ update()

void DepthStencilView::update ( )
inline

Método de marcador para actualizar la configuración del recurso.

Nota
Actualmente no realiza ninguna operación.

Definición en la línea 67 del archivo DepthStencilView.h.

Documentación de datos miembro

◆ m_depthStencilView

ID3D11DepthStencilView* DepthStencilView::m_depthStencilView = nullptr

Válido después de una llamada exitosa a init(); nullptr tras destroy().

Definición en la línea 96 del archivo DepthStencilView.h.

Referenciado por destroy(), init(), init(), render(), RenderTargetView::render() y ForwardRenderer::renderShadowPass().


La documentación de esta clase está generada de los siguientes archivos: