POV-Ray : Newsgroups : povray.unofficial.patches : MP 0.7 problem with trace & isosurface Server Time
1 Sep 2024 14:32:00 EDT (-0400)
  MP 0.7 problem with trace & isosurface (Message 1 to 3 of 3)  
From: Margus Ramst
Subject: MP 0.7 problem with trace & isosurface
Date: 4 Mar 2001 21:30:52
Message: <3AA2FB55.6ED3EBC6@peak.edu.ee>
I don't think this has been reported before, so here goes:
There seems to be a bug in MegaPOV 0.7 (and possibly previous) with using
trace() on isosurfaces. Basically, trace() does not find an intersection with
the isosurface.
But interestingly, I can work around this problem in the Windows version by
rendering this scene - or any other scene using trace() - and then rendering the
scene again. And this time, everything works OK! However, I can not do the same
with my Linux compile. I suspect this has something to do with the way the
Windows GUI handles running the render engine.
A small demo scene is below. Note that when I set the radius of the contained_by
sphere equal to that of the isosurface sphere, trace() never finds an
intersection - is this to be expected?

//Begin scene
#version unofficial megapov 0.7;
#declare O=isosurface{function{"sphere",<1>} contained_by{sphere{0,1.1}}}
#declare N=<0,0,0>;
#declare T=trace(O,0,z,N);
#if(N.x=0&N.y=0&N.z=0)
  #debug "No normal found!\n"
#else
  #debug "All OK\n"
#end
object{O}

-- 
Margus Ramst

Personal e-mail: mar### [at] peakeduee
TAG (Team Assistance Group) e-mail: mar### [at] tagpovrayorg
Home page http://www.hot.ee/margusrt


Post a reply to this message

From: Disnel
Subject: Re: MP 0.7 problem with trace & isosurface
Date: 5 Mar 2001 04:31:25
Message: <3AA36D0B.3000103@hlavacek-partner.cz>
I have the same problem for a very long time.

Disnel


Post a reply to this message

From: Chris Huff
Subject: Re: MP 0.7 problem with trace & isosurface
Date: 5 Mar 2001 07:51:51
Message: <chrishuff-6B19B4.07484505032001@news.povray.org>
In article <3AA2FB55.6ED3EBC6@peak.edu.ee>, Margus Ramst 
<mar### [at] peakeduee> wrote:

> I don't think this has been reported before, so here goes:
> There seems to be a bug in MegaPOV 0.7 (and possibly previous) with 
> using trace() on isosurfaces. Basically, trace() does not find an 
> intersection with the isosurface.

As far as I can figure out, the isosurface code relies on global 
variables (yuck!) that aren't initialized until after parsing, so method 
2 isosurfaces can't be traced during the parsing stage. Fixing it would 
probably involve a lot of modification to the isosurface code, and there 
really isn't much point when 3.5 will have a highly improved version.

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

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