Skip to content

ludus::graphics::rhi::RayGeometryDescription

Ludus Wiki · API overview · Browse API

Struct

Borrowed local triangle-list inputs, copied/consumed before creation returns. Finite positions in meters and optional finite top-left UVs are tightly packed. Nonzero indices form complete nondegenerate triangles. No deformation or refit.

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

#include <ludus/graphics/rhi/ray.h>
struct ludus::graphics::rhi::RayGeometryDescription final

Fields

Positions

const void* ludus::graphics::rhi::RayGeometryDescription::Positions = nullptr
Tightly packed XYZ, three finite float32 values per vertex in [-1000000,1000000] meters.

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

VertexCount

ludus::foundation::usize ludus::graphics::rhi::RayGeometryDescription::VertexCount = 0
Positive number of positions, representable by uint32.

Related types: ludus::foundation::usize

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

Indices

const ludus::foundation::uint32* ludus::graphics::rhi::RayGeometryDescription::Indices = nullptr
Local uint32 triangle indices, all below VertexCount.

Related types: ludus::foundation::uint32

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

IndexCount

ludus::foundation::usize ludus::graphics::rhi::RayGeometryDescription::IndexCount = 0
Positive multiple of three, representable by uint32.

Related types: ludus::foundation::usize

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

Texcoords

const void* ludus::graphics::rhi::RayGeometryDescription::Texcoords = nullptr
Optional tightly packed finite UV pairs in [-1000000,1000000]; null supplies zero UV.

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

ByteBudget

ludus::foundation::usize ludus::graphics::rhi::RayGeometryDescription::ByteBudget = 0
Explicit byte budget for resident inputs/BLAS and temporary build scratch. Zero is invalid. Admission checks actual native requirements before submission.

Related types: ludus::foundation::usize

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

OpaqueTriangleCount

ludus::foundation::uint32 ludus::graphics::rhi::RayGeometryDescription::OpaqueTriangleCount = 0
Leading triangle count that bypasses opacity filtering even in a masked instance. Must not exceed IndexCount/3. Zero keeps every triangle eligible for filtering; a positive prefix and remaining suffix form native opaque/nonopaque ranges in one BLAS. Public hit Primitive still addresses the full original triangle list. Requires the matching SDK query shader when querying a partitioned geometry.

Related types: ludus::foundation::uint32

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