-
-
Notifications
You must be signed in to change notification settings - Fork 21.2k
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
Re-add optional OIDN denoise as an external executable. #82832
Conversation
0c94d3e
to
a0a7df0
Compare
How can I test this? |
doc/classes/EditorSettings.xml
Outdated
@@ -500,6 +500,9 @@ | |||
If [code]true[/code], when saving a file, the editor will rename the old file to a different name, save a new file, then only remove the old file once the new file has been saved. This makes loss of data less likely to happen if the editor or operating system exits unexpectedly while saving (e.g. due to a crash or power outage). | |||
[b]Note:[/b] On Windows, this feature can interact negatively with certain antivirus programs. In this case, you may have to set this to [code]false[/code] to prevent file locking issues. | |||
</member> | |||
<member name="filesystem/tools/oidn/oidn_path" type="String" setter="" getter=""> | |||
The path to the directory containing the OIDN denoise executable. |
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
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:
oidnDenoise
is a sample implementation and command line arguments might change in feature releases, temporary images are written/read to disk.