I was trying to render the albedo for a diffuse object (or other materials) with normal mapping applied using an AOV integrator. However, the rendered result looks incorrect to me (there is obvious shading involved).
After debugging, I thought this is a bug in NormalMap BSDF. The NormalMap BSDF has not overridden the eval_diffuse_reflectance interface, and what I expected was something like (the same implementation as BumpMap):
Summary
I was trying to render the albedo for a diffuse object (or other materials) with normal mapping applied using an AOV integrator. However, the rendered result looks incorrect to me (there is obvious shading involved).
After debugging, I thought this is a bug in
NormalMap
BSDF. TheNormalMap
BSDF has not overridden theeval_diffuse_reflectance
interface, and what I expected was something like (the same implementation asBumpMap
):System configuration
System information:
OS: Windows-10 CPU: Intel64 Family 6 Model 151 Stepping 2, GenuineIntel GPU: NVIDIA GeForce RTX 3090 Python: 3.10.9 | packaged by Anaconda, Inc. | (main, Mar 1 2023, 18:18:15) [MSC v.1916 64 bit (AMD64)] NVidia driver: 531.61 CUDA: 11.6.124 LLVM: 16.0.0
Dr.Jit: 0.4.2 Mitsuba: 3.3.0 Is custom build? False Compiled with: MSVC 19.35.32217.1 Variants: scalar_rgb scalar_spectral cuda_ad_rgb llvm_ad_rgb