Flat cells, without epsilons? back

(L) [2006/05/15] [beason] [Flat cells, without epsilons?] Wayback!

I searched these forums for "flat" and found few details about handling flat cells.


I have the most naive, straightforward, and SLOW compiler building kdtrees with perfect clipping. My clips are

to EXACTLY the floating point boundaries of triangles (or their intersection with the parent voxel, found using Sutherland-Hodgeman clipping).


Of course these splits lead to flat cells for axis-aligned triangles (meaning the cells have 0 width). I traverse these cells fine, but when I do

MT or Pluecker triangle intersection (minimum storage, I haven't tried Wald's) my t values (distance to triangle) inevitably fall out of

the range [t_min, t_max] of the cell, where t_min=t_max, due to minute differences in the calculation of t by these algorithms.


I read a post by toxie saying he doesn't have "ANY" epsilons, and another by Xela saying traverals that have FLT_EPSILON, or epsilons in general, are "a wrong one".


So my question is.. How do I get an exact match for t on these AA triangles so that t=t_min=t_max, and avoid epsilons?


The only solution I can think of is checking that the triangle is AA and doing an exact test, i.e.:

back