Vertex.NET.Impeller is a lightweight, minimal C# wrapper for the Impeller rendering library, providing a thin, 1:1 binding to Impeller's C API. It is designed for developers who require direct, low-level access to Impeller's high-performance 2D/3D rendering capabilities from .NET, without any added abstraction or overhead.
- Modern-Targeting – Supports .NET 8, .NET 9 and .NET 10.
- Minimal & Transparent – A direct 1:1 mapping to Impeller's C functions, preserving the original API semantics.
- Cross-Platform – Runs on all platforms supported by Impeller, including Windows, Linux, and macOS.
- Pre-Built Native Binaries – The NuGet package includes ready-to-use native libraries, eliminating the need for manual Impeller installation.
- Performance-Oriented – Zero overhead and minimal marshaling, making it suitable for real-time graphics applications.
- Version – Built against Impeller commit 9d83c362f88e3575fe277e2ba3f1a83ddc7d1597 to ensure ABI compatibility.
Add the package via NuGet:
dotnet add package Vertex.NET.ImpellerYou can also browse the package page on NuGet for more details.
For complete working examples, check out the example projects in the repository.
For in-depth information about Impeller's functionality, refer to the official Impeller documentation. The wrapper's API is intentionally kept identical to the native library, so all original guides and references apply.
Contributions are welcome! If you encounter any issues or have suggestions for improvements, feel free to:
- Open an issue
- Submit a pull request
Vertex.NET.Impeller is released under the MIT License. See the LICENSE file for full details.
Impeller – This project is a wrapper around the Impeller rendering engine, developed by the Flutter team.
AvaloniaUI/NImpeller – Thanks to the AvaloniaUI team for their excellent implementation and design inspiration, which served as a valuable reference.
HexaGen – The structure and approach are inspired by the excellent code generator for generating bindings.