I was trying to update that sample but no denoise is performed
cycles_standalone.cpp
it uses --denoiser [NONE/NLM/OPTIX/INTEL] as parameter (being NONE the default value)
Also in my own implementation of Cycles I tried to retrieve the denoised buffer by
session->buffers->get_denoising_pass_rect(0, 1, 1, 3, rawpixels);
but I get a black buffer, changing the first parameter I managed to get something like the normals buffer.
Any tip to complete the sample and/or getting that buffer?
To get the denoised buffer you shouldn’t have to do anything special. It is written to the same combined pass as when denoising is disabled. get_denoising_pass_rect is for denoising utility passes, to perform denoising at a later point.
I’m guessing Cycles standalone is missing a call to device.add_denoising_devices(), to create the appropriate devices for performing the denoising.
My bad I pasted options.session->device->info.add_denoising_devices . again but now with options.session_params.device.add_denoising_devices
It has no effect in INTEL and NLM but in OPTIX an error is shown in the CyclesXML viewport: Denoiser type not supported by compute device Obviously it happens since I’ve used CPU rendering but Why is not possible to use Optix denoiser with CPU rendering? I mean that I do not thing that there is any technological limit about that and it could have sense for big scenes that takes high amount of memory (more than the GPU room) but it could be denoised via GPU, anyway this is only just speaking since I’m mostly interested on Intel’s one.