From: Doug G. (C. <gw...@ar...> - 2007-06-13 21:42:08
|
Re. fastf_t: We (mainly Muuss) originally came up with that as a compromise to better fit the very small platforms (PDP-11, the original host for MGED, being the most important example). On any modern desktop, laptop, or mainframe, fastf_t should be chosen to be double. There is an intrinsic problem using floating-point representation for what are treated as real numbers; this shows up in any "naive" CSG system (meaning one that does not explicitly try to solve the issue) when a traced ray coincides exactly with a "seam" between two unioned primitives. Unfortunately this occurs relatively commonly, when the target geometry and the interrogating grid are nicely aligned with the coordinate axes. I recall early on a shotline dead center on a vehicle managed to "miss" it by squeaking through such a crack. |