Hi Robert,

> For instance for GIS whole world databases the usual way to manage things is
> to load the data in doubles then transform to a local origin and reduce any
> vertex data from doubles to floats in the process and store this data in
> straight osg::Vec3Array in an osg::Geometry.  You then place the object in
> the correct world space by decorating the subgraph with a Transform
> (typically a MatrixTransform) that places the local origin in it's correct
> world position and orientation.

So data are duplicated? There's the original dataset in double
precision and a transformed one in single precision?

> If you look at osgEarth and
> VirtualPlanetBuilder this is how they manage whole earth databases,
> maintaining floats where OpenGL hardware requires it, but using double
> MatrixTransforms and the use of double ModelView Matrices in the OSG cull
> traversal that ensures maintenance of precision as long as possible before
> one finally has to copy the data to OpenGL.

Thanks for the pointer.

Unfortunately, osgEarth is such a huge beast to reverse-engineer! And
their Coordinates Systems git page [1] isn't that much informative
about the implemented architecture in this regard.

I was wondering, since both the FBX/DAE plugin is able to handle
double precision data, isn't there a -maybe- similar mechanism in
straight OSG that allows for rendering a FBX/DAE mesh? Or is the
double to float reduction internally handled by the plugin?

     Émeric

[1] 
https://github.com/gwaldron/osgearth/blob/master/docs/source/developer/coordinate_systems.rst
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to