In my application the size of the rendered objects is sometimes extremely huge and also located at extreme distance, this cause many issues as the default size for the floating point is 32 bits.
All the calculations are done using the double version of the panda types (LPoint3D, …), but that leads to strange code like :
as a LPoint3d() can not be implicitly converted to LPoint3f()
I also use a lot of tricks to scale down the scene before rendering, using bins to control the rendering of far objects, using adaptive lens scaling, shifting objects origin near the camera and so on…
Yet I still have problems due to the limited precision of the 32 bits floats and it gets harder and harder to work around them. (the last problem I encountered can only be solved, I think, by using several cameras and display regions which is rather overkill).
On the other hand, when I’m using a double precision fp version of Panda, I have almost no problem at all (except some basic adaptation to make the scene scale manageable)
I could build my own version of Panda to ship it with my app, but that’s a lot of work, I need to find how to integrate a custom version of Panda with deploy-ng, and if someone wants to use my app using the source they have to trust my build or rebuild panda themself.
So, if official double precision fp Panda3D packages could be provided it would be quite helpful to me, I could get rid of single precision compatibility and remove the obscure workarounds in my code.