 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Christopher James Huff wrote:
> This is just another case of the coincident surface problem...POV
> doesn't know which side of the surface the light is on, so it
> unpredictably gets shadowed by it depending on how the precision errors
> work out.
Why not assume it's on both sides? Or neither...
--
Tim Cook
http://empyrean.scifi-fantasy.com
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GFA dpu- s: a?-- C++(++++) U P? L E--- W++(+++)>$
N++ o? K- w(+) O? M-(--) V? PS+(+++) PE(--) Y(--)
PGP-(--) t* 5++>+++++ X+ R* tv+ b++(+++) DI
D++(---) G(++) e*>++ h+ !r--- !y--
------END GEEK CODE BLOCK------
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
That's the typical coincidence surface problem:
POV-Ray has no means of checking if two
objects actually have coincident surfaces. It just
happens to hit one or the other by random.
This is also true for internal calculations of light,
I guess.
"Timothy R. Cook" wrote:
> Why not assume it's on both sides? Or neither...
--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3CA3AA9A.D891977D@scifi-fantasy.com>,
"Timothy R. Cook" <tim### [at] scifi-fantasy com> wrote:
> Christopher James Huff wrote:
> > This is just another case of the coincident surface problem...POV
> > doesn't know which side of the surface the light is on, so it
> > unpredictably gets shadowed by it depending on how the precision errors
> > work out.
>
> Why not assume it's on both sides? Or neither...
Because then you would never get any shadows. ;-)
POV doesn't know the light is "on" the surface, so it can't just avoid
that surface. If you made the surface shadowless, the problem would go
away, but that has other obvious problems.
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Christopher James Huff wrote:
> POV doesn't know the light is "on" the surface, so it can't just
> avoid that surface.
But the light (if we're talking about a point light) is a known
single point! It's easy to test if it's on the surface!
--
Tim Cook
http://empyrean.scifi-fantasy.com
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GFA dpu- s: a?-- C++(++++) U P? L E--- W++(+++)>$
N++ o? K- w(+) O? M-(--) V? PS+(+++) PE(--) Y(--)
PGP-(--) t* 5++>+++++ X+ R* tv+ b++(+++) DI
D++(---) G(++) e*>++ h+ !r--- !y--
------END GEEK CODE BLOCK------
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3CA3D327.77480C19@scifi-fantasy.com>,
"Timothy R. Cook" <tim### [at] scifi-fantasy com> wrote:
> But the light (if we're talking about a point light) is a known
> single point! It's easy to test if it's on the surface!
POV would have to check that point against the bounding box of every
object in the scene, and then against the surface of any objects it
might be on. This would slow things down noticeably, just to handle what
is really a degenerate case.
And then, the correct thing to do would be to always consider the light
shadowed by the object, otherwise you will get wrong shadows with
objects like a torus, where other parts of the object should cast
shadows from a point just above the surface. Of course, this wouldn't be
very useful...it would just slow things as mentioned above, and replace
user complaints about lights not lighting properly with complaints about
lights not lighting at all.
You could also mess around slightly with the depth values, basically
have POV lie to itself it doesn't "see" intersections that are very
close to the light source. The point is this just isn't necessary...just
don't put your lights on a surface! That situation never occurs in
reality and there is no reason to bother handling it.
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Christopher James Huff wrote:
> The point is this just isn't necessary...just don't put your lights
> on a surface! That situation never occurs in reality and there is
> no reason to bother handling it.
In all technicality, EVERY light in reality is occuring on a surface...
;)
--
Tim Cook
http://empyrean.scifi-fantasy.com
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GFA dpu- s: a?-- C++(++++) U P? L E--- W++(+++)>$
N++ o? K- w(+) O? M-(--) V? PS+(+++) PE(--) Y(--)
PGP-(--) t* 5++>+++++ X+ R* tv+ b++(+++) DI
D++(---) G(++) e*>++ h+ !r--- !y--
------END GEEK CODE BLOCK------
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Thanx everyone, i figured out my problem and fixed it
~Nick
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Timothy R. Cook <tim### [at] scifi-fantasy com> wrote:
> But the light (if we're talking about a point light) is a known
> single point! It's easy to test if it's on the surface!
No, it isn't.
You can test wether a point is inside or outside the object, but you
can't test if it's exactly on the surface.
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3CA4D442.D0395B13@scifi-fantasy.com>,
"Timothy R. Cook" <tim### [at] scifi-fantasy com> wrote:
> In all technicality, EVERY light in reality is occuring on a surface...
More like *most* lights in reality *are* surfaces. Putting a
light_source on a surface does nothing to imitate this.
And there are many cases where no surface is involved. Fire, for example.
Also, in reality, there is no such thing as a point light source. They
only exist because they are so much faster to compute.
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
> You can test wether a point is inside or outside the object, but you
> can't test if it's exactly on the surface.
Er, if you can test if a point is inside or outside the object, you
can test if it's exactly on the surface (i.e. point is neither
inside nor outside the object, or both, it must be coinciding)
--
Tim Cook
http://empyrean.scifi-fantasy.com
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GFA dpu- s: a?-- C++(++++) U P? L E--- W++(+++)>$
N++ o? K- w(+) O? M-(--) V? PS+(+++) PE(--) Y(--)
PGP-(--) t* 5++>+++++ X+ R* tv+ b++(+++) DI
D++(---) G(++) e*>++ h+ !r--- !y--
------END GEEK CODE BLOCK------
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |