-
Upgrade Dr.Jit to version 1.2.0. This release brings several important improvements and several bug fixes:
- Event API for fine-grained GPU kernel timing and synchronization, enabling better performance profiling.
- Enhanced CUDA-OpenGL interoperability with simplified APIs for efficient data sharing between CUDA and OpenGL.
- Register spilling to shared memory on CUDA backend, improving performance for complex kernels with high register pressure.
- Memory view support for zero-copy data access from Python.
The remainder lists Mitsuba-specific additions.
-
Improvements:
- Improved bump and normal mapping with two important fixes for more robust and artifact-free rendering. Both the
bumpmapandnormalmapBSDFs now include: (1) Invalid normal flipping - ensures perturbed normals are always consistent with the geometric normal by flipping shading normals when needed, following the approach in Schüssler et al. 2017. (2) Microfacet-based shadowing - smooths shadow terminator artifacts using the shadowing function from Estevez et al. 2019. Both features are enabled by default but can be disabled via theflip_invalid_normalsanduse_shadowing_functionparameters for backwards compatibility. (commit e32d71807, contributed by Delio Vicini). - Improved sunsky documentation. (PR #1743, contributed by Mattéo Santini).
- Added support for vcalls of Texture. (commit 6b1603c77).
- Added Python bindings for
field<T>types. (PR #1736, contributed by Delio Vicini). - Allow multiple Python objects to refer to the same
Object*. (PR #1740).
- Improved bump and normal mapping with two important fixes for more robust and artifact-free rendering. Both the
-
Bug fixes:
- Fixed bug with unintentional reordering of channels when serializing and deserializing a Bitmap with more than 10 channels. (commit e84b18f, contributed by Sebastian Winberg).
- Fixed
hide_emittersbehavior forareaemitters inpathintegrator and all other integrators. (commits 3c3bf14c, 0755134e0, c967a0a24). - Fixed KDTree reference counting and shutdown procedure. (commit 14c8c9763).
- Fixed compilation issues of the KDTree. (commit 65b38126b).
- Prevent NaN values for normals of triangles with zero area. (PR #1733, contributed by Delio Vicini).
- Prevent users updating the
UniformSpectrumwith a float of size different than 1. (PR #1722, contributed by Mattéo Santini). - Added Image manipulation tutorial back in the "How-to Guides". (commit 465609174, contributed by Baptiste Nicolet).
- Add support for JIT-freeting to the sunsky classes. (commit f07f26c5e).