public sealed class EffectStoreA set of pre-compiled variants held in memory, indexed by key.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
What a shipping build has instead of a compiler. An EffectBundle comes out of content as a flat list; this indexes it once and answers in a dictionary lookup thereafter.
A key baked twice is refused rather than resolved by last-writer-wins. Two records under one key means the build enumerated the same variant along two paths and compiled it twice — which is either wasted build time or, if the two differ, a bundle whose behaviour depends on file order.
Fields and properties (2)
public int CountHow many variants it holds.
public IEnumerable<EffectKey> KeysEvery key it can answer, in no particular order.
Methods (5)
public EffectStore()An empty store, for a host that adds variants as it goes.
public EffectStore(EffectBundle bundle)A store over everything a bundle holds.
public void Add(EffectData effect)Adds a variant.
public EffectBundle ToBundle()The bundle this store would bake, ordered so two builds of the same set match.
public EffectData? TryGet(EffectKey key)The variant for a key, or null when this source does not have it.
Used by (8)
- AppGraphicsVixen.App.Hosting
- ContentMountVixen.App.Hosting
- EffectCacheTestsVixen.Shaders.Tests
- ContentMountTestsVixen.App.Tests
- EffectBundleBuilderVixen.ShaderCompiler
- EffectCompilerTestsVixen.ShaderCompiler.Tests
- VixenCommandTestsVixen.Cli.Tests
- ZeroRuntimeCompilationTestsVixen.ShaderCompiler.Tests