Closed lobneroO closed 1 year ago
Hm; yes, that does seem indeed right. It's a long time ago that I wrote that code, and I think I faintly remember there being some issue (at the time) where this wasn't implemented, or broken, or not supported in the optix version i used back then (that code was originally written when the denoiser had just come out).... though of course, it can also just be an oversight/copy-pasta error. Apologies! I just fixed that in the latest version - and thx for that ping!
BTW: Reason this isn't in the slides is that the slides are from an earlier course at siggraph, where I wrote all that code "just" as accompanying sample code, in the matter of a few days before the actual talk... then "upon popular request" a few additional things got added to the code after siggraph was over, but the slides of course never got updated after that talk was already given.
In example 12 you write out a Normal channel in your first "pass" (is it called a pass in ray tracing?). For example 12, you say that "This example improves on the simple denoising by computing a separate normal buffer", but you only use the albedo and (lighted) color buffer:
denoiserOptions.inputKind = OPTIX_DENOISER_INPUT_RGB_ALBEDO;
I think you need to use
denoiserOptions.inputKind = OPTIX_DENOISER_INPUT_RGB_ALBEDO_NORMAL;
instead?This is in example12_denoiseSeparateChannels/SampleRenderer.cpp line 794.
Also, this example is not mentioned at all in the tutorial pdf.