DiffCSG: Differentiable CSG via Rasterization
Differentiable rendering is a key ingredient for inverse rendering and machine learning, as it allows to optimize scene parameters (shape, materials, lighting) to best fit target images. Differentiable rendering requires that each scene parameter relates to pixel values through differentiable operations. While 3D mesh rendering algorithms have been implemented in a differentiable way, these algorithms do not directly extend to Constructive-Solid-Geometry (CSG), a popular parametric representation of shapes, because the underlying boolean operations are typically performed with complex black-box mesh-processing libraries. We present an algorithm, DiffCSG, to render CSG models in a differentiable manner. Our algorithm builds upon CSG rasterization, which displays the result of boolean operations between primitives without explicitly computing the resulting mesh and, as such, bypasses black-box mesh processing. We describe how to implement CSG rasterization within a differentiable rendering pipeline, taking special care to apply antialiasing along primitive intersections to obtain gradients in such critical areas. Our algorithm is simple and fast, can be easily incorporated into modern machine learning setups, and enables a range of applications for computer-aided design, including direct and image-based editing of CSG primitives.
Images and movies
See also
Project webpage
See additional results and video.Acknowledgements and Funding
The authors would like to thank the reviewers for their valuable suggestions, Kuankuan Cheng and Shuyuan Zhang for helping prepare the benchmark and set up the comparison. NM was supported by Marie Skłodowska-Curie grant agreement No. 956585, gifts from Adobe, and UCL AI Centre; AB was supported by ANR-NSF NaturalCAD (ANR-23-CE94-0003); CJ was supported by a startup grant, a Bayes seed funding, and a GAIL seed funding from the University of Edinburgh, and gifts from Adobe.
BibTex references
@InProceedings{YBPZML24, author = "Yuan, Haocheng and Bousseau, Adrien and Pan, Hao and Zhang, Chengquan and Mitra, Niloy J. and Li, Changjian", title = "DiffCSG: Differentiable CSG via Rasterization", booktitle = "Proceedings of ACM SIGGRAPH Asia (Conference track)", year = "2024", publisher = "ACM", url = "http://www-sop.inria.fr/reves/Basilic/2024/YBPZML24" }