There seems to be a lack of precision in the "IsCulled" function (ContextTriangles.cpp) that results in some forward-facing polygons being culled if they are fairly small on the display. Removing the calls to the "Round" function mostly alleviates this problem, except for some polygons that appear extremely small or narrow when displayed. It may be because the "Round" function adds 8 and then shifts right four bits, essentially removing four bits of precision.
Which case is it, large numbers or small numbers? The whole problem is how to calculate the signs of the determinants with at most 64 bits.
If you have a better solution (that does neither over- nor underflow), let me know.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.