Vixen
02b45cc4
csharp
public record class MaterialDescriptor

A material as it is authored: which shader, which features, and how it is lit.

Read the guide page for this →

Remarks

The serialisable half of the material model, and deliberately a parallel model to Material — the same split the compositor makes between GraphicsCompositorAsset and the renderer it builds. This holds names and numbers; the runtime material holds a parameter collection sized by a compiled layout and a descriptor set full of device handles, and neither of those is a thing a file can hold.

MaterialCompiler is what turns one into the other, and everything it needs is here: nothing about a descriptor requires a graphics device, a shader compiler or a frame, so a material can be edited, validated and serialised in an editor that has not opened a window yet.

Fields and properties (3)

  • public string ShaderName

    The shading pass this material is authored against.

  • public IReadOnlyList<IMaterialFeature> Features

    The features, in the order they contribute.

  • public IMaterialShading Shading

    What the material does with the light that reaches it.

Used by (13)

  • ArenaThirdPersonShooter
  • ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
  • ComposeSlotInventoryTestsVixen.Rendering.Tests
  • DistanceFieldDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
  • MaterialCompilerVixen.Rendering
  • MaterialCompilerTestsVixen.Rendering.Tests
  • MaterialContentVixen.Rendering
  • MaterialReflectionTestsVixen.Rendering.Tests
  • TexturedMaterialTestsVixen.Rendering.Tests
  • TypeRegistrationVixen.Rendering
  • Vixen_Rendering_Materials_MaterialDescriptorSerializerVixen.Rendering