-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Add support for double precision floats #288 #12299
Conversation
Blocked until I investigate this futher. |
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_fp64.txt Need to get the fp64 functions somehow. |
0bb8578
to
7026033
Compare
My plan is to split the patch into converting floats to real_t and @akien-mga What do you think? That means trying to do the first #288 (comment) .
This is tested via float=64 option. Currently failing. |
Thanks a lot for your contribution! Moving this PR to the 3.1 milestone, to be reviewed once the release freeze is lifted. It could eventually be cherry-picked for a future 3.0.1 maintenance release if it doesn't change the user-facing APIs and doesn't compromise the engine's stability. |
@akien-mga This should definitely be considered a feature request and not a bug fix. It doesn't make too much sense to add to a 3.0.1 maintenance release, but the 3.1 milestone does make a lot of sense. |
probably will make sense for 3.1, I definitely want this eventually added
…On Sun, Jan 14, 2018 at 9:52 PM, Aaron Franke ***@***.***> wrote:
@akien-mga <https://github.com/akien-mga> This should definitely be
considered a feature request and not a bug fix. It doesn't make too much
sense to add to a 3.0.1 maintenance release, but the 3.1 milestone does
make a lot of sense.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#12299 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AF-Z26idrw_QFMjV4Fj-tHhJesBbFMV8ks5tKqFOgaJpZM4QBxxo>
.
|
Was able to get a build running with many things converted to real_t (double). Use I had to disable ptrcall, bullet and gdnative. Would be interested in people looking why they break. Note that the graphics driver still converts back to float. |
Hm, it was actually having linking errors :/ However if someone could help that would be so useful. |
Color math can be left as single-precision if it doesn't cause any issues. 23 significant digits is enough for HDR color math (should have 16 bits per channel) and most displays have 8-12 bits per channel. |
@fire I think it would be best if you created many smaller pull requests instead of this one big pull request. Not only does it get conflicts easily but also it's hard to review so many changes. For example, you could make pull requests for "replace float with real_t in x and y files" or something. If you did this then we could merge these small pull requests one at a time to slowly bring the engine to be double-compatible and also have others test each small change as it gets into master. |
Got your message, I'll try to find effort to work on this. |
@@ -629,14 +629,14 @@ uint32_t BulletPhysicsServer::body_get_user_flags(RID p_body) const { | |||
return 0; | |||
} | |||
|
|||
void BulletPhysicsServer::body_set_param(RID p_body, BodyParameter p_param, float p_value) { | |||
void BulletPhysicsServer::body_set_param(RID p_body, BodyParameter p_param, real_t p_value) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't these changes
-
Be using Bullet'sbtScalar
instead of Godot'sreal_t
? -
Be contributed upstream to Bullet directly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
modules/bullet
is Godot's code, not upstream.
This PR should probably be assigned the "salvageable" tag. |
@aaronfranke What are your plans for taking this forward? Doing some spring updates and cleaning on my pull requests. |
After #21922 is merged I plan to pick-and-test parts of this one, since this PR is functional-ish. |
@aaronfranke Updated to lastest. Still work in progress. |
2bd71a7
to
072a7d6
Compare
Any updates? |
Rebased. |
This pull request is very out of date. I'll take a look at rebasing on top of #21922 and Vulkan. |
Work in progress. DO NOT MERGE.
See: #288