I'm debugging rendering in spectral mode in Python and have set
mi.set_variant('cuda_ad_rgb')
Initially, I configured a BSDF with 30-channel reflectance. However, during the debugging process, I noticed that the return value of bsdf_sample() only has 4 channels. Based on this, I also tried a 30-channel emitter, but the em_weight returned by sample_emitter() also has 4 channels.
This behavior differs from my original expectation. So, during rendering in spectral mode, is the number of channels in the sample function fixed at 4 channels, even if the material parameters may be set to have more channels?
System configuration
System information:
OS: Windows-10
CPU: Intel64 Family 6 Model 183 Stepping 1, GenuineIntel
GPU: NVIDIA GeForce RTX 4090
Python: 3.10.14 | packaged by Anaconda, Inc. | (main, Mar 21 2024, 16:20:14) [MSC v.1916 64 bit (AMD64)]
NVidia driver: 536.25
CUDA: 11.8.89
LLVM: 15.-1.-1
Summary
I'm debugging rendering in spectral mode in Python and have set
Initially, I configured a BSDF with 30-channel reflectance. However, during the debugging process, I noticed that the return value of
bsdf_sample()
only has 4 channels. Based on this, I also tried a 30-channel emitter, but the em_weight returned bysample_emitter()
also has 4 channels.This behavior differs from my original expectation. So, during rendering in spectral mode, is the number of channels in the sample function fixed at 4 channels, even if the material parameters may be set to have more channels?
System configuration
System information:
OS: Windows-10 CPU: Intel64 Family 6 Model 183 Stepping 1, GenuineIntel GPU: NVIDIA GeForce RTX 4090 Python: 3.10.14 | packaged by Anaconda, Inc. | (main, Mar 21 2024, 16:20:14) [MSC v.1916 64 bit (AMD64)] NVidia driver: 536.25 CUDA: 11.8.89 LLVM: 15.-1.-1
Dr.Jit: 0.4.4 Mitsuba: 3.5.0
Steps to reproduce
1.here is my test function