Adamantium.Graphics 0.1.0-alpha.4

Prefix Reserved
This is a prerelease version of Adamantium.Graphics.
dotnet add package Adamantium.Graphics --version 0.1.0-alpha.4
                    
NuGet\Install-Package Adamantium.Graphics -Version 0.1.0-alpha.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Adamantium.Graphics" Version="0.1.0-alpha.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Adamantium.Graphics" Version="0.1.0-alpha.4" />
                    
Directory.Packages.props
<PackageReference Include="Adamantium.Graphics" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Adamantium.Graphics --version 0.1.0-alpha.4
                    
#r "nuget: Adamantium.Graphics, 0.1.0-alpha.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Adamantium.Graphics@0.1.0-alpha.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Adamantium.Graphics&version=0.1.0-alpha.4&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Adamantium.Graphics&version=0.1.0-alpha.4&prerelease
                    
Install as a Cake Tool

Adamantium Engine

A graphics engine for .NET on its own Vulkan bindings: a Vulkan renderer, effects compiled to SPIR-V at build time, fonts with MSDF atlases, image codecs, 3D model import and an entity-component system. It is the foundation of Adamantium UI, where a 3D scene and the interface around it are drawn by one renderer in one process.

Alpha. Windows only for now, and the API will change between releases.

Packages

Package What it is
Adamantium.Core Disposable and named objects, observable collections, commands, events, data buffers, dependency injection, type parsing
Adamantium.Mathematics Vectors, matrices, quaternions, colors, bounding volumes, polygon triangulation and fill rules
Adamantium.Fonts TrueType, OpenType and CFF: outlines, metrics, kerning, OpenType features; MSDF glyph atlases
Adamantium.Imaging PNG and APNG, JPEG, GIF, BMP, TGA, TIFF, ICO, DDS; mipmaps, format conversion, palette quantizers
Adamantium.Graphics.Core Devices, presenters, buffers, textures, vertex layouts, meshes, the effects framework
Adamantium.Graphics The Vulkan renderer: device, swap chains, memory allocation, pipelines, effects, textures, text
Adamantium.EffectsCompiler Compiles effects (.fx) to SPIR-V with Slang, with the reflection data the engine binds them by
Adamantium.FX Built-in effects: basic, font, sprite, Forward+ lighting, full-screen quad
Adamantium.Engine.Compiler Imports 3D models: Collada, Wavefront OBJ, 3DS
Adamantium.ECS Entities and components: cameras, colliders, animation, meshes
Adamantium.Multiverse Universes, the outputs they render to, windowing platforms, input
Adamantium.Engine Forward+ rendering, scene managers, cameras, selection, editing tools
Adamantium.ProceduralGeometry Rectangles, ellipses, arcs, polygons, lines, cubes, spheres, cylinders, cones, capsules, grids
Adamantium.MVVM View models with validation, sync and async commands
Adamantium.Win32 Windows, messages, system metrics, cursors, Shell dialogs
Adamantium.MacOS Application, windows and cursors through a native app wrapper (not yet verified, see below)
Adamantium.XInput XInput gamepads
Adamantium.GameInput Microsoft GameInput gamepads, with the native shim they need
Adamantium.Engine.Generators Source generators: a typed class for every .fx in the project, a constant for every content asset
Adamantium.MVVM.Generators Source generator for Adamantium.MVVM: bindable properties and commands from attributes

All packages share one version and are released together.

Requirements

  • .NET 10.
  • Windows 10 or 11, x64. The macOS code exists but has not been built and run recently, so it is not claimed.
  • A GPU and driver with Vulkan 1.4, VK_EXT_shader_object and VK_EXT_descriptor_heap, and the shaderInt64, shaderDrawParameters and geometryShader features. VK_EXT_descriptor_heap is recent and not every driver has it yet. The engine is developed and tested on an NVIDIA Quadro RTX 4000 with NVIDIA's Vulkan developer driver; other GPUs have not been tested.
  • No Vulkan SDK. The Slang shader compiler ships in the Adamantium.Vulkan.Slang package.

Getting started

dotnet add package Adamantium.Engine --prerelease

Adamantium.Engine brings in most of the others as dependencies. Add the input and platform packages you need beside it.

Your own effects

Every .fx file in a project becomes a class at build time: Effects/Glow.fx in a project with the root namespace MyApp gives MyApp.Effects.Glow, derived from Effect. The generator needs to see the files and to know where the Slang compiler is:

<ItemGroup>
  <PackageReference Include="Adamantium.Engine.Generators" Version="0.1.0-alpha" PrivateAssets="all" />
  <PackageReference Include="Adamantium.Vulkan.Slang" Version="1.0.11" GeneratePathProperty="true" PrivateAssets="all" />
  <AdditionalFiles Include="**\*.fx;**\*.fxh" />
  <CompilerVisibleProperty Include="RootNamespace;ProjectDir;AdamantiumSlangPath" />
</ItemGroup>

<PropertyGroup>
  <AdamantiumSlangPath>$(PKGAdamantium_Vulkan_Slang)</AdamantiumSlangPath>
</PropertyGroup>

A shader that does not compile fails the build with the compiler's message.

Building from source

git clone https://github.com/AdamantiumStudio/AdamantiumEngine.git
cd AdamantiumEngine
dotnet build AdamantiumEngine.sln -c Debug

Everything the build needs comes from nuget.org. The tests are in AdamantiumEngine.Tests.sln; Adamantium.Engine.GraphicsTests needs a Vulkan device that meets the requirements above.

License

Apache-2.0. Parts of the engine are derived from third-party work under MIT and ISC; their notices are in the file headers and in THIRD-PARTY-NOTICES.md.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Adamantium.Graphics:

Package Downloads
Adamantium.ECS

Entity-component system of the Adamantium engine: entities, components, cameras, colliders, animation and meshes.

Adamantium.Multiverse

Hosting layer of the Adamantium engine: universes, the outputs they render to, windowing platforms and input.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.4 86 10/2/2026
0.1.0-alpha.3 53 10/2/2026
0.1.0-alpha.2 52 10/1/2026
0.1.0-alpha 72 10/1/2026