-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
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
New environment GI, HDDAGI #86007
New environment GI, HDDAGI #86007
Conversation
This is a new global illumination system meant to supersede SDFGI. Key advantages are: * Much, much faster. Significantly lower frame time, orders of magnitude faster cascade updates whem moving. * Generally higher quality (less arctifacting). * Much better occclusion (a _lot_ less light leaked). * Less memory usage. It is meant as a drop-in replacement. Should work as a replacement for SDFGI. Known issues: - [ ] For some reason gets DEVICE LOST on Intel GPUs. No idea why. - [ ] Sharp Reflections not always play good with TAA (wobbly). Future: - [ ] Dynamic object support. - [ ] High density mode (sub-probes). Please test and report issues!
This comment was marked as off-topic.
This comment was marked as off-topic.
with these big performance improvements are there plans for mobile renderer support? |
Statically, Looks much better, and the performance is nuts, However... I'm still getting this GI breaking issue like with SDFGI where moving objects have weird super distracting light transitions 2023-12-10.21-02-44.mp4Here's VoxelGI for comparison 64x64x64 low 2023-12-10.21-08-34.mp4And the old SDFGI at default settings 2023-12-10.21-09-40.mp4 |
I get a crash in every scene I open with this branch |
I found crashes if you have VoxelGI in scene active and turn off DynamicGI, also Volumetric fog with GI inject flashes white any time a cascade transition happens |
@jcostello what is your GPU? @mrjustaguy That is weird, the trilinear filter should work the same in old and new GI. |
Old and new GI have the same issue, just voxelgi doesn't |
@mrjustaguy Okay I guess I know how to fix this, but I somehow need to mark this object as static for the GI. Will have to talk to Clay on the best way to do this. |
Um, the metalic human is the thing moving, and exhibiting the issue, so not sure how that'd help.. |
Visual and performance comparison out of the box at 4K on a RTX 4090:
We can probably make HDDAGI look more vivid by increasing the default value of Bounce Feedback a bit. Given HDDAGI is energy-conserving, we should be able to get closer to a default of
Note that this property doesn't affect performance, FPS is fluctuating a bit due to me taking the screenshot. Making a baked VoxelGI node visible while DynamicGI is enabled will crash the engine:
The same occurs if you disable DynamicGI while a baked VoxelGI node is visible. Bright green voxels can occasionally appear in floor-wall intersections in godot-reflection. This is more noticeable at low cell sizes (using Min Cell Size = simplescreenrecorder-2023-12-10_23.52.23.mp4Moving the camera away from a cascade will occasionally cause black flickering artifacts to appear. These are most noticeable when using the DynamicGI Cascades debug draw mode: simplescreenrecorder-2023-12-10_23.14.28.mp4simplescreenrecorder-2023-12-10_23.18.21.mp4It seems changing Cascade Format to any value other than the default causes lighting within GI to be black, even though reflections still render:
Restarting the editor doesn't fix this. The project setting enum hint for HDDAGI Frames To Converge is broken: Selecting the last value spams errors, while selecting the second-to-last value crashes the engine:
I suggest renaming the HDDAGI project settings to DynamicGI, for consistency with the debug draw mode and Environment properties. Testing project: test_new_gi.zip Issues fixed in latest revision of this PRI get a crash when opening https://github.com/Calinou/godot-reflection with this branch (Linux, GeForce RTX 4090 with NVIDIA 545.29.06):
It renders a single frame before crashing: llvmpipe also crashes on the same project with the same backtrace, so this isn't a NVIDIA-specific issue. |
Actually I don't want to squash my working commits since there is a lot of interesting experimenting in there. Will close this PR and open a new one. |
Superseded by #86267 |
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
sorry, not fimilar with pull request ? how would i download this feature to try on linux ? |
Usually you would go to 'Checks" above and then "Artifacts" on the top right to download a build but the builds for this PR have expired. No builds have been made for #86267 either, if you want to test this feature you'll have to build it yourself unless Juan builds another set of artifacts. |
oh okay , bummer, i will just wait it out, thanks for your help |
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [x] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [x] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
I'm noob here. please how can i test HDDAGI? been looking for a build! |
This one's outdated and got superseded by #86267. Go check that one out instead. |
Supersedes godotengine#86007 This is a new global illumination system that is a full upgrade to SDFGI Key advantages are: * Significantly faster base frame time. * An order of magnitude faster updates (SDFGI drops frames very significantly when moving, as a consequence of having to redo its entire SDF even for a small motion). * Higher quality (less light leaks, properly energy conservation, much better reflections, others) * Occlusion remains the same as in SDFGI. I experimented with other systems (the one in DDGI) but everything has worse tradeoffs. It is meant as a drop-in replacement, so games using SDFGI should get HDDAGI transparently. TODO: - [ ] For some reason gets DEVICE LOST on Intel GPUs. Can´t figure out why. - [ ] Waiting for a PR fixing the normal buffer precision in order to fix some issues. TODO AFTER MERGING: - [ ] High density probes support. - [ ] Dynamic objects support. Known issues:
This is a new global illumination system meant to supersede SDFGI.
Key advantages are:
It is meant as a drop-in replacement. Should work as a replacement for SDFGI.
Known issues:
Future: