NeoVeldrid.SDL2
1.0.0-rc.1
dotnet add package NeoVeldrid.SDL2 --version 1.0.0-rc.1
NuGet\Install-Package NeoVeldrid.SDL2 -Version 1.0.0-rc.1
<PackageReference Include="NeoVeldrid.SDL2" Version="1.0.0-rc.1" />
<PackageVersion Include="NeoVeldrid.SDL2" Version="1.0.0-rc.1" />
<PackageReference Include="NeoVeldrid.SDL2" />
paket add NeoVeldrid.SDL2 --version 1.0.0-rc.1
#r "nuget: NeoVeldrid.SDL2, 1.0.0-rc.1"
#:package NeoVeldrid.SDL2@1.0.0-rc.1
#addin nuget:?package=NeoVeldrid.SDL2&version=1.0.0-rc.1&prerelease
#tool nuget:?package=NeoVeldrid.SDL2&version=1.0.0-rc.1&prerelease
<p align="center"> <img src="art/logo-horizontal.svg" alt="NeoVeldrid" width="400"> </p>
<p align="center"> <a href="https://github.com/jhm-ciberman/neo-veldrid/actions/workflows/ci.yml"><img src="https://github.com/jhm-ciberman/neo-veldrid/actions/workflows/ci.yml/badge.svg" alt="Tests"></a> <a href="https://www.nuget.org/packages/NeoVeldrid"><img src="https://img.shields.io/nuget/vpre/NeoVeldrid" alt="NuGet"></a> </p>
A low-level, high-performance, cross-platform graphics library for .NET. Build 2D and 3D games, simulations, and tools with a single portable API across Vulkan, Direct3D 11, OpenGL, and OpenGL ES.
NeoVeldrid is a maintained fork of Veldrid, with all native bindings replaced by Silk.NET. The public API is fully preserved.
Documentation | Getting Started | API Reference
Features
- Multi-backend - Write your rendering code once. It runs on Vulkan, Direct3D 11, OpenGL, and OpenGL ES without any changes.
- Cross-platform - Windows, Linux, and macOS from a single codebase.
- High performance - Thin abstraction close to the metal. Allocation-free rendering loop with no GC pressure.
- Multi-threaded - Most NeoVeldrid objects can be used from multiple threads simultaneously.
- Modern GPU features - Programmable shaders, compute, structured buffers, array textures, multisampling, multi-target framebuffers.
- Portable shaders - Write GLSL once, cross-compile to all backends via SPIR-V at runtime.
- Headless - Run without a window for background GPU-accelerated operations.
Platform Support
| Vulkan | D3D11 | OpenGL | OpenGL ES | |
|---|---|---|---|---|
| Windows | ✅ | ✅ | ✅ | ✅ |
| Linux | ✅ | -- | ✅ | ✅ |
| macOS | ✅ (1) | -- | ❌ | -- |
(1) Via MoltenVK, bundled automatically. No setup required.
Quick Start
dotnet new console -n MyGame
cd MyGame
dotnet add package NeoVeldrid --prerelease
dotnet add package NeoVeldrid.StartupUtilities --prerelease
dotnet add package NeoVeldrid.SPIRV --prerelease
See the documentation for tutorials, API reference, and the samples directory.
Coming from Veldrid?
NeoVeldrid preserves full API compatibility. Update your NuGet packages, rename the namespace, and you're done. NeoVeldid is a drop-in replacement for Veldrid, with all the same features and API you already love, but with a new binding stack that is actively maintained and updated to support the latest graphics drivers and platforms. See the Migration Guide for details.
Contributing
See CONTRIBUTING.md for build instructions, testing guidelines, and how to submit a PR.
Acknowledgments
NeoVeldrid exists thanks to Eric Mellino (@mellinoe), who designed and built the original Veldrid. The architecture, public API, and core abstractions are entirely his work. NeoVeldrid only replaces the internal binding layer - the design that makes it all possible is Eric's. His library opened the door to cross-platform graphics programming in .NET for many of us, and we're grateful for that.
Related Projects
- mellinoe/veldrid - The original Veldrid. No longer actively maintained.
- veldrid2/veldrid2 - Community fork focused on bug fixes, keeping the same binding stack.
- dotnet/Silk.NET - The .NET bindings library used by this fork.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- NeoVeldrid (>= 1.0.0-rc.1)
- Silk.NET.SDL (>= 2.23.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on NeoVeldrid.SDL2:
| Package | Downloads |
|---|---|
|
NeoVeldrid.StartupUtilities
Helper classes for creating and managing application windows and user input. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-rc.1 | 76 | 4/5/2026 |