AcademySoftwareFoundation / OpenPBR

Specification and reference implementation for the OpenPBR Surface shading model
Apache License 2.0
425 stars 18 forks source link

Dielectric priority? #100

Closed portsmouth closed 6 months ago

portsmouth commented 11 months ago

Dielectric priority for nested dielectrics, should we have it? This seems to be the standard approach now, so potentially we could attempt to incorporate it, either now or as a future extension.

It does require working out the policy for how the priority is applied. I would suggest that it works by assuming that the highest priority overlapping surface defines the entire dielectric base. Thus a glass of juice modelled as lower priority juice overlapping higher priority glass, will work and define the juice interior to the glass, whether the juice is modelled as dielectric volume or subsurface.

(Equal priority can mean the dielectric bases are effectively mixed).

portsmouth commented 11 months ago

We discussed and decided that it would make sense to leave this out for the moment (i.e. leave it up the implementation), as it requires more discussion. It could be possible to add it in later versions.

I do think it would be a good idea to add it at some point, as it's the most sensible/practical way to deal with correctly rendering adjacent dielectrics, which is a very common situation (e.g. vessels of liquid).

It would be convenient to be able author and render such assets consistently across renderers, i.e. we would be defining a standard for nested dielectrics, which I believe would be valuable.

portsmouth commented 6 months ago

Closing as won't do (for the near term, at least).