![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nieminen Mika
Subject: Photons do not go through shadowless objects?
Date: 5 Aug 1999 05:33:46
Message: <37a95a7a@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
It seems that photons do not go through shadowless objects. Is this
intentional?
I think they should (you often want to surround your light sources with
bright shadowless objects...).
--
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
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nieminen Mika wrote:
>
> It seems that photons do not go through shadowless objects. Is this
> intentional?
> I think they should (you often want to surround your light sources with
> bright shadowless objects...).
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Your not expecting an object that cannot cast a shadow to cast a caustic are
you ? If I missed the question here maybe you could assign the objects in
question with the photons_pass_through modifier.
--
Ken Tyler
mailto://tylereng@pacbell.net
http://home.pacbell.net/tylereng/links.htm
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nieminen Mika
Subject: Re: Photons do not go through shadowless objects?
Date: 5 Aug 1999 05:48:01
Message: <37a95dd1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ken <tyl### [at] pacbell net> wrote:
: maybe you could assign the objects in
: question with the photons_pass_through modifier.
Oh, there was such a modifier...
I think I should read the documentation more carefully...
(I think it might be a good idea that objects with no_shadow should have
that photons_pass_through set by default...)
--
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
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nieminen Mika wrote:
>
> Ken <tyl### [at] pacbell net> wrote:
> : maybe you could assign the objects in
> : question with the photons_pass_through modifier.
>
> Oh, there was such a modifier...
> I think I should read the documentation more carefully...
>
> (I think it might be a good idea that objects with no_shadow should have
> that photons_pass_through set by default...)
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
I think it is better that the user can set that flag themselves rather than
have it set conditionaly. More is better than less where features are concerned
and you may find yourself wishing someday that a shadowless object will not
allow photons to pass through.
--
Ken Tyler
http://home.pacbell.net/tylereng/links.htm
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nathan Kopp
Subject: Re: Photons do not go through shadowless objects?
Date: 6 Aug 1999 00:07:17
Message: <37AA5F2B.839F2FAB@Kopp.com>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ken wrote:
>
> Your not expecting an object that cannot cast a shadow to cast a caustic are
> you ? If I missed the question here maybe you could assign the objects in
> question with the photons_pass_through modifier.
>
Actually, that won't do it. The photons_pass_through modifier is not very
well understood (even by myself at times) and hopefully I will be able to
document it more thoroughly soon.
On the other hand, it would probably be a good idea for shadowless objects
to be shadowless for photons. However, there are two options:
1) fast rendering, but shadowless objects will have ignore_photons enabled
by default (no photons will ever hit a shadowless object, even to get
deposited on them)
2) slower rendering (since the object will be treated like a transparent
object, thus increasing trace level for photons that pass through it)
but photons will get deposited on shadowless objects.
Opinions on which is better? #2 would be easier to implement (relativly
trivial, actually).
One last thought... a combination of the two might be good.. and might
help POV in general, too. If a refracted ray is colinear with the
previous ray (e.g. new interior has same IOR as old interior), then
don't compute any more intersections... rather re-use the existing
intersection stack. Does POV already implement this? If not, it could
potentiall be a nice speed-up in some instances, and would definately
help with photons and shadowless objects.
-Nathan
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nieminen Mika
Subject: Re: Photons do not go through shadowless objects?
Date: 6 Aug 1999 03:07:31
Message: <37aa89b3@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ken <tyl### [at] pacbell net> wrote:
: I think it is better that the user can set that flag themselves rather than
: have it set conditionaly. More is better than less where features are concerned
: and you may find yourself wishing someday that a shadowless object will not
: allow photons to pass through.
I think it's more intuitive that when light seems to go unmodified through
shadowless object and illumiates everything regardless of the object,
photons would do the same.
Actually it took me several hours to discover the problem. I had the
light source surrounded with a bright object and for some reason uvpov
didn't calculate any photons. When I set the light source to be an area
light, it calculated photons, so I thought there was some kind of bug (the
real reason was that the area light was bigger than the surrounding object).
After several hours of wondering I discovered it. I removed the object
and everything started working fine.
I was just thinking that if light goes through, photons do it as well.
--
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
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Ron Parker
Subject: Re: Photons do not go through shadowless objects?
Date: 6 Aug 1999 09:26:46
Message: <37aae296@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Fri, 06 Aug 1999 00:06:03 -0400, Nathan Kopp wrote:
>One last thought... a combination of the two might be good.. and might
>help POV in general, too. If a refracted ray is colinear with the
>previous ray (e.g. new interior has same IOR as old interior), then
>don't compute any more intersections... rather re-use the existing
>intersection stack. Does POV already implement this? If not, it could
>potentiall be a nice speed-up in some instances, and would definately
>help with photons and shadowless objects.
I agree that it could help, at least for any of the objects you're
planning to hit that are of the type that return all intersections.
Unfortunately, you'll run into a small snag in the form of there not
being a global intersection stack. The Intersection function finds
and returns the smallest intersection for a given object, which the
Trace function compares against its smallest result so far as it
iterates over the object tree. Intersection discards the actual
stack it was working with for each object when it returns. To make
it work, you'd have to have some way to make Intersection keep the
stack it had computed and reuse it when the ray doesn't get bent on
transmission. That probably means an extra field in each object to
keep the istack in, and maybe one to keep the ray it goes with in
as well. Also, you'd have to make sure that lighting always computes
the transmitted ray first, before any shadow, reflected, or radiosity
rays.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Came across this site while adding more links to my collection and thought
you might be interested. It covers spectral decomposition and the raytracing
of dispersive media plus there is a related lighting c++ library available for
inspection.
http://math1.uibk.ac.at/~werner/light/spectrum/
--
Ken Tyler
Older Links Page: http://home.pacbell.net/tylereng/links.htm
Updated Links Page: http://home.pacbell.net/tylereng/bkmrk999.htm
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |