|
|
"MessyBlob" <nomail@nomail> wrote:
> Maybe I'm still of the POV mindset that thinks there should be a surface
> (finish, specular highlights, or whatever) as well as the new subsurface.
I know what you mean. When I started working on SSLT, I expected it to just give
some additional term to the already existing ones, too.
However, this only works with tweak-until-it-looks-good features, but not with
realistic approaches.
NB: As you can see from the sample scene, some surface things are still
preserved.
Here's how the whole smash should integrate for a physically realistic model:
- SSLT: This accounts for all light paths traversing the object with one or more
scattering events involved, and includes all the necessary scaling terms.
- Transparency: This is about all the light rays traversing the object
unhindered (except for refraction). For realism in conjunction with SSLT, this
should be based exclusively on the SSLT parameters (and distance travelled) for
attenuating the light, and scaled according to the same Fresnel transmittance
terms used in the SSLT formula. Basically, it can be though of as a "zero
scattering" extension to the SSLT model.
- Specular Reflection: This is about all the light rays that don't make it into
the object in the first place, and is actually the only thing left over to do.
For realism (speaking of conservation of energy), this should be scaled
according to the Fresnel reflectance term complementary to the transmittance
term in the SSLT formula.
There is one major flaw in this: It only works for "raw", polished materials;
it's impossible to model lacquered or rough surfaces this way.
So how does a finish affect this model?
(I'm a bit brainstorming here, so coming up with new thoughts as I type, which
lead me to believe that you're not so far off the track.)
(A) It may tweak the ratio between transmitted and reflected light (but note
that for the sake of energy conservation, it must do so in a way that the sum
of the two is always 1: Light is either refracted or be reflected):
- It adds more interfaces for reflections to occur. I'd expect this to be quite
messy to model realistically: For instance, with a finish IOR in between the
air and the object's, I'd naively expect the effects to roughly cancel out; but
if the IOR of the finish is higher or lower than both, it must surely increase
the amount of reflection. I'd also expect the resulting term to be
significantly "non-Fresnel".
- On a rough surface, light will "couple in" or "couple out" more uniformly with
respect to the angle of incidence, possibly to the point where the reflectance
term becomes a constant (the "diffuse Fresnel reflectance", which happens
feature in the SSLT formulae as well). To model this effect, I guess a
sufficient approximation would be to use a weighted average of the Fresnel
reflectance and the diffuse Fresnel reflectance, controlled by the surface
roughness.
- Very thin coatings may act on the reflectance through interference effects,
even causing significant variations across the color spectrum. But I guess we
don't want to model these right now.
(B) It may absorb some of the light; if it doesn't do much scattering (which
would require it to me modelled with SSLT itself), this effect might be
modelled similar to a filtering surface pigment. Actually, SSLT could use the
pigment statement for exactly that purpose; from that perspective, a non-SSLT
material could be interpreted as a perfectly transparent object with a certain
coating.
So what does remain of the classic finish?
- ambient: We may want this for emission (note however that a negative
absorption coefficient might also do the job and look much more intriguing,
though I'm not perfectly sure about that: never tested it)
- pigment: We want this to be able to easily put a colored coating on the
material.
- reflection: Sure thing.
- specular, phong: As these model specular reflection of light sources, we
definitely want these as well.
- diffuse: Yeah, I guess we will retain this, and actually use its effective
value (i.e. after conserve_energy corrections and all) as the transmittance
term for the SSLT model. This will allow for the old familiar way of "tuning"
all the finish effects, except that the underlying mechanism will be SSLT
instead of a brain-dead single-point diffuse reflection. (The only thing I'm a
bit worried about here is how then to compute the diffuse Fresnel reflectance;
but there should be *some* way to compute that from the other finish parameters
- in the worst case we can just compute some approximation. Fortunately, those
values are constant throughout space for any finish.)
Well, yes, I guess that's a fruitful monologe you triggered with your posting -
thanks ;)
In any case, this convinces me that "finish{}" is - as I already assumed - not
the best place to put the subsurface stuff; by now I guess the "interior{}" is
where to put it (after all, in a way it is kind of like a media replacement for
high scattering, low absorbtion values).
Post a reply to this message
|
|