mzanin
17-11-2009 09:40:28
I've just started playing around with Mogre in the hopes that we could use it as a replacement for our existing in-house graphics engine.
One of the main requirements that Mogre has to meet for us to make use of it is that it needs to be able to cope with our large ECEF coordinates. I wrote a simple test application rendering a set of spheres at meter resolution at an arbitrary ECEF Cartesian location and (as expected) saw significant rounding errors; seen by the jittering of objects while the camera was moving around the scene close by.
Our existing graphics system works purely in doubles and only when the transforms have to be passed to DirectX will the system convert the Matrices to floating point values.
At that stage the values are small enough to not cause any significant rounding issues...
Now as I'm unfamiliar with Ogre/Mogre I'm not sure the best way to tackle this problem. I read that it is possible to build Ogre in double precision mode, will this work with Mogre also?
Anyway I'm interested to hear your suggestions.
One of the main requirements that Mogre has to meet for us to make use of it is that it needs to be able to cope with our large ECEF coordinates. I wrote a simple test application rendering a set of spheres at meter resolution at an arbitrary ECEF Cartesian location and (as expected) saw significant rounding errors; seen by the jittering of objects while the camera was moving around the scene close by.
Our existing graphics system works purely in doubles and only when the transforms have to be passed to DirectX will the system convert the Matrices to floating point values.
At that stage the values are small enough to not cause any significant rounding issues...
Now as I'm unfamiliar with Ogre/Mogre I'm not sure the best way to tackle this problem. I read that it is possible to build Ogre in double precision mode, will this work with Mogre also?
Anyway I'm interested to hear your suggestions.