core::meta::shader class final

contains extensions for meta data when loading shader files.

shaders need various metadata that can describe the binding points and types of resources a SPIR-V might be expecting, as well as the pipeline stage it is assigned to. This extension to psl::meta::file contains that type of data.

base classes

psl::meta::file
disk-based representation of a runtime instance.
publicpublic

static variables

polymorphic_name
the polymorphic serialization name for the psl::format::node that will be used to calculate the CRC64 ID of this type on.
constexprconstexprprivateprivatestaticstatic
uint64_t
polymorphic_identity
the associated unique ID (per type, not instance) for the polymorphic system.
constconstprivateprivatestaticstatic

member-functions

stage
const public noexcept
stage
sets the stage of this SPIR-V module to the given value.
public noexcept
serialize<…>
method that will be invoked by the serialization system.
private
polymorphic_id
returns the polymorphic ID at runtime, to resolve what type this is.
private override virtual

Function documentation

core::gfx::shader_stage core::meta::shader::stage() const noexcept

Returns the shader stage of this SPIR-V module (i.e. vertex, fragment, compute, etc..)

void core::meta::shader::stage(core::gfx::shader_stage value) noexcept

Brief

sets the stage of this SPIR-V module to the given value.

Details

Parameters
value in the stage to expect.

template<typename S>
void core::meta::shader::serialize(S& s) private

Brief

method that will be invoked by the serialization system.

Template parameters
S the type of the serializer/deserializer
Parameters
in instance of a serializer that you can read from, or write to.