Adamantium.ECS
0.1.0-alpha.4
Prefix Reserved
dotnet add package Adamantium.ECS --version 0.1.0-alpha.4
NuGet\Install-Package Adamantium.ECS -Version 0.1.0-alpha.4
<PackageReference Include="Adamantium.ECS" Version="0.1.0-alpha.4" />
<PackageVersion Include="Adamantium.ECS" Version="0.1.0-alpha.4" />
<PackageReference Include="Adamantium.ECS" />
paket add Adamantium.ECS --version 0.1.0-alpha.4
#r "nuget: Adamantium.ECS, 0.1.0-alpha.4"
#:package Adamantium.ECS@0.1.0-alpha.4
#addin nuget:?package=Adamantium.ECS&version=0.1.0-alpha.4&prerelease
#tool nuget:?package=Adamantium.ECS&version=0.1.0-alpha.4&prerelease
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_objectandVK_EXT_descriptor_heap, and theshaderInt64,shaderDrawParametersandgeometryShaderfeatures.VK_EXT_descriptor_heapis 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.Slangpackage.
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.
Related repositories
- AdamantiumUI: the UI framework built on this engine.
- AdamantiumVulkan: the Vulkan, Slang and SPIR-V bindings.
- QuantumBinding: the generator those bindings are made with.
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 | 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
- Adamantium.Core (>= 0.1.0-alpha.4)
- Adamantium.Graphics (>= 0.1.0-alpha.4)
- Adamantium.Graphics.Core (>= 0.1.0-alpha.4)
- Adamantium.Mathematics (>= 0.1.0-alpha.4)
- Adamantium.MVVM (>= 0.1.0-alpha.4)
- Adamantium.ProceduralGeometry (>= 0.1.0-alpha.4)
- Microsoft.Extensions.ObjectPool (>= 10.0.10)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Adamantium.ECS:
| Package | Downloads |
|---|---|
|
Adamantium.Multiverse
Hosting layer of the Adamantium engine: universes, the outputs they render to, windowing platforms and input. |
|
|
Adamantium.Engine
Rendering and entity services of the Adamantium engine: Forward+ rendering, scene managers, cameras, selection and editing tools. |
|
|
Adamantium.UI.Core
Foundation of Adamantium UI: the element tree, properties and bindings, layout, input, styles and resources, behaviors and the base controls the rest is built from. |
|
|
Adamantium.UI
Adamantium UI: a .NET UI framework for desktop applications on its own Vulkan renderer - controls up to docking, a ribbon, a tree data grid and an infinite canvas; AUML markup compiled to C#; styles and live themes; MVVM and navigation; and a 3D scene as an element of the markup. The package to reference: it brings the controls, the themes, the AUML code generator and MVVM with its generator. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.4 | 82 | 10/2/2026 |
| 0.1.0-alpha.3 | 48 | 10/2/2026 |
| 0.1.0-alpha.2 | 53 | 10/1/2026 |
| 0.1.0-alpha | 65 | 10/1/2026 |