Vixen
02b45cc4
csharp
public record class CompiledEffect

A compiled effect: every stage's module, the interface to bind it against, and enough provenance to know whether it is still valid.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The unit the runtime loads instead of compiling. It is written as .rvnfx by CompiledEffectWriter and read back by CompiledEffectReader.

PermutationKey and SourceHash together answer "can I use this?". The key is built from the permutation values that mattered, so two variants differing only in an unread flag share one artefact rather than filling the cache with duplicates.

Fields and properties (6)

  • public required string Name

    Name of the shader this was compiled from.

  • public required string Target

    Backend that produced the modules, as TargetBackends names it.

  • public ImmutableArray<EffectModule> Modules

    One module per stage.

  • public required RavenReflection Reflection

    The interface to bind against.

  • public ImmutableSortedDictionary<string, string> PermutationKey

    The permutation values that produced this, keyed by name — only the keys that were actually read. This is the cache key.

  • public string SourceHash

    Hash of the source this was compiled from, so a stale artefact can be detected without recompiling to compare.

Methods (2)

Used by (6)

  • CompileDriverVixen.Raven.Cli
  • CompiledEffectReaderVixen.Raven
  • CompiledEffectTestsVixen.Raven.Tests
  • CompiledEffectWriterVixen.Raven
  • EffectTranslatorVixen.ShaderCompiler
  • RavenEffectCompilerVixen.ShaderCompiler