64-bit Coordinate System

As someone who has made their own 64bit coordinate rendering engine, I want to share my findings and explain to a few who ‘don’t see the value’ why it’s a big deal.

OpenGL and C++ all have 64bit types, and physics engines work the same, if not better, with the native data size. There is no limit on the desktop. The only reason engines hold back is to support older mobile devices with 32bit processors.

64Bit coordinates: Create Universe sized simulations right now to the nanoparticle level in a single scene, without any trickery. Currently games have to employ workarounds like shifting the entire scene to center around Zero, which causes glitches (Rust here’s looking at you).
You’ll see most “Big” games are only the size of islands, bigger ones have loading screens.

With 64bit coordinates the devs don’t have to worry and can just stream in assets at the right location without complex math or networking workarounds.

64bit processors perform better with 64bit data types. When they use 32bits they use a “Shim” driver that emulates 64bit, which takes a little extra time from the CPU. On Windows this is called WOW64.

The only current limitation we have is the Depth buffer, which supports only 32bits. It’s crazy, because it’s just just short of being able to render the earth at scale with no artifacts. A 34bit depth buffer would solve so many visual artifacts. Obviously the screen is small in pixel count, so a 64bit view matrix is overkill, but the other matrixes are very nice to have.

Uploading 64bit coords to OpenGL is easy. There are native 64bit OpenGL types, but you can also store all your transforms locally in 64bit, and multiply by a 32bit view transform matrix as the final step and render a 64bit world just fine, with negligible performance impact.

Unreal finally adding LWC is amazing. It means huge universe size games are going to spring forth with fewer glitches and fake loading screens.

64Bit also means very small sizes. Simulating quantum physics at 1:1 scale is now possible, making UnReal very attractive for scientists.

A 64bit number can comfortable contain the size of the known Universe, and comfortable define a single particle within that universe all at 1:1 scale.

3 Likes