Double precision fork of Blender

Hi all!

I am a PhD student in the field of scientific computing (fluid mechanics) and have been working with Blender for quite a while now (see e.g. here).

Now I’m again using Blender for pre-processing but my main code is running in double precision, whereas Blender only knows single precission. Thus my question is how difficult it would be to convert Blender to use double precision. Due to the nature of my work I only need the modelling tools to run with doubles. That means that the position of vertices and normals are saved in doubles. I suspect that I would need to write a new in/output function for a double precision file type. So I’m rather wondering about the rest of the program.

Also if there are others that are interested in such a feature/fork let me know. Possible colaborators raise your hands as well.


I would think that just a double-precision import/export plugin should cover most of your needs. Making an entire fork of Blender in double-precision would be much more work than it would be worth.

Sorry, but I thought the blender internals are all in single precision or am I wrong?

I assume so too, but I think the exporter could do double precision.

That doesn’t help me much if only the exporter can do double precision. Where is it going to take the additional information from? I need the location (and normal) data inside blender to be double precision. Because otherwise an exporter in double precision doesn’t make much sense.

Oh. I thought you just needed compatibility with your other tools.
I didn’t realize that when you were modeling in Blender you ran up against the limits of single precision and tried to move vertices smaller distances than Blender would let you.
If that’s a problem, just treat a Blender Unit as a nanometer and then shrink it down during the export stage.

Sorry, but that’s not the issue. If I want a vertex to be placed at 1/3 then I want to be able to enter 0.3333333333333 and not 0.3333333 or when creating a sphere, I need the vertices to be at their place with relative error of 10^-14 and not 10^-7.