Vixen
02b45cc4
csharp
public record class MaterialTexture

One texture a material assigns, by the name its features sample it under.

Read the guide page for this →

Remarks

A name and a reference, and deliberately not a handle. A feature carries the name it wants sampled and nothing else — that is what "materials are values, not resources" means — so this is the other half of the pairing, and it is as serialisable as the feature is. What turns it into something a shader can index is a host with a BindlessTable; see TextureIndices.

⚠ The name is the material's, not the shader's. A shader's parameter is the composed path — ForwardPlus.CompositeSurface.TexturedMetalRoughnessSurface.baseColorIndex — and depends on which slot the feature landed in. This one does not, which is the whole reason a feature names a texture indirectly: moving a feature up the chain must not rename the texture an artist assigned.

Fields and properties (2)

  • public string Parameter

    What the material calls it.

  • public AssetReference Texture

    Which texture.

Methods (2)

  • public MaterialTexture(string Parameter, AssetReference Texture)

    One texture a material assigns, by the name its features sample it under.

  • public MaterialTexture()

    For the binder, which builds a value and then fills it.

Used by (9)

  • AssetMaterialSourceVixen.Engine.Renderer
  • MaterialContentVixen.Rendering
  • Vixen_Rendering_Materials_MaterialContentSerializerVixen.Rendering
  • Vixen_Rendering_Materials_MaterialTextureSerializerVixen.Rendering
  • MaterialAssetVixen.Editor.AssetEditors
  • MaterialImporterTestsVixen.Editor.Assets.Tests
  • MaterialTestsVixen.Editor.AssetEditors.Tests
  • TypeRegistrationVixen.Editor.AssetEditors
  • Vixen_Editor_AssetEditors_Materials_MaterialAssetSerializerVixen.Editor.AssetEditors