36 HRESULT init(
Device& device);
41 void resize(
Device& device,
unsigned int width,
unsigned int height);
60 ID3D11ShaderResourceView*
getShadowMapSRV()
const {
return m_shadowDepthSRV.m_textureFromImg; }
61 ID3D11ShaderResourceView*
getPreShadowSRV()
const {
return m_preShadowDebugPass.getSRV(); }
72 HRESULT createShadowResources(
Device& device);
74 HRESULT createBlendStates(
Device& device);
75 ID3D11BlendState* resolveBlendState(
const Material* material)
const;
82 ID3D11BlendState* m_alphaBlendState =
nullptr;
83 ID3D11BlendState* m_opaqueBlendState =
nullptr;
84 ID3D11BlendState* m_additiveBlendState =
nullptr;
85 ID3D11BlendState* m_premultipliedBlendState =
nullptr;
86 float m_blendFactor[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
92 unsigned int m_shadowMapSize = 2048;
94 bool m_applyShadows =
true;
Declara la API de Buffer dentro del subsistema Core.
Declara la API de DepthStencilState dentro del subsistema Core.
Declara la API de DepthStencilView dentro del subsistema Core.
Declara la API de EditorViewportPass dentro del subsistema Utilities.
Declara la API de Prerequisites dentro del subsistema Core.
Declara la API de RasterizerState dentro del subsistema Core.
Declara la API de RenderScene dentro del subsistema Rendering.
Declara la API de RenderTypes dentro del subsistema Rendering.
Declara la API de ShaderProgram dentro del subsistema Core.
Declara la API de Texture dentro del subsistema Core.
Encapsula un ID3D11Buffer para vértices, índices o constantes, incluyendo creación, actualización y enlace.
Encapsula un ID3D11DepthStencilState y su ciclo de vida para la etapa Output-Merger.
Encapsula un ID3D11DepthStencilView para usar un recurso de profundidad/esténcil en el pipeline.
Encapsula un ID3D11Device y facilita la creación de recursos gráficos en Direct3D 11.
Ejecuta el pipeline de render forward del motor.
DepthStencilView m_shadowDSV
ID3D11ShaderResourceView * getPreShadowSRV() const
std::vector< const RenderObject * > m_transparentQueue
Buffer m_perMaterialBuffer
ID3D11ShaderResourceView * getShadowMapSRV() const
DepthStencilState m_transparentDepthStencil
Texture m_shadowDepthTexture
RasterizerState m_shadowRasterizer
ShaderProgram m_shadowShader
std::vector< const RenderObject * > m_opaqueQueue
EditorViewportPass m_preShadowDebugPass
Describe el estado fijo compartido por una o mas instancias de material.
Contenedor temporal con los elementos visibles de un frame.
Encapsula la creación, compilación y uso de Vertex Shader y Pixel Shader en Direct3D 11.
Encapsula una textura 2D en Direct3D 11, incluyendo su recurso y vista como Shader Resource.