|
Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
|
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. | |
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.
Texture ni de DeviceContext. Definición en la lÃnea 22 del archivo DepthStencilView.h.
|
default |
|
default |
No libera automáticamente; llamar a destroy() explícitamente.
| void DepthStencilView::destroy | ( | ) |
Idempotente: puede llamarse múltiples veces de forma segura.
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().
Crea y asocia un DepthStencilView con el recurso proporcionado (generalmente una textura creada con D3D11_BIND_DEPTH_STENCIL).
| device | Dispositivo con el que se creará el recurso. |
| depthStencil | Textura que servirá como buffer de profundidad/esténcil. |
| format | Formato DXGI con el que se creará la vista (ejemplo: DXGI_FORMAT_D24_UNORM_S8_UINT). |
S_OK si la creación fue exitosa; código HRESULT en caso contrario.S_OK, m_depthStencilView != nullptr. 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().
| 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.
| void DepthStencilView::render | ( | DeviceContext & | deviceContext | ) |
Llama a OMSetRenderTargets para asociar m_depthStencilView al DeviceContext.
| deviceContext | Contexto de dispositivo donde se enlazará el depth-stencil view. |
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().
|
inline |
Método de marcador para actualizar la configuración del recurso.
Definición en la lÃnea 67 del archivo DepthStencilView.h.
| 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().