Vixen
02b45cc4
csharp
public static class MaterialShading

The shading models a document can name, and how a name becomes one.

Read the guide page for this →

Remarks

Written out rather than discovered by reflection, for the reason PrimitiveShapes.All gives about its own list: what a build ships is a decision, and a scan of the loaded assemblies makes it an accident of which ones happened to be loaded. It also keeps the answer available to a trimmed build, where reflection over subtypes is exactly what does not survive.

⚠ A model with parameters gets its defaults. SubsurfaceShading has a wrap width and CelShading has a band count, and a name cannot carry either — so a material naming one of those is shaded by the model with the numbers it declares. Carrying them needs the document to hold the model as an object rather than a name, which is what Features already does and what the authoring format does not yet do for this one field.

Fields and properties (1)

  • public static IReadOnlyDictionary<string, Func<IMaterialShading>> All

    Every model, by the name a document writes.

Methods (1)

  • public static bool TryResolve(string? name, out IMaterialShading shading)

    The model a name means.

Used by (3)

  • AssetMaterialSourceVixen.Engine.Renderer
  • MaterialImporterVixen.Editor.Assets
  • MaterialTestsVixen.Editor.AssetEditors.Tests