POV-Ray : Newsgroups : povray.general : ANN: A new (extensive) entry in the VFAQ Server Time
1 Nov 2024 00:25:59 EDT (-0400)
  ANN: A new (extensive) entry in the VFAQ (Message 1 to 7 of 7)  
From: Warp
Subject: ANN: A new (extensive) entry in the VFAQ
Date: 25 Oct 2000 07:59:36
Message: <39f6cb27@news.povray.org>
I described extensively what I call "the shadow line artifact" in the VFAQ.
  Direct URL:

http://iki.fi/warp/povVFAQ/TheShadowLineArtifact/

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Alan Kong
Subject: Re: ANN: A new (extensive) entry in the VFAQ
Date: 25 Oct 2000 09:33:22
Message: <k4odvsolkeo6p2hlckjblqtil3o4i6246a@4ax.com>
On 25 Oct 2000 07:59:36 -0400 Warp wrote:

>http://iki.fi/warp/povVFAQ/TheShadowLineArtifact/

  Nice piece of work, Warp. Your example images clearly demonstrate the
shortcomings of the current lighting model, as explained in your
document.

-- 
Alan - ako### [at] povrayorg - a k o n g <at> p o v r a y <dot> o r g
http://www.povray.org - Home of the Persistence of Vision Ray Tracer


Post a reply to this message

From: Christoph Hormann
Subject: Re: ANN: A new (extensive) entry in the VFAQ
Date: 25 Oct 2000 13:18:22
Message: <39F715DC.40EB8AEF@schunter.etc.tu-bs.de>
Warp wrote:
> 
>   I described extensively what I call "the shadow line artifact" in the VFAQ.
>   Direct URL:
> 
> http://iki.fi/warp/povVFAQ/TheShadowLineArtifact/
> 

Great description of the problem, you maybe could mention the isosurface
solution, because it's the nearest "realistic" way to solve the problem.  

Christoph

-- 
Christoph Hormann <chr### [at] gmxde>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: Warp
Subject: Re: ANN: A new (extensive) entry in the VFAQ
Date: 26 Oct 2000 04:32:06
Message: <39f7ec05@news.povray.org>
Christoph Hormann <Chr### [at] schunteretctu-bsde> wrote:
: Great description of the problem, you maybe could mention the isosurface
: solution, because it's the nearest "realistic" way to solve the problem.  

  Yes, although I have never considered it a solution to the problem.
  Firstly, you can't modify the surface of any object with an isosurface
(but you have to make an isosurface shaped like the object, which in many
cases can be very difficult and possibly slow) and secondly, it doesn't
help with the problem in smooth triangle meshes.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Rune
Subject: Re: A new (extensive) entry in the VFAQ
Date: 26 Oct 2000 11:01:40
Message: <39f84754@news.povray.org>
"Warp" wrote on the webpage:
> If we want to be more sure, we could also check if we are hitting
> the "inside" of the surface at this closest intersection point and
> only then remove it. This might be necessary for non-closed surfaces.
>
> This algorithm will eliminate the shadowline artifact without
> eliminating shadowing and self-shadowing of the object.

> It has its defects, though. For example, if the camera is inside the
> object in question (and all the light sources are outside), we would
> expect to get a completely shadowed view of the surface. However, if
> the surface has perturbed normal, we will see some illuminated parts
> of the surface.

Couldn't this be avoided this way: Instead of removing the intersection
point if the inside of it is hit, remove it if the opposite side of it is
hit than of the current point. That way it works the same way no matter if
the camera is inside or outside of an object. Or would it just create some
new flaws?

Greetings,

Rune
--
\ Include files, tutorials, 3D images, raytracing jokes,
/ The POV Desktop Theme, and The POV-Ray Logo Contest can
\ all be found at http://rsj.mobilixnet.dk (updated October 9)
/ Also visit http://www.povrayusers.org


Post a reply to this message

From: Ron Parker
Subject: Re: ANN: A new (extensive) entry in the VFAQ
Date: 26 Oct 2000 17:38:29
Message: <slrn8vh92l.r3f.ron.parker@fwi.com>
On 25 Oct 2000 07:59:36 -0400, Warp wrote:
>  I described extensively what I call "the shadow line artifact" in the VFAQ.
>  Direct URL:
>
>http://iki.fi/warp/povVFAQ/TheShadowLineArtifact/

Another problem with your proposed solution is the problem of non-convex
objects.  The "first intersection belongs to the object" criterion should
instead read "the ray intersects the object an odd number of times."

That works for light sources outside the object.  Flip it to "even" if
the light source is inside the object.  It could also lead to crand-like 
graininess on some shadow lines, though, due to imprecision.  That's a 
harder problem to fix, but we've lived with it in lathes and prisms, right?

Another problem appears if your sphere contains (for example) another slightly
smaller sphere - the smaller sphere will shadow the larger one.


-- 
Ron Parker   http://www2.fwi.com/~parkerr/traces.html
My opinions.  Mine.  Not anyone else's.


Post a reply to this message

From: Warp
Subject: Re: ANN: A new (extensive) entry in the VFAQ
Date: 27 Oct 2000 06:53:04
Message: <39f95e8f@news.povray.org>
Ron Parker <ron### [at] povrayorg> wrote:
: Another problem with your proposed solution is the problem of non-convex
: objects.  The "first intersection belongs to the object" criterion should
: instead read "the ray intersects the object an odd number of times."

  You are right. However, sometimes this self-shadowing of non-convex object
is the correct behaviour (when the self-shadowing happens from "outside" the
surface) and sometimes it's unwanted (when it happens from the "inside").
  I can't think of any way of detecting which one is the case.

: Another problem appears if your sphere contains (for example) another slightly
: smaller sphere - the smaller sphere will shadow the larger one.

  I think it's possible to ignore all the objects inside the current object
(ie. if the intersection point with the other object is inside this object,
then we just ignore it).
  However, there's still a problem: If our sphere is "hollow", ie it is the
difference of a sphere and a bit smaller sphere, and then there's another
object inside this hollow sphere.

  I added some comments about this to the page.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.