Winding Number Paper Accepted to SIGGRAPH 2026
The Antipodal Method introduces a fast, accurate, and robust formulation of generalized winding numbers for meshes and parametric surfaces.
We are happy to share that the paper
The Antipodal Method: Fast, Accurate, and Robust 3D Generalized Winding Numbers
has been accepted to SIGGRAPH 2026.

This is joint work between Université de Montréal and Shaped Code GmbH:
- Cedric Martens (Université de Montréal)
- Philip Trettner (Shaped Code GmbH)
- Mikhail Bessmeltsev (Université de Montréal)
The paper introduces a new formulation and algorithm for generalized winding numbers that is both fast and accurate to arbitrary precision, while naturally handling open, self-intersecting, and non-manifold geometry.
The mesh implementation is also already merged into libigl.
Links:
Generalized winding numbers
Generalized winding numbers are one of the most useful tools in geometry processing for answering a deceptively simple question:
Is this point inside or outside the shape?
Unlike classical inside/outside tests, generalized winding numbers continue to behave well even for geometry that is:
- open,
- self-intersecting,
- non-manifold,
- or otherwise imperfect.
Because of this, they appear in many geometry processing tasks, including:
- mesh healing,
- booleans,
- topology repair,
- remeshing,
- implicit reconstruction,
- and inside/outside classification.
The downside is that existing methods often forced a tradeoff between precision and performance.
The Antipodal Method
Our method reformulates generalized winding numbers as the sum of two intuitive geometric quantities:
- the signed number of ray–surface intersections,
- plus a boundary integral over the surface projection on the unit sphere.
This leads to an efficient discretization that avoids expensive spherical arrangements and heavy surface integration machinery.
For triangle meshes, our method achieves:
- 22−93× speedup over the fastest precise methods,
- 3−10× speedup over the fastest approximation method,
- while maintaining full precision.
On the GPU, for moderately complex meshes, we achieve:
- up to 10⁹ queries per second,
- or generalized winding number slices in 4K resolution at 120 FPS.
For parametric surfaces, our method is on average:
- 5.6× faster than the previous state of the art,
- while maintaining the same precision guarantees.

libigl integration
The triangle mesh implementation has already been merged into libigl:
The entry point header is winding_number_antipodal.h.
Huge thanks to the libigl maintainers for reviewing and integrating the implementation.
We hope this makes the method easily accessible to the broader geometry processing community.
We are excited to finally share this work publicly.
A lot of effort went into making the method not only theoretically robust, but also practical and fast enough for real geometry processing workloads.
We are looking forward to seeing what people build with it.