Building Panda with STDFLOAT_DOUBLE = 1

Hi, I had some problems when displaying large parts that required a projection matrix with small values. I found a topic explaining how to compile Panda with the STDFLOAT_DOUBLE = 1 parameter and it works fine now. I have two questions about this configuration.
Firstly, do I need to rebuild the third party projects? The second question I have is: Is this configuration compatible with all graphics cards?

Greetings Yoann

No, it only affects Panda, but if you use Bullet or ODE for physics and want to use higher precision for physics calculations, you may also want to make sure to use double-precision versions of those.

Yes, because it only affects how Panda3D stores and performs math on floating-point numbers in system memory, but it still (by default) uploads them as single-precision to the graphics card.

If you additionally want to tell Panda to upload double-precision floats to the graphics API, you need to set vertices-float64 1 in Config.prc. I think this may require something like a DX11 / OpenGL 4 era graphics card to work fully, but I believe Panda will still gracefully degrade if it’s not supported by the graphics card.

2 Likes

Thank you very much fir this quick answer, I really appreciate.