Skip to content

ludus::graphics::rhi::RasterDraw

Ludus Wiki · API overview · Browse API

Struct

Complete indexed/instanced draw packet. First instance and base vertex are zero. Validation precedes native calls; previous accepted draws are not rolled back by a later rejected packet. Mesh-local indices must address VertexCount records.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

#include <ludus/graphics/rhi/raster.h>
struct ludus::graphics::rhi::RasterDraw final

Fields

Pipeline

RasterPipelineHandle ludus::graphics::rhi::RasterDraw::Pipeline {}
Ready immutable pipeline.

Related types: RasterPipelineHandle

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

Bindings

BindingSetHandle ludus::graphics::rhi::RasterDraw::Bindings {}
Ready snapshot with the exact pipeline layout.

Related types: BindingSetHandle

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

Vertices

std::span<const RasterVertexSlice> ludus::graphics::rhi::RasterDraw::Vertices
One slice for every pipeline stream, in stream order.

Related types: RasterVertexSlice

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

Indices

BufferHandle ludus::graphics::rhi::RasterDraw::Indices {}
Index16/Index32 buffer.

Related types: BufferHandle

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

IndexOffset

ludus::foundation::usize ludus::graphics::rhi::RasterDraw::IndexOffset = 0
Byte offset into the index buffer, aligned to its element width.

Related types: ludus::foundation::usize

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

IndexCount

ludus::foundation::uint32 ludus::graphics::rhi::RasterDraw::IndexCount = 0
Number of indices, positive and a multiple of three.

Related types: ludus::foundation::uint32

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

VertexCount

ludus::foundation::uint32 ludus::graphics::rhi::RasterDraw::VertexCount = 0
Number of accessible vertex records; each index is checked at buffer creation/draw.

Related types: ludus::foundation::uint32

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

InstanceCount

ludus::foundation::uint32 ludus::graphics::rhi::RasterDraw::InstanceCount = 1
Number of instances, positive; instance streams need this many records.

Related types: ludus::foundation::uint32

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

Indirect

BufferHandle ludus::graphics::rhi::RasterDraw::Indirect {}
Optional StorageIndirect buffer. Non-null selects one indirect command; counts above are conservative bounds, not CPU copies of GPU arguments.

Related types: BufferHandle

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

IndirectOffset

ludus::foundation::usize ludus::graphics::rhi::RasterDraw::IndirectOffset = 0
Four-byte-aligned command offset, covering IndexedIndirectArguments.

Related types: ludus::foundation::usize

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

BindingOffsets

RasterBindingOffsets ludus::graphics::rhi::RasterDraw::BindingOffsets {}
Per-binding additional buffer offsets; copied for batches/graphs and submission.

Related types: RasterBindingOffsets

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h

ReachableBindings

std::span<const RasterBindingIndex> ludus::graphics::rhi::RasterDraw::ReachableBindings {}
Exhaustive reachable index declarations for every NonUniform array element. Tokens must belong to Bindings, be unique and cover every populated element of each NonUniform table. Fallback holes require no token. Consumed/validated before admission; GDI additionally requires all corresponding sampled uses. Empty is valid when the layout has no NonUniform arrays.

Related types: RasterBindingIndex

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/raster.h