Skip to content

Commit

Permalink
Add notes about why a coat can darken an underlying surface (#88)
Browse files Browse the repository at this point in the history
Signed-off-by: Peter Kutz <[email protected]>
  • Loading branch information
peterkutz authored Oct 5, 2023
1 parent fda74b2 commit 44bde0f
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -968,6 +968,10 @@

These controls were set to 0 by default, since the effects they enabled were implemented in a rather simplistic way, and enabling them by default was considered problematic. However in this spec, it is difficult to describe how these parameters should work since they turn off certain light transport effects which should automatically happen (though we don't give currently give details of their implementation), so to implement them would require violating the physical light transport in some non-obvious ways. It is also an open question whether it is ever desirable for an artist to turn off these effects (or if they want to, can that be implemented in some more physical way). It would be convenient for example if a coat automatically darkens the base, as this simulates e.g. the darkening of materials when covered with a layer of varnish or water.

Real coats can darken the underlying surface for different reasons depending on the composition of the coating substance and the underlying substance. There are two main mechanisms of darkening: internal reflections and modified scattering properties. An example of the first mechanism is that adding a clear coat on a metal can result in multiple internal reflections from the inside of the coat, including a considerable amount of total internal reflection, which causes light to strike the underlying material multiple times and undergo more absorption. An example of the second mechanism is that adding water to sand or fabric darkens these materials by filling in air gaps between granuals or threads, which reduces the relative IORs at the internal interfaces and results in less scattering and/or more forward scattering. Another example of the second mechanism is a penetrating wood finish. On the other hand, in some cases, no darkening will occur at all, such as if the coating is index-matched with an underlying dielectric or if the underlying substance does not absorb any light.

Since we don't have enough knowledge about underlying substance to determine whether its internal scattering properties should be modified, we can only safely assume that the first mechanism of darkening (i.e., internal reflections), occurs. And the amount of darkening (and saturation) should be based on the known properties of the material (e.g., colors and IORs).

Coat params | Label | Type | Range | Norm | Default | Description
----------------------|------------|----------|:---------------:|:----------:|:-------------:|----------------------------------------------
**`coat_weight`** | Weight | `float` | $ [0, 1] $ | | $ 0 $ | Coverage weight of coat slab
Expand Down

0 comments on commit 44bde0f

Please sign in to comment.