Only float precission for vertices?

It seems that there is no support for doubles as vertex positions in directx. A vertex either takes three floats or a vector which in turn is composed of floats. Is this simply the limit

I am generating a huge procedural universe which I want to render. The distances to starts are not a problem since I simply scale the me-to-star vector so it fits. However I would like to have a planet and perhaps its moons in a simgle frame of reference and avoid having to run arround and play tricks to deal with those distances.

If i want a float to represent distances down to 1 cm then it can not contain the needed distances, so the question is... can I somehow make directx accept vertices with double valued coordinates



Answer this question

Only float precission for vertices?

  • Ling A

    You can’t but even if you could do this it would not help you as most current hardware can only process 32 Bit floats in the vertex processor. They best what I have seen so far was a 36 Bit vertex processor from 3D Labs. But they are not in the PC GPU business anymore.



  • vasu_ve

    Ok. Thanks.

    I will just have to play arround with smaller sections then, and only use the hardware for those smaller segments. I thought it could be done in hardware. The article named "a realtime procedural universe" on gamasutra seemed to be using doubled in opengl. I never did look much into the sourcecode so perhaps I am wrong about it.


  • Only float precission for vertices?