Skip to content

LiteFX::Rendering::ShaderRecordCollection::addShaderRecord

addShaderRecord overloads

Synopses

Declared in <litefx/rendering_api.hpp>

Adds a new shader record based on the name of a shader module in the parent shader program.

[[dllimport, dllexport]] void addShaderRecord(StringView shaderName);

» more...

Adds a new shader record to the shader record collection.

[[dllimport, dllexport]] void addShaderRecord(ShaderRecord<>::shader_group_type const& shaderGroup);

» more...

Adds a new shader record to the shader record collection.

[[dllimport, dllexport]] void addShaderRecord(UniquePtr<IShaderRecord const>&& record);

» more...

Adds a new shader record based on the name of a shader module in the parent shader program.

template<typename TLocalData>
requires (std::alignment_of_v<TLocalData> == SHADER_RECORD_LOCAL_DATA_ALIGNMENT)
void addShaderRecord(
    StringView shaderName,
    TLocalData payload);

» more...

Adds a new shader record to the shader record collection.

template<typename TLocalData>
requires (std::alignment_of_v<TLocalData> == SHADER_RECORD_LOCAL_DATA_ALIGNMENT)
void addShaderRecord(
    ShaderRecord<TLocalData>::shader_group_type shaderGroup,
    TLocalData payload);

» more...

Exceptions

NameThrown on
InvalidArgumentExceptionThrown, if no shader module with the provided name was found in the parent shader program.
ArgumentNotInitializedExceptionThrown, if the shader record was not initialized.

Template Parameters

NameDescription
TLocalDataThe type of the shader record local data.

Parameters

NameDescription
shaderNameThe name of the shader module.
shaderGroupThe shader module or hit group.
recordThe shader record to add to the shader record collection.
payloadThe shader-local data of the shader record.