|
|
[posted & emailed]
Warp wrote:
>
> http://www.cs.tut.fi/~warp/TesselationPatch/
>
I get it working with a 3.1g like. (Just had to remove the Uv_mapping code,
and correctly set the Number_Of_Textures in the Data structure when
used as an object {in tesselat.c} so as to avoid a Segmentation Fault
when freeing the scene, after the render).
While I was at it, I look for the bug...
I have a good news and a bad news (IMO):
Good news: I made the bug disappeared by modifying the
Tesselate_Object function so that :
DBL CoordZ1 = Min[Z] + IndZ*Size[Z]/ZAccuracy;
DBL CoordZ2 = Min[Z] + (IndZ+1)*Size[Z]/ZAccuracy;
is now
DBL CoordZ1 = Min[Z] + (IndZ-0.001)*Size[Z]/ZAccuracy;
DBL CoordZ2 = Min[Z] + (IndZ+1.001)*Size[Z]/ZAccuracy;
(And so on for the other coordinates over X and Y).
Bad news: this modification request that you remove the
optimisation that reused the intersection from the previous
round... because now the cubes are not contiguous, but slightly
overlapping.
As a side effect, the joint between triangles is now less visible.
Personnal comment : I do not understand why Warp decided to
split the cube in 6 tetrahedrons (Ok, I know that this
scheme make them to have the same volume, but the original
splitting seems to have a bias toward one diagonal of the cube,
which has a visual effect)
So I tried to use a split into five tetrahedrons
(four corner and one central (twice the volume of the corner))
and I found it to work quicker and yet to provide a better
visual (well, personnal opinion anyway (moreover, I'm biased...))
P.S.: When I said that I made the bug disappears, It was at least
for the provided bug demonstration scene. More testing is
probably needed.
Post a reply to this message
|
|