Closed tjueterb closed 1 week ago
Hi @tjueterb ,
I think this is fine, but I concede it may be slightly confusing. Just to quote the documentation:
The horizontal resolution of the film associated with this sensor must be a multiple of the number of sub-sensors. In addition, all of the sub-sensors’ films, samplers and shutter timings are typically ignored and superseded by the film, sampler and shutter timings specified for the batch sensor itself.
The actual storage for the film is only created once an integrator calls Film::prepare
for the specified sensor prior to rendering. So in the case of the batch sensor, it's not the case that we create storage for each of the individual sub-sensors but rather just for the parent with its combined resolution and type.
Hi @rtabbara, thanks for the clarification! Best, Tobi
Summary
Hi,
I just wanted to bring to your attention that the Batch sensor currently initializes all its child sensors' films as
hdrfilm
, even when the parent film is aspecfilm
. I didn't check if this causes any bugs, but it could cause trouble if the child sensors relied on film-specific behavior. In this case, the childrens' film types would not necessarily align with the parent film type.Best Tobi
System configuration
OS: Ubuntu 23.10 CPU: AMD Ryzen 9 5950X 16-Core Processor GPU: NVIDIA GeForce RTX 3080 Ti Python: 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0] NVidia driver: 545.23.08 CUDA: 12.3.107 LLVM: 11.1.0
Dr.Jit: 1.0.0 Mitsuba: 3.6.0 Is custom build? True Compiled with: Clang 15.0.7 Variants: scalar_rgb cuda_ad_rgb cuda_ad_spectral
Description
I compiled a8a037225e8452eadb5d93ef192b4d6a505ec139 and added a few Log Messages to highlight the behavior.
Steps to reproduce
I added the following Log messages to
batch.cpp
at lines 120-126:Then, when loading a
specfilm
with some children sensorsThe parent sensor is a
specfilm
, but the children sensors all have anhdrfilm
associated with them: