Skip to content

ludus::graphics::renderer::RenderGraphPackage

Ludus Wiki · API overview · Browse API

Class

Immutable decoded runtime generation. Decode copies the input bytes, so the caller (for example an unloadable game module) may release its buffer as soon as Decode returns. Borrowed plan/program views stay valid until Reset or destruction. Not thread-safe; read-only queries may run on any thread once no thread mutates the package. Allocates only inside Decode.

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

#include <ludus/graphics/renderer/render_graph_activation.hpp>
class ludus::graphics::renderer::RenderGraphPackage final

Methods

RenderGraphPackage

ludus::graphics::renderer::RenderGraphPackage::RenderGraphPackage() noexcept
Construct an empty package.

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

~RenderGraphPackage

ludus::graphics::renderer::RenderGraphPackage::~RenderGraphPackage() noexcept
Release owned storage.

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

RenderGraphPackage

ludus::graphics::renderer::RenderGraphPackage::RenderGraphPackage(const RenderGraphPackage &)=delete
Ownership is noncopyable.

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

operator=

RenderGraphPackage & ludus::graphics::renderer::RenderGraphPackage::operator=(const RenderGraphPackage &)=delete
Ownership is nonassignable.

Related types: RenderGraphPackage

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

Decode

RenderGraphPackageStatus ludus::graphics::renderer::RenderGraphPackage::Decode(foundation::BorrowedView< const foundation::uint8 > bytes) noexcept
Decode and copy a little-endian runtime generation into owned storage.
ParameterDescription
bytes
Complete file image; need only be valid during the call.

Returns

Ready on success. Any failure leaves the package empty. A package that already holds a generation returns InvalidState and is unchanged.

Related types: foundation::BorrowedView · foundation::uint8 · RenderGraphPackageStatus

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

DecodeRayPathCapture

RenderGraphPackageStatus ludus::graphics::renderer::RenderGraphPackage::DecodeRayPathCapture(foundation::BorrowedView< const foundation::uint8 > bytes) noexcept
Decode an editor-only diagnostic ray path capture generation (content::render_graph_format::RAY_PATH_CAPTURE_PACKAGE_MAGIC). The layout and copy semantics are Decode's; GetPrograms then sets RenderGraphPrograms::HasRayPathCapture, so the programs initialize only a separate diagnostic RenderGraph. RenderGraphActivation refuses such a package. A runtime package's magic is rejected here, as this magic is by Decode.
ParameterDescription
bytes
Complete file image; need only be valid during the call.

Returns

Ready on success; UnsupportedVersion for another magic or an unknown layout version; otherwise Decode's failures. Any failure leaves the package empty.

Related types: foundation::BorrowedView · foundation::uint8 · RenderGraphPackageStatus

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

DecodeCaptureProfile

RenderGraphPackageStatus ludus::graphics::renderer::RenderGraphPackage::DecodeCaptureProfile(foundation::BorrowedView< const foundation::uint8 > bytes) noexcept
Decode a frame capture profile generation (content::render_graph_format::CAPTURE_PROFILE_PACKAGE_MAGIC), whose ray kernels carry the technique's capture shadow-query budget. The layout and copy semantics are Decode's; only a frame capture's private graph (RenderGraphCapture) should run its programs, and RenderGraphActivation refuses such a package. A runtime package's magic is rejected here.
ParameterDescription
bytes
Complete file image; need only be valid during the call.

Returns

Ready on success; UnsupportedVersion for another magic or an unknown layout version; otherwise Decode's failures. Any failure leaves the package empty.

Related types: foundation::BorrowedView · foundation::uint8 · RenderGraphPackageStatus

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

IsLoaded

bool ludus::graphics::renderer::RenderGraphPackage::IsLoaded() const noexcept
Whether a decoded generation is held.

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

IsRayPathCapture

bool ludus::graphics::renderer::RenderGraphPackage::IsRayPathCapture() const noexcept
Whether the held generation was decoded by DecodeRayPathCapture; false when empty.

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

IsCaptureProfile

bool ludus::graphics::renderer::RenderGraphPackage::IsCaptureProfile() const noexcept
Whether the held generation was decoded by DecodeCaptureProfile; false when empty.

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

GetPlan

RenderGraphPlan ludus::graphics::renderer::RenderGraphPackage::GetPlan() const noexcept
Borrow the numeric plan; empty when no generation is held. Valid until Reset.

Related types: RenderGraphPlan

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

BypassDenoising

void ludus::graphics::renderer::RenderGraphPackage::BypassDenoising() noexcept
Bypass every Denoise operation exactly as a disabled Denoise node cooks: each ray pass presents its accumulated color unfiltered. For hosts that would rather show an unfiltered image than have Initialize reject the graph when IsDenoisingAvailable is false. Call before staging; graphs already initialized from this package are unaffected.

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

HasLightTransformer

bool ludus::graphics::renderer::RenderGraphPackage::HasLightTransformer() const noexcept
Whether this package requires externally supplied trained encoder/decoder setup. False for an empty package; no allocation or model loading occurs.

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

GetPrograms

RenderGraphPrograms ludus::graphics::renderer::RenderGraphPackage::GetPrograms(const rhi::RasterShaderDescription &compositeVertex, const rhi::RasterShaderDescription &compositeFragment, bool shouldPrepareAsynchronously=false) const noexcept
Describe the cooked stages, borrowing owned artifacts and the caller's composite recipes. The composite descriptions are copied by value; their artifact storage must outlive use. A role the generation carries no stage for (for example DepthOnly in a color-only graph) stays a default description, exactly as the matching compiled header leaves it.
ParameterDescription
compositeVertex
Built-in composite vertex recipe, borrowed until GPU setup copies it.
compositeFragment
Built-in composite fragment recipe, with the same source lifetime.
shouldPrepareAsynchronously
Queue native driver preparation for these stages and the composite pair. Activation selects true; one-shot consumers may keep false.

Related types: RenderGraphPrograms · rhi::RasterShaderDescription

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

GetInterfaceIdentity

foundation::BorrowedView< const foundation::uint8 > ludus::graphics::renderer::RenderGraphPackage::GetInterfaceIdentity() const noexcept
SHA-256 of the CPU-visible vertex/instance interface; empty when not loaded.

Related types: foundation::BorrowedView · foundation::uint8

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

GetGenerationIdentity

foundation::BorrowedView< const foundation::uint8 > ludus::graphics::renderer::RenderGraphPackage::GetGenerationIdentity() const noexcept
Immutable RG1 generation identity this runtime package was cooked from; empty when not loaded.

Related types: foundation::BorrowedView · foundation::uint8

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

Reset

void ludus::graphics::renderer::RenderGraphPackage::Reset() noexcept
Release the generation. Any RenderGraph initialized from it must have reached Ready first.

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