Skip to content
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

Full OptiX Denoiser support #50

Merged
merged 7 commits into from
Dec 27, 2018
Merged

Conversation

JenusL
Copy link
Contributor

@JenusL JenusL commented Nov 10, 2018

This took longer than expected but should conclude the Optix Denoiser support.

Workflow

  • Settings in the Denoiser tab is for denoising Main in the display driver only!
  • To render out anything to file you should add a *_denoise AOV to the framebuffer outputs.

As me and @caron discussed in #34 I've added a new Denoiser tab where I put all the OptiX Denoiser settings that affects the display driver.

optix_denoiser
I looked at MAXtoA when I implemented it but added some more things to it.

  • Only show denoise A setting for suppressing the non-denoised Main (in progressive) so that only the denoised output is shown. This just makes much more sense to me so i enabled it by default. See below for some info.
  • Progressbar updates correctly in all cases now, whereas in MAXtoA it reaches 100% before the rendering is done.

I cleaned up the old code a bit, and moved some of the progressbar code so it runs in driver_open instead of in each bucket.
I added some convenience functions that I miss from python to CStringUtilites: StartsWith and EndsWith

Only show denoise implementation details
I spent quite a lot of time on this one. At first I tried to just skip sending the non-denoised bucket to Softimage but then nothing updates. I tried a lot of thing until I settled on a workaround where I still send the non-denoised bucket to Softimage but with a size of 1 pixel. So while most of the image retained in the display is denoised, 1 pixel of each bucket in the next progressive pass is from the non-denoised image, until it's denoised again at the end of that pass. This is barely visible at all so it should be fine.

It passes the testsuite, closes #21 and closes #48

Oh... and let me know if you have any feedback and something should change before merging.

also adds only_show_denoise functionality

and rewrite of how the optix_filter is added to the display_driver
moved it from driver_process_bucket to the Init() funtion in driver_open
this way the sample settings is only read once instead of every bucket
@caron
Copy link
Contributor

caron commented Nov 12, 2018

hey @JenusL i look forward to trying this out but i am soooo busy at work right now i can't find the time to compile and test.

@JenusL
Copy link
Contributor Author

JenusL commented Nov 13, 2018

@caron no worries! Don't burn yourself out.

@JenusL JenusL mentioned this pull request Dec 18, 2018
@JenusL
Copy link
Contributor Author

JenusL commented Dec 19, 2018

@sjannuz Can we merge this?

@sjannuz sjannuz merged commit fa93108 into Autodesk:develop Dec 27, 2018
@JenusL JenusL deleted the feat/optix_display branch December 10, 2019 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants