1#ifndef _CONSTANTBUFFER_H_
2#define _CONSTANTBUFFER_H_
89 : WVP(world * view * proj), World(world) {
Vectors, matrices, quaternions, colors, AABBs, and random helpers.
Matrix< float, 4, 4 > Matrix4
Backend-facing rendering layer shared by the four graphics backends.
static constexpr uint32_t SSAO_KERNEL_SIZE
static constexpr uint32_t MAX_LIGHTS
CBIds
Well-known constant buffer slot identifiers.
Root namespace for everything the engine exposes.
Interface for a CPU-side payload that can be uploaded to a GPU constant buffer.
virtual uint16_t GetSize() const =0
virtual void * GetData() const =0
virtual uint16_t GetSize() const override
DeferredBuffer(const DeferredCBData &data)
virtual void * GetData() const override
Per-frame deferred lighting pass CB: inverse view-projection plus screen/near-far metrics.
Image-based lighting toggle, intensity, and prefiltered-map LOD range.
virtual uint16_t GetSize() const override
LightBuffer(const LightCBData &data)
virtual void * GetData() const override
Full per-frame lighting UBO: camera, ambient, fog, and the packed light array.
LightGPUEntry Lights[MAX_LIGHTS]
One light's packed GPU representation, laid out for std140/cbuffer alignment.
MaterialBuffer(const MaterialGPUData &data)
virtual void * GetData() const override
virtual uint16_t GetSize() const override
Packed PBR material parameters uploaded to the material constant buffer.
PCSS soft-shadow parameters for the DX11/OpenGL PBR shader path.
uint32_t ShadowMapEnabled
Tonemapping/exposure settings uploaded to the post-process pass.
Controls whether the forward PBR shader multiplies in the SSAO texture.
uint32_t SSAOCompositeEnabled
SSAO pass parameters: kernel size, radius/bias/power, and screen/near-far metrics.
Shadow-pass UBO: light/shadow parameters, fog, and extra fill lights (set 2, binding 0).
float ExtraLightDir[3][4]
float ExtraLightColor[3][4]