Search for a command to run...
Upgrade Dr.Jit to version 1.3.1. This release brings several important improvements and bug fixes, here are some noteworthy changes: Atomic scatter operations: New dr.scatter_cas() (atomic compare-and-swap) and dr.scatter_exch() (atomic exchange) operations mapping to native PTX instructions on the CUDA backend. AdamW optimizer: New dr.opt.AdamW optimizer with built-in weight decay, and AMSGrad support for both Adam and AdamW. Oklab color space conversion: New dr.linear_srgb_to_oklab() and dr.oklab_to_linear_srgb() for perceptually uniform color space conversion. The remainder lists Mitsuba-specific additions. Improvements: New conditional 1D distributions (ConditionalRegular1D and ConditionalIrregular1D) for efficient conditional probability computations, including lazy CDF computation and a traversable interface. (PR #1725, contributed by Miguel Crespo). The pplastic (polarized plastic) BSDF now supports spatially varying roughness and index of refraction through texture parameters. (PR #1843, contributed by Guillermo Enguita Lahoz). Significant sunsky emitter optimizations: more efficient internal memory reads and a faster importance sampling strategy. (PRs #1768, #1800, contributed by Matteo Santini). Improved function freezing support across many Mitsuba components: ellipsoids/ellipsoidsmesh shapes, batch sensor, hdrfilm, and 1D/2D distribution classes. (PRs #1791, #1816, contributed). Ellipsoids bounding box computation can now be done on the JIT backend, significantly speeding up scene setup. (PR #1838, contributed by Sebastien Speierer). Added a JIT-enabled version of Mesh::build_directed_edges(). (PR #1760). Parser optimization: avoid re-checking visited nodes for cycles during scene loading. (PR #1842, contributed by Vincent Leroy). ShapeGroup now caches parameters_grad_enabled() to avoid repeated checks. (commit 925f36ecb, contributed by Vincent Leroy). Added wheels for Python 3.14 and Linux ARM (aarch64). (PR #1807, contributed by Merlin Nimier-David). Updated minimum Python version to 3.9. (PR #1814, contributed by Delio Vicini). Include child properties in Mesh::to_string() output. (PR #1811, contributed by OscarLin). Bug fixes: This list is not exhaustive: Fixed multiple issues in the blendbsdf plugin: incorrect PDF in sample(), missing eval_null_transmission method, and incorrect sampling weight in both blendbsdf and blendphase. (PR #1681, contributed by Baptiste Nicolet). Fixed Embree memory leak in scalar modes where acceleration data structures were not properly cleaned up. (PR #1767, contributed by Delio Vicini). Fixed ray_intersect_triangle in Python returning None instead of the result from the C++ call. (PR #1780, contributed by Jeremy Riviere). Fixed numerical issues in AD (PRB) integrators. (PR #1818, contributed by Christian Doring). Fixed bitmap textures evaluating to 0 in CUDA double-precision variants, and similarly for sdfgrid. (commits e18c1657, 54cc70eb). Fixed hide_emitters to handle custom shapes. (commit 3f968c544). Restored resources feature in load_dict(). (PR #1829). Fixed mesh not respecting explicitly provided normals (normals would be recomputed unconditionally). (PR #1762, contributed by Delio Vicini). Added missing si.compute_uv_partials(ray) for AOV type duv_dy. (PR #1772, contributed by Sebastian Winberg). Fixed handling of 3x3 transforms in Properties. (PR #1764). Handle differentiation through aov when no AOVs carry gradients. (commit f235aa22). Fixed KDTree builds on MSVC. (commit 9e542b68). Fixed shapegroup.h compilation when no vectorized backend is available. (commit 85ae5712). Handle numpy scalars in Properties. (PR #1788). Fixed __repr__ for Python-created meshes. (PR #1753, contributed by Delio Vicini). Fixed build compatibility with newer CMake versions. (commit eb65b90).