ok, I’ve added double precision support. Maybe this addresses your major concerns.
To enable it, follow these steps to compile the Newton Core SDK:
- Open the Visual Studio solution:
.../Plugins/newton/Source/ThirdParty/newtonLibrary/ExampleLibrary.sln
- Make sure the configuration is set to “Release.” you can also try Debug, but that has a corruption memory functionality that uses more memory and is much slower.
- Open the file:
../Source/ThirdParty/newtonLibrary/Public/dCore/ndTypes.h
- Find and uncomment the following line:
//#define D_NEWTON_USE_DOUBLE
(Uncomment it to enable double precision.) - Compile the solution. This will generate the updated Newton DLL.
Once compiled, you can take the plugin and add it to your project.
Important Note: Double and single precision DLLs are incompatible.
If you switch DLLs, Unreal assets created with one version won’t work with the other.
You will need to recreate any levels to ensure they load properly.
This issue arises from Unreal’s binary format, which has been a problem for almost 30 years.
While changing the format to XML (which supports both binary and ASCII) resolved this,
it’s still an ongoing limitation.
I’ve also replied to your message explaining the differences.
If you’d like to try the double precision mode, you can compare the results.
Hope this helps!