|
|
[FU2:p.g, crossposted in p.b-t]
Thanks to Ken and our exchange about SOR in p.beta-test,
I got back to the source of DKBTrace 2.12 as well as Povray 2.0.
First point: Ken, you were right; no SOR in these versions.
But it happened that blob was already there in pov 2.0
And I had that small scene with a bogus blob just lying
in a directory... So I recompile pov 2.0 (a far lot less
source files !) and give it a try.
BINGO !!! The defect was not present in 2.0, but is in 3.1.
So, I went for a comparaison of the blob source file... I
was expecting a bug in the root-solver... Wrong again!
It is the bezier optimisation which seems to be the cause.
Have a nice week-end.
Oh Yes,
unofficial Povray-3.1g, Linux 2.2.19, Pentium 180MHz, 256Mb
demo scene:
-----------
camera { location <.75,1.5,2.6>
direction -8*z
up y
right 4/3*x
look_at <0,0,0>
}
blob {
threshold 0.6
component 1,1, <0.75, 0, 0>
component 1,1,<-0.375, 0.64952, 0>
component 1,1,<-0.375, -0.64952, 0>
texture { pigment { color rgb <1,1,0> } }
}
light_source { <0,60,30> color rgb <1,1,1> }
light_source { <0,0,0> color rgb <1,1,1> }
light_source { <0,0,5> color rgb <1,1,1> }
Here my patch/kludge/modification:
----------------------------------
*** sourc/blob.c Fri May 11 18:57:23 2001
--- source/blob.c Fri Sep 7 20:16:47 2001
***************
*** 504,504 ****
}
}
/*
* If the following intersection lies close to the current intersection
* then first add/subtract next region before testing. [DB 7/94]
*/
if ((i + 1 < cnt) && (fabs(intervals[i].bound - intervals[i + 1].bound) <
EPSILON))
{
continue;
--- 510,511 ----
}
}
+ #if 0
/*
* If the following intersection lies close to the current intersection
* then first add/subtract next region before testing. [DB 7/94]
*/
if ((i + 1 < cnt) && (fabs(intervals[i].bound - intervals[i + 1].bound) <
EPSILON))
{
continue;
***************
*** 546,546 ****
{
continue;
}
!
/*
* Now we could do bezier clipping to find the roots
* but I have no idea how this works. [DB 2/95]
--- 553,553 ----
{
continue;
}
! #endif
/*
* Now we could do bezier clipping to find the roots
* but I have no idea how this works. [DB 2/95]
Post a reply to this message
|
|