Haocheng Yuan, Adrien Bousseau, Hao Pan, Chengquan Zhang, Niloy J. Mitra, Changjian Li
{"title":"DiffCSG: Differentiable CSG via Rasterization","authors":"Haocheng Yuan, Adrien Bousseau, Hao Pan, Chengquan Zhang, Niloy J. Mitra, Changjian Li","doi":"arxiv-2409.01421","DOIUrl":null,"url":null,"abstract":"Differentiable rendering is a key ingredient for inverse rendering and\nmachine learning, as it allows to optimize scene parameters (shape, materials,\nlighting) to best fit target images. Differentiable rendering requires that\neach scene parameter relates to pixel values through differentiable operations.\nWhile 3D mesh rendering algorithms have been implemented in a differentiable\nway, these algorithms do not directly extend to Constructive-Solid-Geometry\n(CSG), a popular parametric representation of shapes, because the underlying\nboolean operations are typically performed with complex black-box\nmesh-processing libraries. We present an algorithm, DiffCSG, to render CSG\nmodels in a differentiable manner. Our algorithm builds upon CSG rasterization,\nwhich displays the result of boolean operations between primitives without\nexplicitly computing the resulting mesh and, as such, bypasses black-box mesh\nprocessing. We describe how to implement CSG rasterization within a\ndifferentiable rendering pipeline, taking special care to apply antialiasing\nalong primitive intersections to obtain gradients in such critical areas. Our\nalgorithm is simple and fast, can be easily incorporated into modern machine\nlearning setups, and enables a range of applications for computer-aided design,\nincluding direct and image-based editing of CSG primitives. Code and data:\nhttps://yyyyyhc.github.io/DiffCSG/.","PeriodicalId":501174,"journal":{"name":"arXiv - CS - Graphics","volume":"25 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Graphics","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.01421","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
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. Code and data:
https://yyyyyhc.github.io/DiffCSG/.