[OptiX 8.0] Denoiser: Camera space vs World space?

I asked around internally and only the two old modes OPTIX_DENOISER_MODEL_KIND_LDR and OPTIX_DENOISER_MODEL_KIND_HDR require camera space normals. These two models are considered legacy and shouldn’t be used in new applications anymore.

All other denoiser models will still work with camera space normal vectors as well, but it’s recommended to use world space normal vectors as denoiser input on current drivers (R535 and newer) for optimal quality instead, which also makes the application implementation simpler.

We’re going to update the OptiX Programming Guide about that. The OptiX API reference documentation is a little sparse in the OptixDenoiserGuideLayer struct mentioning world space normals.