Skip to content

Clarified wording following SIGGRAPH report#288

Open
portsmouth wants to merge 1 commit intoAcademySoftwareFoundation:dev_1.2from
portsmouth:post_siggraph_fixes
Open

Clarified wording following SIGGRAPH report#288
portsmouth wants to merge 1 commit intoAcademySoftwareFoundation:dev_1.2from
portsmouth:post_siggraph_fixes

Conversation

@portsmouth
Copy link
Contributor

@portsmouth portsmouth commented Dec 9, 2025

This attempts to address the outstanding points discussed in #269.

These were already addressed in #253:

  • Coat darkening (implementation). The formula was fixed.
  • Coat darkening (specification). Wording was suitably generalized.
  • Coat darkening (theory). Smooth base case was worked out and correctly implemented.

Here I address the other issues.

Thin-walled mode.

It was a bit unclear in the subsurface case that there is intended to be a dielectric slab embedding the thin-wall SSS "dense sheet", where the boundaries of the dielectric provide the specular lobe as usual.

The new text makes that more explicit. An issue is then that technically, light should bounce around inside the slab between the dense sheet and the dielectric walls, causing darkening. We could attempt to define something to get rid of that, but it gets too technical I think. I feel the best approach here is to simply say that that those effects should in theory be accounted for.

We already said the same effectively for the translucent dielectric case, since we said:

The translucent-base slab can be considered an infinitesimally thin sheet of dielectric (absorbing but non-scattering), with the BSDF fdielectric on both sides. A ladder of inter-reflections occurs inside this slab producing a reflected lobe and un-deflected refracted lobe.

That ladder generates IOR-dependent darkening. It seems consistent to simply mention that this similar physical effect occurs in the subsurface case, without adding any special mechanism to get rid of it. In practice, implementations could reasonably just ignore this (e.g. MaterialX), though this produces some inaccuracy/unphysicality in the appearance. We could perhaps work out a nicer approximation to apply, and provide it in the MaterialX graph though.

I also made it more explicit that the diffuse lobes of the subsurface model are required to be EON diffuse lobes, which seems reasonable (and already the case in the MaterialX graph).

image

As I noted in the technical report, I really feel that this thin-wall model is too loosely defined still at present. A problem is that there is no one publication that works out the necessary BSDFs in full detail. It also seems a bit ad-hoc to have these two separate models of "dielectric sheet with embedded stufff", with either no scattering or dense scattering (the latter a rather crude approximation as well, with Oren-Nayar lobes involved).

It would be better to have available a more general "thin-slab of arbitrary volume" as a primitive:

Currently we treat the thin-wall limit of the translucent volume
and the subsurface as two distinct cases (essentially absorbing only and scattering-dominated, respectively).
However, it would be useful to have a more general model where the thin-wall interior medium is a scattering
volume with configurable transmittance and albedo. If the scattering is not totally dominant then there is an intermediate
regime between “thin-wall dielectric” (which roughens due to the refractive boundaries but does not
scatter), and “thin-wall subsurface” that produces essentially diffuse reflection and transmission lobes. However,
at present, there isn’t a well-defined model for this intermediate case. Furthermore, this generalized thin-wall
model would make more sense in the context of a unified base volume, which is also considered future work.

This will have to be left for future work though. At present, this is as close as we could get to a completely physically specified thin-wall model.

Subsurface and glossy-diffuse albedos

In the discussion of the meaning of base_color for the glossy-diffuse slab, and subsurface_color, we talk about them controlling the "multi-scatter" albedo, but we don't make clear how the surrounding media (coat etc.) are involved. Probably we need to say that these definitions (of the meaning of the colors) are done in the vacuum exterior case, as e.g. we don't want the underlying albedos of the base adjusting as the coat properties change.

I think a reasonable fix for these is simply to say explicitly that the definitions made are supposed to be applied assuming vacuum exterior (for the subsurface or glossy-diffuse slabs). This serves to define the BSDFs and media, then the more general case involving superimposed layers will follow from that.

image
image



(These definitions still seem extremely academic, and I'm skeptical that anyone has actually studied them and modified their implementation accordingly. I'm assuming almost everyone, or actually everyone, simply uses an approximate albedo-scaling approach. The current text is an attempt to make it more physically general than simply assuming albedo-scaling based layering approximation, but done in a way which ensures that albedo-scaling is not a bad approximation. Perhaps there is a better way to define this, at a later stage, that seems less esoteric).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant