.N .NET Landscape

Aardvark.Base

Game Development & Graphics
github.com/aardvark-platform/aardvark.base

Aardvark.Base is the foundation of the open-source Aardvark Platform for visual computing, real-time graphics, and visualization.

aardvarkaardvark-platformattribute-grammarsdatastructuresfsharpfunctional-programminggeometrygraphicsincremental-evaluationlinear-algebramathmatrices
GitHub stars
164
Forks
10
Open issues
81
NuGet downloads
6,977,174
latest 5.3.28
License
Apache-2.0
Language
C#
Last push
today
24 Oct 2026
Created
15 Jul 2014

Aardvark.Base

Test Publish License NuGet

High-performance .NET foundation for visual computing, real-time graphics and geometry processing. Cross-platform (Windows/Linux/macOS), targets .NET Standard 2.0 and .NET 8.0.

Foundation of the Aardvark Platform ecosystem, powering advanced libraries for rendering (Aardvark.Rendering), UI (Aardvark.Media), VR/AR applications, and scientific visualization.

Core Components

Mathematics & Geometry

  • Vectors, matrices, quaternions, transformations (2D/3D/4D)
  • Ranges, boxes, spheres, planes, rays, frustums
  • Polygons, meshes, bounding-box tree acceleration structures
  • Linear/ellipsoid regression, geometric algorithms

Image Processing

  • PixImage with full tensor capabilities
  • Format support: JPEG, PNG, TIFF, EXR, WebP, DDS
  • Mipmaps, cube maps, volume textures
  • Hardware-accelerated scaling and transformations

Data Structures & Algorithms

  • Incremental/reactive programming primitives
  • Efficient collections (IntDict, SymbolDict, MapExt)
  • Spatial indexing (KdTree, BbTree)
  • Fast serialization/deserialization

Quick Start

using Aardvark.Base;

// Vectors and matrices
var v = new V3d(1, 2, 3);
var m = M44d.RotationX(45.0.RadiansFromDegrees());
var transformed = m.TransformPos(v);

// Image processing
var image = new PixImage<byte>("image.jpg");
var scaled = image.Scaled(0.5);
scaled.Save("output.png");

// Geometry
var box = new Box3d(V3d.Zero, V3d.One);
var ray = new Ray3d(V3d.Zero, V3d.XAxis);
var hit = box.Intersects(ray, out double t);

Installation

dotnet add package Aardvark.Base
dotnet add package Aardvark.Base.FSharp  # F# extensions

Resources

License

Apache 2.0