|
|
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
|
|
|
|
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
|
|