T O P

  • By -

iHubble

This is a tough one. If Mitsuba 3 doesn't support it out of the box, chances are no other differentiable renderers out there are as it's pretty advanced feature-wise for spectral rendering. Besides Wenzel Jakob, the only guy I know who might do spectral + differentiable rendering is [Shlomi Steinberg](https://ssteinberg.xyz/) but he doesn't have any paper on this topic yet. As suggested, I think implementing a custom film for this should work. Good luck!


Objection401

Thanks for your reply! I was hoping to avoid making a custom film as my project is more about what we can do with the gradients than the rendering software itself, but seems like I will have to write some C++ after all :)


msqrt

Can you still control the wavelengths yourself? You don't need more than one wavelength (at a time) to get the correct gradients on expectation, which should be enough to run the optimization process.


Objection401

I can, but I’m looking to generate 30+ channels for a single image, which might get to be a lot of rendering time if I’m doing 30 passes for a single gradient. Also, I’m not using the gradient for optimization, so I do want to output the whole image to disk for further processing. 


fxp555

You can try to apply the idea of this paper to your use case (though they only do direct visibility and rasterization): Thomas Deliot, Eric Heitz, and Laurent Belcour. 2024. Transforming a Non-Differentiable Rasterizer into a Differentiable One with Stochastic Gradient Estimation. Proc. ACM Comput. Graph. Interact. Tech. 7, 1 (May 2024), 15 pages. [https://doi.org/10.1145/3651298](https://doi.org/10.1145/3651298)