I have a directX marching cubes planet generator that generates large planets at runtime via noise functions. I’d like to port it to a game engine. Right now I’m using 64 bit coordinates CPU side. I’m wondering if Lumberyard supports this, or will support it any time soon. I have most of the tech done: automatic LOD, chunking, I generate normals and soon I’ll have steaming physics working. I don’t even need it to store anything on disk since it’s currently functionally generated at run time. All I basically need is to send meshes over as a player moves around the planet. Can lumberyard be used for this?
Hi @Gnollrunner, Lumberyard currently does not support 64 bit coordinates. This is something we are looking at, but no timeline set for when this will be available.
Thanks for your interest in Lumberyard.
OK thanks. I guess I’ll have to stick to DirectX for a while. I’m surprised that only one engine seems to support this and it’s pricey.
I’m not sure what the state of play is these days, but 64 bit co-ordinates were always pretty expensive. I think it’s only Unigine that supports it, and only in their higher tiers, because it tends to be used only in serious simulations, where performance can be addressed by throwing hardware at it.
I don’t find them expensive at all, at least not on the CPU. The calculations are close to as fast as floats. Probably if you add in all the rebasing stuff you need to do large worlds with floats, the difference would be even less, and I’m guessing doubles might even win. Certainly it’s way easier to use doubles.
On the GPU it’s a different story. But there you typically setup your transformations to move the world around camera so you can use regular floats there. The main requirement is you need a good LOD system and some occlusion stuff to avoid Z-fighting. But it’s doable.