public record class MaterialDescriptorA material as it is authored: which shader, which features, and how it is lit.
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 ShaderNameThe shading pass this material is authored against.
public IReadOnlyList<IMaterialFeature> FeaturesThe features, in the order they contribute.
public IMaterialShading ShadingWhat 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