Skip to content

2d Delaunay triangulation with mesh refinement for Unity with Burst compiler

License

Notifications You must be signed in to change notification settings

RadicalCSG/BurstTriangulator

 
 

Repository files navigation

Build Tests openupm

A single-file package which provides Delaunay triangulation of the given set of points with constraints and mesh refinement.

✨ Supported Features

To view the documentation for the manual and scripting API access it online here or navigate to Documentation~/ and build this using docfx.json.

📐 Example results

As an illustrative example, we present the triangulation of Lake Superior with various refinement parameters. The top-left image shows the result without any refinement.

lake-preview-light lake-preview-dark

⏱️ Benchmark

The package utilizes the Burst compiler, which generates highly optimized native code using LLVM. Below, you'll find a performance comparison for classic Delaunay triangulation (without refinement or constraints). between this package and a few alternatives:

To see more benchmarks visit the documentation.

Delaunay Benchmark

🚀 Quick start

Install the package and add using in your code

using andywiecko.BurstTriangulator;

and to triangulate unit box $[(0, 0), (1, 0), (1, 1), (0, 1)]$:

using var positions = new NativeArray<double2>(new[]
{
    new(0, 0), new(1, 0), new(1, 1), new(0, 1)
}, Allocator.Persistent);
using var triangulator = new Triangulator(Allocator.Persistent)
{
    Input = { Positions = positions }
};

triangulator.Run();

var triangles = triangulator.Output.Triangles;

📦 Dependencies

Required:

Optional:

🤝 Contributions

Found a bug? Please open an issue. You can find a list of known issues here. Interested in contributing to the project? Feel free to open an issue or submit a pull request. For updates on current and future work related to this package, check out the package project.

⚖️ License

  • The code in this repository is licensed under the MIT License.
  • The documentation in this repository is licensed under the CC BY 4.0 License.

About

2d Delaunay triangulation with mesh refinement for Unity with Burst compiler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.9%
  • Makefile 0.1%