POV-Ray : Newsgroups : povray.beta-test : Isosurface CSG shadow problem Server Time
31 Jul 2024 04:15:34 EDT (-0400)
  Isosurface CSG shadow problem (Message 4 to 13 of 13)  
<<< Previous 3 Messages Goto Initial 10 Messages
From: Mike Williams
Subject: Re: Isosurface CSG shadow problem
Date: 23 Sep 2001 22:53:12
Message: <yrU33AA5+pr7EwYi@econym.demon.co.uk>
Wasn't it Slime who wrote:

>The isosurface in this scene has a plane cut out from it. The light source
>is at the same location as the camera, so no shadows should be visible.
>However, the isosurface seems to be showing shadows from the part of it that
>has been off by the plane.

They're not shadows, they're holes. You're looking through the holes and
seeing the background. They happen to look black in this scene because
your background is black. 

(1) Add "background {rgb <0,0,1>}" and almost all the "shadows"
disappear.

(2) Add "max_gradient 3" and the few remaining "shadows" also disappear.
I recommend explicitly setting a sensible max_gradient for all 3.5
isosurfaces.

(3) Add "max_trace 3" to render the whole of the surface. Max_trace is
required for all CSG operations involving isosurfaces.

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Slime
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 00:26:32
Message: <3baeb5f8@news.povray.org>
By golly, they *are* holes. How strange. Because they're (a) the holes that
should be there, plus (b) holes that exactly mimic where i see other parts
of the isosurface when the plane is not cut out from it. (try rendering the
scene without the plane, and remember where peices of the isosurface are,
and then rerender the scene with the plane cut out, and you'll see that the
places where the peices used to be but aren't are now holes in other parts
of the isosurface hit by the same ray.)

Looking at it from the opposite side, however, doesn't show the extra holes
that I explained in (b). set background{rgb 1} and change the camera
location from <0,0,-15> to <0,0,15> and you'll see that those holes
disappear. If you then set the plane's normal from <1,1,-.5> to <1,1,.5>,
you'll see that new holes have been cut out on the side that we were
originally looking at.

I still think there's something strange here. I can render some images if
need be.

- Slime
[ http://www.teja.nu/slime/ ]
[ http://www.teja.nu/slime/images/ ]

"Mike Williams" <mik### [at] nospamplease> wrote in message
news:yrU33AA5+pr7### [at] econymdemoncouk...
> Wasn't it Slime who wrote:
>
> >The isosurface in this scene has a plane cut out from it. The light
source
> >is at the same location as the camera, so no shadows should be visible.
> >However, the isosurface seems to be showing shadows from the part of it
that
> >has been off by the plane.
>
> They're not shadows, they're holes. You're looking through the holes and
> seeing the background. They happen to look black in this scene because
> your background is black.
>
> (1) Add "background {rgb <0,0,1>}" and almost all the "shadows"
> disappear.
>
> (2) Add "max_gradient 3" and the few remaining "shadows" also disappear.
> I recommend explicitly setting a sensible max_gradient for all 3.5
> isosurfaces.
>
> (3) Add "max_trace 3" to render the whole of the surface. Max_trace is
> required for all CSG operations involving isosurfaces.
>
> --
> Mike Williams
> Gentleman of Leisure


Post a reply to this message

From: Slime
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 00:33:00
Message: <3baeb77c@news.povray.org>
Hmm...  I tried putting this in my isosurface and it gave me a bug, as
though it didn't recognize it, even though it was color coded...

- Slime
[ http://www.teja.nu/slime/ ]
[ http://www.teja.nu/slime/images/ ]

"Ron Parker" <ron### [at] povrayorg> wrote in message
news:slr### [at] fwicom...
> On Sun, 23 Sep 2001 13:37:01 -0400, Slime wrote:
> >The isosurface in this scene has a plane cut out from it. The light
source
> >is at the same location as the camera, so no shadows should be visible.
>
> Does CSG with isosurfaces still require the all_intersections keyword?
>
> --
> plane{-z,-3normal{crackle scale.2#local a=5;#while(a)warp{repeat x flip
x}rotate
> z*60#local a=a-1;#end translate-9*x}pigment{rgb 1}}light_source{-9red
1rotate 60
> *z}light_source{-9rgb y rotate-z*60}light_source{9-z*18rgb
z}text{ttf"arial.ttf"
> "RP".01,0translate-<.6,.4,.02>pigment{bozo}}light_source{-z*3rgb-.2}//Ron
Parker


Post a reply to this message

From: Ken
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 00:35:18
Message: <3BAEB92D.157025BE@pacbell.net>
Slime wrote:
> 
> Hmm...  I tried putting this in my isosurface and it gave me a bug, as
> though it didn't recognize it, even though it was color coded...

Then it is no longer a supported keyword even though the editor recognizes
the token. There are few of those left over from the development stages of
the program.

-- 
Ken Tyler - POV-Ray Technical Assistance Group


Post a reply to this message

From: Mike Williams
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 02:40:24
Message: <fPI8+DALTtr7Ew$z@econym.demon.co.uk>
Wasn't it Slime who wrote:
>By golly, they *are* holes. How strange. Because they're (a) the holes that
>should be there, plus (b) holes that exactly mimic where i see other parts
>of the isosurface when the plane is not cut out from it. (try rendering the
>scene without the plane, and remember where peices of the isosurface are,
>and then rerender the scene with the plane cut out, and you'll see that the
>places where the peices used to be but aren't are now holes in other parts
>of the isosurface hit by the same ray.)
>
>Looking at it from the opposite side, however, doesn't show the extra holes
>that I explained in (b). set background{rgb 1} and change the camera
>location from <0,0,-15> to <0,0,15> and you'll see that those holes
>disappear. If you then set the plane's normal from <1,1,-.5> to <1,1,.5>,
>you'll see that new holes have been cut out on the side that we were
>originally looking at.
>
>I still think there's something strange here. I can render some images if
>need be.


Did you read my points (2) and (3) or just the bit about the background? 

In particular point (3) makes a big difference to which parts of the
scene you're actually asking it to render when viewed from different
directions.

With all my three point's applied, I think you'll find that everything
behaves correctly.

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: ingo
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 04:34:55
Message: <Xns91266BA5E1C14seed7@povray.org>
in news:3baeb77c@news.povray.org Slime wrote:

>> Does CSG with isosurfaces still require the all_intersections
>> keyword? 
> Hmm...  I tried putting this in my isosurface and it gave me a bug,
> as though it didn't recognize it, even though it was color coded...

all_intersections is still recognised here, beta-4.

Ingo

-- 
Photography: http://members.home.nl/ingoogni/
Pov-Ray    : http://members.home.nl/seed7/


Post a reply to this message

From: Slime
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 09:48:29
Message: <3baf39ad$1@news.povray.org>
Oh, alright, sorry, I misread "max_trace" as "max_trace_level". Max_trace
fixed it. But how come in CSG it tests for parts of the isosurface outside
of what has been cut off from the isosurface? Why doesn't it only test the
parts of the isosurface that have a chance of being visible?

- Slime
[ http://www.teja.nu/slime/ ]
[ http://www.teja.nu/slime/images/ ]

"Mike Williams" <mik### [at] nospamplease> wrote in message
news:fPI8+DALTtr7Ew$z@econym.demon.co.uk...
> Wasn't it Slime who wrote:
> >By golly, they *are* holes. How strange. Because they're (a) the holes
that
> >should be there, plus (b) holes that exactly mimic where i see other
parts
> >of the isosurface when the plane is not cut out from it. (try rendering
the
> >scene without the plane, and remember where peices of the isosurface are,
> >and then rerender the scene with the plane cut out, and you'll see that
the
> >places where the peices used to be but aren't are now holes in other
parts
> >of the isosurface hit by the same ray.)
> >
> >Looking at it from the opposite side, however, doesn't show the extra
holes
> >that I explained in (b). set background{rgb 1} and change the camera
> >location from <0,0,-15> to <0,0,15> and you'll see that those holes
> >disappear. If you then set the plane's normal from <1,1,-.5> to <1,1,.5>,
> >you'll see that new holes have been cut out on the side that we were
> >originally looking at.
> >
> >I still think there's something strange here. I can render some images if
> >need be.
>
>
> Did you read my points (2) and (3) or just the bit about the background?
>
> In particular point (3) makes a big difference to which parts of the
> scene you're actually asking it to render when viewed from different
> directions.
>
> With all my three point's applied, I think you'll find that everything
> behaves correctly.
>
> --
> Mike Williams
> Gentleman of Leisure


Post a reply to this message

From: Bob H 
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 10:26:44
Message: <3baf42a4@news.povray.org>
"Slime" <noo### [at] hotmailcom> wrote in message
news:3baf39ad$1@news.povray.org...
> Oh, alright, sorry, I misread "max_trace" as "max_trace_level". Max_trace
> fixed it. But how come in CSG it tests for parts of the isosurface outside
> of what has been cut off from the isosurface? Why doesn't it only test the
> parts of the isosurface that have a chance of being visible?

Heh, my guess would be difficulties in bounding.  A isosurface has been said
to be an elusive thing to trace.  But you also seem to be talking about
Catmull hidden surface stuff, and I don't think POV-Ray does any Catmulling
really.  Not that I actually know anything.  And you might not be talking
about such a thing anyhow.

Bob H.


Post a reply to this message

From: Ron Parker
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 10:27:20
Message: <slrn9qugma.ot5.ron.parker@fwi.com>
On Mon, 24 Sep 2001 09:47:29 -0400, Slime wrote:
>Oh, alright, sorry, I misread "max_trace" as "max_trace_level". Max_trace
>fixed it. But how come in CSG it tests for parts of the isosurface outside
>of what has been cut off from the isosurface? Why doesn't it only test the
>parts of the isosurface that have a chance of being visible?

And how exactly do you think it should go about doing that?

-- 
#local R=rgb 99;#local P=R-R;#local F=pigment{gradient x}box{0,1pigment{gradient
y pigment_map{[.5F pigment_map{[.3R][.3F color_map{[.15red 99][.15P]}rotate z*45
translate x]}]#local H=pigment{gradient y color_map{[.5P][.5R]}scale 1/3}[.5F
pigment_map{[.3R][.3H][.7H][.7R]}]}}}camera{location.5-3*z}//only my opinions


Post a reply to this message

From: Slime
Subject: Re: Isosurface CSG shadow problem
Date: 24 Sep 2001 18:36:37
Message: <3bafb575$1@news.povray.org>
Well, I'm not really sure how the algorithm works for CSG, but for a simple
example of what I'm thinking of:

difference {
    isosurface {blah blah blah contained_by{ sphere{0,1} }}
    sphere { x,1 } // "sphere B"
}

If a ray hits the bounding sphere of the isosurface, but the point where it
hits it is *inside* sphere B, then it should not start checking
intersections of the isosurface. It should continue on until it hits the end
of sphere B. Then it should test to see if it's inside any *other* objects
in the difference, but ovbiously it's not in this case since there are no
other objects, so it should pretend as though it just entered the
isosurface, and start checking for intersections there.

Sort of as though the contained_by object itself were a CSG object.

If I sounded like I was challenging anyone in my previous post, I apologize,
I had no intention of doing so.

- Slime
[ http://www.teja.nu/slime/ ]
[ http://www.teja.nu/slime/images/ ]

"Ron Parker" <ron### [at] povrayorg> wrote in message
news:slr### [at] fwicom...
> On Mon, 24 Sep 2001 09:47:29 -0400, Slime wrote:
> >Oh, alright, sorry, I misread "max_trace" as "max_trace_level". Max_trace
> >fixed it. But how come in CSG it tests for parts of the isosurface
outside
> >of what has been cut off from the isosurface? Why doesn't it only test
the
> >parts of the isosurface that have a chance of being visible?
>
> And how exactly do you think it should go about doing that?
>
> --
> #local R=rgb 99;#local P=R-R;#local F=pigment{gradient
x}box{0,1pigment{gradient
> y pigment_map{[.5F pigment_map{[.3R][.3F color_map{[.15red
99][.15P]}rotate z*45
> translate x]}]#local H=pigment{gradient y color_map{[.5P][.5R]}scale
1/3}[.5F
> pigment_map{[.3R][.3H][.7H][.7R]}]}}}camera{location.5-3*z}//only my
opinions


Post a reply to this message

<<< Previous 3 Messages Goto Initial 10 Messages

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