Unclaimed Package Is this your package? Claim it to unlock full analytics and manage your listing.
Claim This Package

Install via UPM

Add to Unity Package Manager using this URL

https://www.pkglnk.dev/triangulator.git

README Markdown

Copy this to your project's README.md

Style
Preview
pkglnk installs badge
## Installation

Add **Burst Triangulator** to your Unity project via Package Manager:

1. Open **Window > Package Manager**
2. Click **+** > **Add package from git URL**
3. Enter:
```
https://www.pkglnk.dev/triangulator.git
```

[![pkglnk](https://www.pkglnk.dev/badge/triangulator.svg?style=pkglnk)](https://www.pkglnk.dev/pkg/triangulator)

Dependencies (2)

Used By (1)

README

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.

Comments

No comments yet. Be the first!