Skip to content

ludus::graphics::renderer::Limits

Ludus Wiki · API overview · Browse API

Struct

Initialization-time renderer capacities. All counts are positive and below UINT32_MAX. Metadata and per-view/snapshot workspaces are reserved once; no runtime pool growth. Detached incarnations consume slots until their renderer references retire. RHI byte/resource/packet budgets are independent and may exhaust earlier.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

#include <ludus/graphics/renderer/renderer.hpp>
struct ludus::graphics::renderer::Limits final

Fields

Meshes

ludus::foundation::uint32 ludus::graphics::renderer::Limits::Meshes = 6
Maximum resident/retained meshes (two RHI buffers each).

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

Snapshots

ludus::foundation::uint32 ludus::graphics::renderer::Limits::Snapshots = 4
Maximum resident/retained snapshots.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

Views

ludus::foundation::uint32 ludus::graphics::renderer::Limits::Views = 8
Maximum prepared views, including shadow light views.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

Objects

ludus::foundation::uint32 ludus::graphics::renderer::Limits::Objects = 256
Maximum objects and draw packets per snapshot/view; must fit RHI DrawsPerFrame.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

Presentations

ludus::foundation::uint32 ludus::graphics::renderer::Limits::Presentations = 4
Maximum retained target presentations, each consuming RHI buffers and binding sets.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

MaterialPrograms

ludus::foundation::uint32 ludus::graphics::renderer::Limits::MaterialPrograms = 2
Maximum overlapping prewarmed shader/layout incarnations for reload.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

Materials

ludus::foundation::uint32 ludus::graphics::renderer::Limits::Materials = 8
Maximum live/retained immutable parameter and texture versions.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

ShadowAtlases

ludus::foundation::uint32 ludus::graphics::renderer::Limits::ShadowAtlases = 2
Maximum resident/retained immutable shadow atlases for overlap and replacement.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

UniformSets

ludus::foundation::uint32 ludus::graphics::renderer::Limits::UniformSets = 8
Maximum live/retained per-draw uniform sets of a bound flat program, each one RHI buffer and binding snapshot. Unbound programs reserve the records but never use them.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp

HostBytes

ludus::foundation::usize ludus::graphics::renderer::Limits::HostBytes = ludus::foundation::usize{64} * 1024 * 1024
Positive byte ceiling for State, registry records and all reserved CPU workspaces. Excludes allocator overhead, transient mesh upload conversion, RT1's separately budgeted CPU data, RHI resources and driver allocations. Exhaustion returns CapacityExceeded.

Related types: ludus::foundation::usize

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/renderer.hpp