Generalized Lipschitz Tracing of Implicit Surfaces

Róbert Bán,Gábor Valasek
DOI: https://doi.org/10.1111/cgf.15202
IF: 2.5
2024-09-25
Computer Graphics Forum
Abstract:We present a versatile and robust framework to render a general class of implicit surfaces defined by black‐box functions, that is, our method is applicable to both discrete fields and procedurally defined input, including neural nets. Our technique is based on a pre‐processing step that generates an auxiliary data structure, the Lipschitz field, that is used during rendering to infer safe step sizes in computing ray‐surface intersections. We present a versatile and robust framework to render implicit surfaces defined by black‐box functions that only provide function value queries. We assume that the input function is locally Lipschitz continuous; however, we presume no prior knowledge of its Lipschitz constants. Our pre‐processing step generates a discrete acceleration structure, a Lipschitz field, that provides data to infer local and directional Lipschitz upper bounds. These bounds are used to compute safe step sizes along rays during rendering. The Lipschitz field is constructed by generating local polynomial approximations to the input function, then bounding the derivatives of the approximating polynomials. The accuracy of the approximation is controlled by the polynomial degree and the granularity of the spatial resolution used during fitting, which is independent from the resolution of the Lipschitz field. We demonstrate that our process can be implemented in a massively parallel way, enabling straightforward integration into interactive and real‐time modelling workflows. Since the construction only requires function value evaluations, the input surface may be represented either procedurally or as an arbitrarily filtered grid of function samples. We query the original implicit representation upon ray trace, as such, we preserve the geometric and topological details of the input as long as the Lipschitz field supplies conservative estimates. We demonstrate our method on both procedural and discrete implicit surfaces and compare its exact and approximate variants.
computer science, software engineering
What problem does this paper attempt to address?