Vixen
dd8b0a81
csharp
public record class TexturedEmissiveFeature

Emitted radiance from a map, unaffected by lighting.

Read the guide page for this →

Remarks

What EmissiveFeature could not be: that one carries a single colour, so a sign, a screen or a strip of windows emits over its whole surface rather than where the glowing part is. Masking that with geometry is what a project does instead, and it is the reason an emissive map exists at all.

⚠ The colour multiplies the map rather than replacing it, and the default is white — the opposite of EmissiveColor, whose own default is one because it is the emission. A default of black here would be a feature that samples a map and emits nothing, which reads as a map that never arrived.

Same conditions as every other sampling feature: a name rather than a handle, a device with HasBindless, and a host that paired the name through MaterialRenderFeature.TextureIndices.

Fields and properties (4)

  • public string EmissiveMap

    What the material calls the emissive map it wants sampled.

  • public Vector3 EmissiveColor

    Multiplied into the map, so a shared map can be tinted per material.

  • public float Intensity

    What it is multiplied by, so colour and brightness are authored apart.

  • public string ShaderName

    The Raven shader implementing this feature, from Raven/Library/Material.

Methods (2)

  • public static string EmissiveIndexParameter(string path)

    What the shader calls the slot, under a composition path.

  • public void Compile(MaterialCompilationContext context)

    Writes this feature's parameters, and fills any slots of its own.

Used by (9)

  • MaterialCompilerTestsVixen.Rendering.Tests
  • MaterialSurfaceVixen.Rendering
  • TexturedMaterialTestsVixen.Rendering.Tests
  • TypeRegistrationVixen.Rendering
  • Vixen_Rendering_Materials_TexturedEmissiveFeatureSerializerVixen.Rendering
  • WorldRendererVixen.Engine.Renderer
  • MaterialBakeVixen.Editor.Assets
  • MaterialBakeTestsVixen.Editor.Assets.Tests
  • MaterialMapNamingVixen.Editor.Assets