Does OptixDenoiser support mixed buffer format input?

Hello,

I would like to improve the performance of the Optix denoiser I used to denoise beauty. Currently all beauty, albedo, normal are in OPTIX_PIXEL_FORMAT_FLOAT4. Can I drop the albedo and normal format to OPTIX_PIXEL_FORMAT_HALF4? Did not find any specific documents about this mixed buffer format usage.

Demo on NVIDIA github (intro_denoiser) shows we can use either half or float. But all inputs need to maintain the same format.

Kind regards and thanks,
Tiantian

First of all, while the intro_denoiser example is showing how to render into float4 and half4 buffers for the noisy output buffer and optional albedo or albedo and normal buffers, it’s using the legacy HDR denoiser mode which shouldn’t be used for new developed applications anymore.
(That specific intro_denoiser example is a port from an old OptiX 5 version.)

Please always use the new AOV (“kernel prediction mode”) denoiser modes inside the OptiX API instead:
https://raytracing-docs.nvidia.com/optix8/guide/index.html#ai_denoiser#nvidia-ai-denoiser
These are better in quality and performance in current display drivers.

Please refer to the OptiX SDK example optix Denoiser for an example. That shows the various OptiX denoiser modes on pre-rendered images loaded from disk.

Filling in the denoiser with half (FP16) data is the recommended format. It works in that format internally.

I have never tried mixing the format and know of no program doing that, but given that the OptixPixelFormat is a field inside the OptixImage2D, that would allow setting different formats per input image.

If this is not working please let us know.

Thanks for the rapid response. After messing around, find that OptiX denoiser does support the mixed format.