For now, I committed the round -> rint change so that windows folks can work with latest builds. I tested it and it works. When you decide on what's the best function to be used instead of round, feel free to change.
Fred, big thanks for debugging this!
ok, found the bastard. a math function difference, as i suspected. so the correct answer is: "the round() at line 377 of Shape.h behaves like a ceil() on windows" (don't ask me why) it is of prime importance for the rounding done in the intersector that round() behaves like a round, ie that [0...0.5] maps to 0 and [0.5...1] maps to 1. to fix it, the quick way is to use rint() instead (which i believe is what i was using), but that may induce other incompatibilities with other systems. at any rate, i'm not qualified to handle platform-specific stuff, so i leave it to you to choose the appropriate course of action
Depending on what you need, there are different ways of achieving this portably -- also there are some finer points like how negative numbers should be handled, and whether 0.5 gets rounded up or down...
I'm CCing Nathan on this since he has better mathematical background to answer your question than I do.
-mental
<< signature.asc >>
_________________________________________________________________ Get business advice and resources to improve your work life, from bCentral. http://special.msn.com/bcentral/loudclear.armx