|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
This is slightly modified from the subsurface.pov example provided in POV-Ray
3.7 Beta 32.
Here are the major changes from the original:
1. The shape of the candle has been changed, to resemble a candle that is nearly
spent: it is hollowed out, and its wall has been burned out on one side.
2. We have two candles: two identical copies.
3. A yellowish point light source has been placed in one of the candles, where
the flame would be. The original scene light has been dimmed.
4. Subsurface coefficients have been tweaked on the floor, for artistic reasons
(controlling the brightness of the floor).
The result is a candle that glows from within, more so where bright light hits
thinner walls of wax. The shape of the lit candle casts a shadow, with direct
light hitting the marble tiles, where you can see the scattering (note that the
shadow itself is sharp, from a point light source, as can be seen on the
rightmost tile at the bottom).
I've not fine-tuned nor optimized the scene: it took over 45 mins to render,
mostly because of the bright light source (?), and more complicated scene
geometry. The light is also slightly misplaced, but I wanted to show the
lighting effects more than I wanted practical realism.
Observations:
1. normals at a near-perpendicular angle to the camera ray produce considerably
dimmed exit rays, likely a consequence of IOR and diffusion.
2. There's a glitch of a few blue pixels in the inner part of the bright candle,
which could be put down to errors in the blob evaluation, rather than the SSLT
algorithm.
If it's good enough, I'd be happy for this to be included in standard
distrubition, if someone wants to optimize it to render faster.
Post a reply to this message
Attachments:
Download 'subsurface6.jpg' (100 KB)
Preview of image 'subsurface6.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"MessyBlob" <nomail@nomail> wrote:
> This is slightly modified from the subsurface.pov example provided in POV-Ray
> 3.7 Beta 32.
Nice one, I like it.
> Observations:
> 1. normals at a near-perpendicular angle to the camera ray produce considerably
> dimmed exit rays, likely a consequence of IOR and diffusion.
I guess so, yes. However, it also depends on the angle at which the incident
light hits the surface.
> 2. There's a glitch of a few blue pixels in the inner part of the bright candle,
> which could be put down to errors in the blob evaluation, rather than the SSLT
> algorithm.
I guess it might actually be both: The blob causing the glitches in the first
place, and the SSLT algorithm causing them to be strongly colored.
> If it's good enough, I'd be happy for this to be included in standard
> distrubition, if someone wants to optimize it to render faster.
Well, *I* would want to optimize the *code* to render it faster ;)
I really like the scene. It's not as dull as my original one, so I'd be glad to
see it replaced ;) (provided that it's not too complicated of course, so that
the SSLT stuff can still be found amidst everything :P)
Now all I'm missing in that scene is some area light... darn, I guess I won't
die of boredom the next couple of months >_<
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"clipka" <nomail@nomail> wrote:
> I guess it might actually be both: The blob causing the glitches in the first
> place, and the SSLT algorithm causing them to be strongly colored.
My thought too - I was being brief.
> I really like the scene. It's not as dull as my original one, so I'd be glad to
> see it replaced ;) (provided that it's not too complicated of course, so that
> the SSLT stuff can still be found amidst everything :P)
Should anyone want to hone it, the scene file is at
http://news.povray.org/web.49dd66f325dd8d3caddfbead0%40news.povray.org
> Now all I'm missing in that scene is some area light... darn, I guess I won't
> die of boredom the next couple of months >_<
:o)
I'd thought of multiple point lights (they're the only ones that work, I seem to
remember), but on seeing the render time of the single-light version, I decided
against it.
Incidentally, SSLT doesn't like 'looks_like' in light sources (unless I'm
missing something, like noshadow flags - as I write this, my memory is tickled,
and I feel I should RTFM...!)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"MessyBlob" <nomail@nomail> wrote:
> This is slightly modified from the subsurface.pov example provided in POV-Ray
> 3.7 Beta 32.
>
> Here are the major changes from the original:
>
> 1. The shape of the candle has been changed, to resemble a candle that is nearly
> spent: it is hollowed out, and its wall has been burned out on one side.
>
> 2. We have two candles: two identical copies.
>
> 3. A yellowish point light source has been placed in one of the candles, where
> the flame would be. The original scene light has been dimmed.
>
> 4. Subsurface coefficients have been tweaked on the floor, for artistic reasons
> (controlling the brightness of the floor).
>
> The result is a candle that glows from within, more so where bright light hits
> thinner walls of wax. The shape of the lit candle casts a shadow, with direct
> light hitting the marble tiles, where you can see the scattering (note that the
> shadow itself is sharp, from a point light source, as can be seen on the
> rightmost tile at the bottom).
>
> I've not fine-tuned nor optimized the scene: it took over 45 mins to render,
> mostly because of the bright light source (?), and more complicated scene
> geometry. The light is also slightly misplaced, but I wanted to show the
> lighting effects more than I wanted practical realism.
>
> Observations:
> 1. normals at a near-perpendicular angle to the camera ray produce considerably
> dimmed exit rays, likely a consequence of IOR and diffusion.
> 2. There's a glitch of a few blue pixels in the inner part of the bright candle,
> which could be put down to errors in the blob evaluation, rather than the SSLT
> algorithm.
>
> If it's good enough, I'd be happy for this to be included in standard
> distrubition, if someone wants to optimize it to render faster.
Wax? I see the cheese! Appetizing! :-)
Thanks for the source.
--
Carlo
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"MessyBlob" <nomail@nomail> wrote:
> Incidentally, SSLT doesn't like 'looks_like' in light sources (unless I'm
> missing something, like noshadow flags - as I write this, my memory is tickled,
> and I feel I should RTFM...!)
.... if there was a FM at the moment ;)
Indeed, SSLT currently doesn't like "looks_like" objects nor no_shadow objects,
nor spotlights nor parallel lights nor area lights - nor basically *any*
special tricks regarding light & shadow. All it knows right now is
non-attenuated point lights and perfectly opaque objects :P
Did I mention already that it is still very, very, VERY experimental? ;)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"clipka" <nomail@nomail> wrote:
> "MessyBlob" <nomail@nomail> wrote:
> Did I mention already that it is still very, very, VERY experimental? ;)
Yes, you did, and yes, we like it!
About the 'dimming' at near-tangents, you might want to consider a 'conserve
energy'-type idea to manage the transition between diffuse and SSLT lighting on
the incident rays (if you haven't already!)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"MessyBlob" <nomail@nomail> wrote:
> Yes, you did, and yes, we like it!
I do like to hear that ;)
> About the 'dimming' at near-tangents, you might want to consider a 'conserve
> energy'-type idea to manage the transition between diffuse and SSLT lighting on
> the incident rays (if you haven't already!)
I'm not sure what you're talking about.
There is no "transition between diffuse and SSLT lighting", because SSLT
completely replaces the classic diffuse lighting model.
Both the "coupling in" and "coupling out" of light at various angles of
incidence, based on the material's IOR, is already taken into account as part
of the SSLT formulae. There's a whole host of fresnel terms in there ;)
Maybe what you mean is a "conserve energy" type of thing regarding specular
reflections on the material? Such a thing is still miles away on my agenda.
First thing to do next is make sure SSLT learns a bit more about light sources
and shadows. And then there's radiosity to be integrated. Then it'll be time to
think about patterns and such, and where to ultimately "anchor" the subsurface{}
statement (for now, it just happens to be placed in the finish{} block because
it was easiest to code that way). And caches implemented for optimization. And
the RNG noise issue to be solved (unless the caching already does away with
it). Not to forget photon mapping. Sorting out geometry issues. And... well,
you'll get the point I guess ;)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"clipka" <nomail@nomail> wrote:
> "MessyBlob" <nomail@nomail> wrote:
> > About the 'dimming' at near-tangents, you might want to consider a 'conserve
> > energy'-type idea to manage the transition between diffuse and SSLT lighting on
> > the incident rays (if you haven't already!)
> I'm not sure what you're talking about.
A common problem on newsgroups!
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
might not have been specific about which surface effects should be balanced
with SSLT.
> Such a thing is still miles away on my agenda.
> [...] And... well, you'll get the point I guess ;)
Fair enough - I see there is more important stuff. I only mention these things
so that they can be put in the appropriate place on a list :o)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
MessyBlob wrote:
> This is slightly modified from the subsurface.pov example provided in POV-Ray
> 3.7 Beta 32.
Very nicely done :)
--
~Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
|
|