Converting Implicit Functions to Surface Meshes. The Marching Cube (MC) algorithm [25, 28]is a widely adopted way of converting implicit functions to surface meshes. The algorithm proceedsby sampling the field on a discrete 3D grid, detecting zero-crossing of the field along grid edges, andbuilding a surface mesh using a lookup table. Unfortunately, the process of determining the positionof vertices on grid edges involves linear interpolation, which does not allow for topology changesthrough backpropagation [23], as illustrated in Fig. 2(a). Because this is a central motivation to thiswork, we provide a more detailed analysis in the Supplementary Section.In what follows, we discuss two classes of methods that tackle the non-differentiability issue. Thefirst one emulates iso-surface extraction with deep neural networks, while the second one avoids theneed for mesh representations by formulating objectives directly in the implicit domain.Emulating Iso-Surface Extraction. Liao et al. [23] map voxelized point clouds to a probabilistictopology distribution and vertex locations defined over a discrete 3D Euclidean grid through a 3DCNN. While this allows changes to surface topology through backpropagation, the probabilisticmodelling requires keeping track of all possible topologies at the same time, which in practice limitsresulting surfaces to low resolutions. V oxel2mesh [46] deforms a mesh primitive and adaptivelyincreases its resolution. While this enables high resolution surface meshes, it prevents changes oftopology.