SleakEngine 1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
ConstantBuffer.hpp File Reference
#include <Math/Matrix.hpp>
#include <Math/Color.hpp>
#include <cstdint>

Go to the source code of this file.

Classes

struct  Sleak::RenderEngine::ConstantBuffer
 Interface for a CPU-side payload that can be uploaded to a GPU constant buffer. More...
struct  Sleak::RenderEngine::DeferredBuffer
 ConstantBuffer wrapper around DeferredCBData. More...
struct  Sleak::RenderEngine::DeferredCBData
 Per-frame deferred lighting pass CB: inverse view-projection plus screen/near-far metrics. More...
struct  Sleak::RenderEngine::IBLSettingsGPUData
 Image-based lighting toggle, intensity, and prefiltered-map LOD range. More...
struct  Sleak::RenderEngine::LightBuffer
 ConstantBuffer wrapper around LightCBData. More...
struct  Sleak::RenderEngine::LightCBData
 Full per-frame lighting UBO: camera, ambient, fog, and the packed light array. More...
struct  Sleak::RenderEngine::LightGPUEntry
 One light's packed GPU representation, laid out for std140/cbuffer alignment. More...
struct  Sleak::RenderEngine::MaterialBuffer
 ConstantBuffer wrapper around MaterialGPUData. More...
struct  Sleak::RenderEngine::MaterialGPUData
 Packed PBR material parameters uploaded to the material constant buffer. More...
struct  Sleak::RenderEngine::PCSSShadowGPUData
 PCSS soft-shadow parameters for the DX11/OpenGL PBR shader path. More...
struct  Sleak::RenderEngine::PostProcessGPUData
 Tonemapping/exposure settings uploaded to the post-process pass. More...
struct  Sleak::RenderEngine::ShadowLightUBO
 Shadow-pass UBO: light/shadow parameters, fog, and extra fill lights (set 2, binding 0). More...
struct  Sleak::RenderEngine::SSAOCompositeGPUData
 Controls whether the forward PBR shader multiplies in the SSAO texture. More...
struct  Sleak::RenderEngine::SSAOSettingsGPUData
 SSAO pass parameters: kernel size, radius/bias/power, and screen/near-far metrics. More...
struct  Sleak::RenderEngine::TransformBuffer
 Per-draw world-view-projection and world matrices. More...

Namespaces

namespace  Sleak
 Root namespace for everything the engine exposes.
namespace  Sleak::RenderEngine
 Backend-facing rendering layer shared by the four graphics backends.

Enumerations

enum class  Sleak::RenderEngine::CBIds { Sleak::RenderEngine::Transformation = 0 , Sleak::RenderEngine::Material = 1 , Sleak::RenderEngine::Lighting = 2 }
 Well-known constant buffer slot identifiers. More...

Variables

static constexpr uint32_t Sleak::RenderEngine::MAX_LIGHTS = 16
static constexpr uint32_t Sleak::RenderEngine::SSAO_KERNEL_SIZE = 64