The problems you are seeing is inherant in the volume-rendering algorithm
used by OpenDX, which is designed for large numbers of small primitives,
rather than a few large primitives.  It uses a back-to-front algorithm in
which the faces of the primitives are composited over one another taking
into account the distance in depth between the triangles.  To generate the
back-to-front ordering of the faces, OpenDX sorts them in Z based on the
depth of the centroid of each face.  Unfortunately, you don't always get
the right answer - for that matter, there isn't always a right answer.
Consider two polygons in an orthographic projection :

                                    \      /
                                      \  /
                                       /
    eye ----> Z             /
                                   /
                                 /
                               /
                             /

The \ triangle is in front of the / triangle, from the point of view of the
eye, but the centroid of the / is shallower, so the centroid-based depth
sort puts the / triangle in front of the \ triangle, which is wrong.


You can improve the situation by putting the Refine(level = 3 or 4)  in
front of Image, generating a lot of little tets from your two big ones.

Greg


Reply via email to