Vixen
dd8b0a81
csharp
public record class OrenNayarShading

Oren-Nayar's rough diffuse under the standard lobe: clay, plaster, concrete.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The same GGX specular as StandardShading and a different diffuse BRDF, which is the whole difference. Lambert is a smooth Lambertian plane; this is a surface of Lambertian microfacets, which flattens toward the light instead of falling off as the cosine — the thing that stops dry unfinished materials reading as plastic. It reads the roughness the surface already writes and has no parameters of its own.

⚠ Named after the model rather than after what it is for, unlike its neighbours. A clear coat is a second lobe and a sheen is a rim, so those names say what is added; this one swaps the diffuse term and nothing else.

Fields and properties (1)

  • public string ShaderName

    The Raven shader implementing the model, from Raven/Library/Material.

Methods (1)

  • public void Compile(MaterialCompilationContext context)

    Writes the model's own parameters — a wrap width, a cel ramp's step count.

Used by (4)

  • DiffuseModelImageTestsVixen.Graphics.Golden.Tests
  • MaterialShadingVixen.Rendering
  • TypeRegistrationVixen.Rendering
  • Vixen_Rendering_Materials_OrenNayarShadingSerializerVixen.Rendering