Class Material
Defined in File pipeline.h
Class Documentation
-
class Material
Declaration:
finalImmutable recipe retaining its pipeline/default images.
Read-only resolution can run on CPU owners; it does not bind resources or mutate uniform state.
Public Functions
-
explicit Material(CE::Rendering::Materials::Definition definition)
Validate and retain a complete immutable material recipe.
- Parameters:
definition – Required pipeline, partial custom defaults and optional sampler-key overrides.
- Throws:
CE::Exceptions::invalid_args – For a null pipeline, invalid defaults or a null/non-sampler override. Construction does not upload or bind native resources. Backend/domain compatibility requires the backend builder/playback path.
-
inline const CE::Rendering::Materials::Definition &definition() const
Declaration:
[[nodiscard]]- Returns:
Borrowed immutable recipe and retained handles, valid while this material is retained.
-
CE::Rendering::Parameters::Set resolve(const CE::Rendering::Parameters::PassSemantics &pass_semantics, const CE::Rendering::Parameters::DrawSemantics &draw_semantics, const CE::Rendering::Parameters::Set &pass_values, const CE::Rendering::Parameters::Set &draw_values) const
Declaration:
[[nodiscard]]Resolve owned CPU packet values without binding resources or mutating uniforms.
See also
- Parameters:
pass_semantics – Copied projection/view source.
draw_semantics – Copied model/alpha/scale source.
pass_values – Custom pass layer, below this material’s defaults.
draw_values – Highest-priority custom layer.
- Returns:
Complete resolved set retaining images/samplers. Explicit binding samplers win over this material’s sampling overrides. All layers validate even when overridden; failures leave the recipe and inputs unchanged. Resolution requires stable inputs, not a graphics context.
-
explicit Material(CE::Rendering::Materials::Definition definition)