Skip to content

Refactor layer structure to have gloss sit on top of the entire dielectric base #282

@portsmouth

Description

@portsmouth

We discussed this on Slack recently (see here).

The issue is that the way we set up the dielectric base model is a little confusing. The "glossy-diffuse" slab is represented as an explicit layer of clear dielectric "gloss" on top of an opaque diffuse base (the bottom two nodes in the graph below), but the translucent base slab and subsurface slab are not.



Image

This could be misread as meaning that only the glossy-diffuse layer has a specular reflection. But both the translucent base and subsurface slab are intended to have a dielectric BSDF at the interface, with embedded volume. The same dielectric BSDF is supposed to cover the entire dielectric base, but this is not obvious from the graph.

We did it this way because the glossy-diffuse slab has to be represented as this explicit layer of clear dielectric gloss on top of an opaque diffuse base, because there is no other well-defined physical model available for the combination of Oren-Nayar diffuse and dielectric Fresnel reflection. Whereas "dielectric with embedded scattering/absorbing volume" is completely standard and well-defined.

Instead of this, it would work and be clearer to have the gloss be a layer of clear dielectric sitting on top of the entire base, which is index-matched with the embedded volume which begins at some finite (though microscopic) depth beneath it. Note that the BSDF of that configuration would be formally identical to what we describe now, since there will be no volumetric interactions in the gloss layer or scattering at the index-matched interface. So there is not actually any need to add language to prevent inter-reflections, beyond what we currently say for the glossy-diffuse case, making the change not difficult. This configuration will be make it more intuitive that the specular reflection is shared across the entire base dielectric.

It does involve a slightly different kind of configuration than we currently describe, i.e. layering a slab of dielectric on top of a slab of index-matched volume, producing a "pass-through" delta-function BSDF at the interface. We will need to add to the formalism some way to indicate that a slab is automatically index-matched with its exterior (which technically the fuzz currently is, though we didn't make it explicit in the formalism, and doing so would also be an improvement).

As noted, it would produce an identical BSDF to the current spec. This amounts therefore just to a change in the language of the spec, an adjustment to the formalism, and updating the layer diagrams accordingly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions