double precision with jogl?

have you ever tested glVertex3d with very large values (> 1000000) ?
in my app, the animation is not smooth any more with positions outside the range of a float variable although i use double values everywhere.

has jogl a problem with double precision?

The hardware on the gfxcard does vectors in 32bit, no matter what you feed it.

so all the OpenGL commands for double values are in fact useless?
my game plays in a really big world (thousands of kilometers, but object details can be as small as centimeters)
what can i do to overcome this 32 bit restriction?

does anybody know a great (and simple ;D ) trick?

that would be very nice…

Try looking into continuous worlds, I think the trick that they use is to have chunks of the world where everything within a chunk has coords relative to the chunks location.

http://www.drizzle.com/~scottb/gdc/continuous-world.htm

Depending on your view distance you may also have to pull off tricks with the zbuffer to get the precion you want.

last night i thought of another solution:
why not put the camera to the origin and translate all other coordinates accordingly before sending them to openGL?
All objects close to the camera should be calculated with hight precision, whereas very far objects are not visible anyway.
I am going to try this first, because it seems so simple…