33 DirectX::XMFLOAT4 position;
34 DirectX::XMFLOAT4 direction;
35 DirectX::XMFLOAT4 flux;
36 DirectX::XMFLOAT4X4 vp;
37 DirectX::XMFLOAT4X4 vp_inv;
38 DirectX::XMFLOAT4X4 vp_tex;
48 virtual void create(ID3D11Device* device);
50 virtual void create(ID3D11Device* device,
const tstring& name,
51 const DXGI_SURFACE_DESC& colors,
const DXGI_SURFACE_DESC& normals,
const DXGI_SURFACE_DESC& depth);
53 virtual void create(ID3D11Device* device,
const tstring& name,
54 const D3D11_TEXTURE2D_DESC& colors,
const D3D11_TEXTURE2D_DESC& normals,
const D3D11_TEXTURE2D_DESC& depth);
56 virtual void destroy();
65 void update(
const DirectX::XMFLOAT4& upt,
const DirectX::XMMATRIX& light_proj);
68 void prepare_render(ID3D11DeviceContext* context);
94 virtual void create(ID3D11Device* device,
const tstring& name,
95 const D3D11_TEXTURE2D_DESC& colors,
const D3D11_TEXTURE2D_DESC& normals,
const D3D11_TEXTURE2D_DESC& depth);
97 virtual void destroy();
void update(const DirectX::XMFLOAT4 &upt, const DirectX::XMMATRIX &light_proj)
Update the view-projection matrix in the parameter cbuffer for shadowmap/RSM rendering.
Definition: light.cpp:14
A simple directional light source with an RSM.
Definition: light.h:28
A differential directional light source.
Definition: light.h:82
cb_param & parameters()
Return local cbuffer parameters.
Definition: light.h:60
gbuffer & mu()
Return RSM \( \mu \).
Definition: light.h:92
const cb_param & parameters() const
Return local cbuffer parameters.
Definition: light.h:61
A geometry buffer (collection of render_target objects).
Definition: gbuffer.h:30
gbuffer & rho()
Return RSM \( \rho \).
Definition: light.h:89