|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I'm a little confused by part of the implementation of the shading model
used in POV-Ray. There are parts that have changed substantially over
the last couple of versions and I don't quite see why.
1) When transmit is used, the shading model is now using the refracted
ray to determine the color. That wasn't how (or why) I added transmit -
it's supposed to be an unrefracted ray (unaffected by IOR). You might
as well not bother with transmit - in it's current form it just provides
a way to add white to the basic filter color.
2) The ambient and diffuse contributions are modified by (1 -
transparency). Why? And why just the ambient/diffuse and not specular
or reflection?
3) The shadow rays through a (partially) transparent surface aren't
modified the same way as eye rays. You end up with colored shadows that
are either brighter or darker than the surface itself. Results are even
worse with distance based attenuation (extinction) in an interior.
Don't know that I'd call any of these bugs - POV-Ray works the way it
works. I just wonder if anyone knows why these choices were made.
Xander
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Alexander Enzmann <xan### [at] mitreorg> wrote:
: 1) When transmit is used, the shading model is now using the refracted
: ray to determine the color. That wasn't how (or why) I added transmit -
: it's supposed to be an unrefracted ray (unaffected by IOR).
Why? If you said to povray that the object has IOR, then it bends the
light rays (well, in this case the eye rays). I think that it would not be
physically correct that one type of light refracts and another type of light
doesn't (well, actually I'm not sure if the transmit is physically correct
at all...).
: 3) The shadow rays through a (partially) transparent surface aren't
: modified the same way as eye rays. You end up with colored shadows that
: are either brighter or darker than the surface itself. Results are even
: worse with distance based attenuation (extinction) in an interior.
This usually happens because the ray passes through more than one surface
when going through an object.
Povray doesn't model physically correct caustics anyways, so it doesn't
matter after all.
Photon mapping is another story.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Alexander Enzmann <xan### [at] mitreorg> wrote...
> I'm a little confused by part of the implementation of the shading model
> used in POV-Ray. There are parts that have changed substantially over
> the last couple of versions and I don't quite see why.
>
> 1) When transmit is used, the shading model is now using the refracted
> ray to determine the color. That wasn't how (or why) I added transmit -
> it's supposed to be an unrefracted ray (unaffected by IOR). You might
> as well not bother with transmit - in it's current form it just provides
> a way to add white to the basic filter color.
I agree with how POV treats treats this (well, kind of). I do think that
POV should re-use intersections that have already been computed if the two
IORs on the sides of the surface are identical. No need to do extra work.
Also, I wish POV used a color model similar to <red, green, blue,
red_filter, green_filter, blue_filter> - UVPov does this internally,
actually.
> 2) The ambient and diffuse contributions are modified by (1 -
> transparency). Why? And why just the ambient/diffuse and not specular
> or reflection?
Good question. I agree that consistency is important. Unfortunately,
backwards compatibility is also important, and the two do not always work
well together.
> 3) The shadow rays through a (partially) transparent surface aren't
> modified the same way as eye rays. You end up with colored shadows that
> are either brighter or darker than the surface itself. Results are even
> worse with distance based attenuation (extinction) in an interior.
I'd have to look into this more closely to understand what you mean. Do you
have any demo scenes that could demonstrate this?
> Don't know that I'd call any of these bugs - POV-Ray works the way it
> works. I just wonder if anyone knows why these choices were made.
You'd have to ask that of those who made the decisions. And povray.general
might not be the best place to ask. povray.programming might be better.
- Nathan
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|