-
-
Notifications
You must be signed in to change notification settings - Fork 23.6k
Re-add optional OIDN denoise as an external executable. #82832
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
Conversation
0c94d3e to
a0a7df0
Compare
|
How can I test this? |
doc/classes/EditorSettings.xml
Outdated
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.
| The path to the directory containing the OIDN denoise executable. | |
| The path to the directory containing the Open Image Denoise (OIDN) executable, used optionally for denoising lightmaps. It can be downloaded from [url=https://www.openimagedenoise.org/downloads.html]openimagedenoise.org[/url]. |
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.
I feel like we might need some sort of special interface for all tools like this, like a dedicated "External tool manager" next to template manager. Which present the categorized list of all external tools, checks the current status of the tool (using both user configured location and normal PATH lookup) and maybe provide a button to download and automatically configure each tool.
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.
That would be great. The UX currently is really subpar, especially with Blender that throws a warning in new projects because it's enabled by default but the path isn't configured by default.
a0a7df0 to
e5e53d2
Compare
e5e53d2 to
4ebe621
Compare
4ebe621 to
c238ffb
Compare
akien-mga
left a comment
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.
Tested successfully on Linux with the Global Illumination demo.
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.
Tested locally, it works as expected. GPU acceleration is working correctly on NVIDIA with CUDA libraries installed on the system (confirmed by using watch -n1 nvidia-smi while baking lightmaps).
Testing project: test_lightmap_preview_bake_4.x.zip
No denoiser
JNLM
OIDN
There are more seams visible with OIDN, but the normal information in this scene is kind of broken due to regressions in the OBJ importer I need to bisect (these aren't new in 4.2).
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.
I forgot to mention: LightmapGI's denoiser_strength documentation should note that it only has an effect when using the JNLM denoiser, not OIDN.
c238ffb to
899e56d
Compare
|
Moved the check to the beginning of the |
|
Thanks! |
|
I wouldn't recommend using |
See #82831. This is indeed a better approach, but we need precompiled releases with ARM64 macOS libraries to be available for this approach to be viable. |
|
ARM64 macOS builds are planned to be added starting with the next OIDN release. |



Implements godotengine/godot-proposals#7640
Alternative variant #82831 (load dynamic library directly).
Pros: can use executables for the different architecture (there's no ARM64 prebuild version for macOS in official releases).
Cons:
oidnDenoiseis a sample implementation and command line arguments might change in feature releases, temporary images are written/read to disk.