Jump to content

double precision floats


panz3r
 Share

Recommended Posts

It's not high priority but this is the direction I plan to move in, since we are focusing on high-end PC graphics. There will be a gradual rolling out of this ability with things happening under the hood until it is completely supported.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

  • 2 years later...
  • 7 years later...

Ultra supports this in the enterprise build.

One thing I found is that supporting double floats by itself is not that useful. The next thing people want is some streaming terrain and planet system to populate the world with. But that itself isn't that useful, because no one actually has any data for such a system, so the next thing they need is some kind of geospatial mapping system that fetches real world terrain data.

So I consider all of those things to go together and be required before this will see release.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

1 hour ago, panz3r said:

Looks like even after 10 year double precision is not available and Leadwerks 5 is a mythical unicorn. In the meantime Godot and Unreal 5 have it for free.

He did say it was not a high priority :)

i now hate love C++

Beeeeeeeeeeeeeep~~This is a test of the emergency signature system~~Beeeeeeeeeeeeeep

RX 6800XT | i5-13600KF | 32GB DDR5 | 1440p is perfect

Link to comment
Share on other sites

18 hours ago, Josh said:

Ultra supports this in the enterprise build.

One thing I found is that supporting double floats by itself is not that useful. The next thing people want is some streaming terrain and planet system to populate the world with. But that itself isn't that useful, because no one actually has any data for such a system, so the next thing they need is some kind of geospatial mapping system that fetches real world terrain data.

So I consider all of those things to go together and be required before this will see release.

So where i ca buy this Leadwerks 5 that supports double precision ?  10 years ago was not said that will be only enterprise.

In any case this looks like a joke. Of course double precision is useful without planet and streaming terrain, you are just inventing lame excuses.

If 10 years was not enough to bring to game developers leadwerks 5 with double precision is clear that this is vaporware. Anyway now there is no reason to make plans to use Leadwerks when Godot is free, opensource and have double precision and unreal 5 is kind of free and blows out of the water Leadwerks engine one the graphic quality and also have double pecision.

Maybe leadwerks have some niche in non-gaming industries like simulations due to licenses aspects but it is cleat that for game dev it lost the train.

Link to comment
Share on other sites

I am curious, what do you plan to do with 64-bit floats that cannot be done with 32-bit?

Ultra Engine is Leadwerks 5, and is due out soon, whenever I finish final testing. The main benefit of this engine is rendering performance.

The engine has also been designed from the start to support double floats, but this is not included in the 1.0 version. All over the header files you can see statements like this:

#ifdef DOUBLE_FLOAT
	dVec3 position;
	dMat4 matrix;
#else
	Vec3 position;
	Mat4 matrix;
#endif

Of course there is more to it than that, but the whole engine was designed with this feature in mind.

As I said, double float support by itself is not very useful. Beyond what I said above there are two more layers to the problem of realistic space simulation:

There is actually no ready-to-use geospatial data set for the moon and other satellites. All the data served up by geo mapping systems is compressed to where it is unusable for 3D rendering. These are some slides from a presentation I showed NASA:

Image1.thumb.png.424116afae5d362c6661bead6661c910.png

Image2.thumb.png.3fb32d75da0ed2ed4451988f701d76a1.png

To solve these problems, I developed the world's only lunar geospatial data set that is usable for 3D rendering, by processing the original full-resolution data from NASA. My program that does this takes a full day to run. I also developed a technique for recovering missing data from the moon above 60 degree latitude. (LRO's wide angle camera (WAC) does not have data for this region). It's sitting on a hard drive on my desk right now.

Picture2.thumb.jpg.486033f906af469ce0297a9be883bf95.jpg

That's just for the Earth's moon. I think Earth itself will be a bit easier to find good data for, and Mars will probably be similar to the moon data I have. Mars will probably require similar processing. I doubt there is much high-res data available for other planets, but the whole system will probably require an image server with a few terabytes at least.

And then finally, because planets are not stationary in space, you need a system to track the movement of planets and even the sun. (The sun has a small orbit around a fixed point in space due to the gravitational pull of Jupiter.) I have identified the system to use for this, and compiled it in an Ultra project, but have not started working with it beyond browsing the docs.

My direction is to build this to support a realistic model of Earth and space for the purposes of aerospace and defense simulations. I would probably try to license this technology to companies rather than selling it to game developers on Steam. In any case, getting the 1.0 version of Ultra out is the first step to doing anything.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Oh, there is one more layer to this puzzle...the vegetation system in Leadwerks is really wonderful, but in Ultra I want to support multiple "biomes" so you can just paint an area as "desert", "forest", etc. and have it look good. The Far Cry 2 editor actually did an amazing job with this type of stuff, automatically laying out an arrangement of objects without creating them on top of each other. Of course the Leadwerks way is to do this all dynamically without any stored data, which scales very well for large environments, so that is going to be a challenge to figure out.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...