On 8/20/2012 12:41 AM, Nick Sabalausky wrote:
On Sun, 19 Aug 2012 01:21:03 -0500
Sean Cavanaugh<worksonmymach...@gmail.com>  wrote:

Nobody knows how floats work, without being locked in a closet for a
at least a week and told to change their doubles back into floats and
fix their code, since thats where 99% of precision problems actually
come from.


Sorry, I don't understand, where are you saying 99% of precision
problems come from?


Chaining algorithms together without regard to how the floats are propagated through the system. Also, accumulating lots of values with addition and subtraction can be problematic, as can subtracting two values to near-zero values also leaves you with a most of the error.

There is a pretty classic example in 3d graphics: the transform from object space to world space to projection space. Even if these matrices are combined, your geometry can be transformed a very large distance from the world origin and lose a lot of precision in the process. The way to fight this is to use camera instead of world space as much as possible. If you don't do this all the vertices on all the meshes in your world snap to different values at varying rates when they move or the camera moves, causing one of the main forms of z-fighting. Plus the further you get from your world origin the worse things get, which makes building something on the scale of an open-world game rather difficult.

Reply via email to