Aardvark is an open-source platform for visual computing, real-time graphics and visualization.
As a research platform, Aardvark has a very strong emphasis on advancing the state-of-the-art in visual computing systems. Some unique features include
- a fullyincremental renderingVM,
- semantic composition of language-integrated shaders, and
- elm-style application development.
Based on a functional-first programming paradigm, Aardvark is one of the most efficient platforms in terms of raw rendering performance, throughput, resource consumption, and rapid prototyping of complex visual computing applications.
Aardvark is also used in industrial-scale real-world systems. It routinely handles terabytes of data, integrates sophisticated computer vision, graphics, and data management algorithms, and drives complex workflows and user interfaces.
Install – Open Source Development Environment
- Minimal development setup: dotnet sdk & f#
- Notes on VS Code
- Notes on VisualStudio
- Supported Platforms
- Notes on Linux Support
Demos & Examples
Window Systems and other real world concerns
Debugging Techniques & How to Contribute
FAQ Aardvark Programming
- Aardvark vs Mainloop vs Animation (TODO)
- Traceable data types in the incremental system
- Push Pull vs the incremental system (TODO)
- Adaptive World
- Example Code and Demos – (old rendering-examples)
- The Almighty Mod System
- Publish dotnet project to .exe
Cool university and community projects
- Philipp Erler’s thesis on Haptic Feedback in Room Scale VRandhere. Notably, this is based on ELM style app with physics and vr integration
- Samy the salmon by Martin Mautner and Lisa Kellnershows realtime rendering in effects in aardvark.rendering
- Vectors and Matrices
- Colors and Color Spaces
- Point Clouds
- Incremental Computation
- Scene Graph
- Aardvark.Media API
- Custom Events for communicating between DomNodes
- Obtaining ClientValues (viewTrafo, projTrafo, etc.)
- Deploying embedded resources
- Incremental Rendering?
- Dependency Injection via ‘Lens Configs’
- Discriminated Unions in FShade
- Vertex Indexing in FShade Geometry shader
- Using FsPickler
- Functional Language Fundamentals
- Functional Data Structure Concepts
- Functional Programming & F# Speak
- Compilation Scheme – Aardvark.Compiler.DomainTypes
- PixImage usage
- Embedded Browser
- type constraints and inline calls in F#
- Handling Keyboard Inputs with Active Patterns
Many of Aardvark’s core concepts have been peer-reviewed by experts in their fields and published at major scientific conferences.
 Georg Haaser, Harald Steinlechner, Stefan Maierhofer, and Robert F. Tobler. 2015.An incremental rendering VM. In Proceedings of the 7th Conference on High-Performance Graphics (HPG ’15), Stephen Spencer (Ed.). ACM, New York, NY, USA, 51-60.
 Georg Haaser, Harald Steinlechner, Michael May, Michael Schwärzler, Stefan Maierhofer, Robert F. Tobler. 2015.Semantic Composition of Language-Integrated Shaders. In Computer Vision, Imaging and Computer Graphics – Theory and Applications: International Joint Conference, VISIGRAPP 2014, Lisbon, Portugal, January 5-8, 2014, Revised Selected Papers. Springer International Publishing, ISBN 978-3-319-25117-2, pp. 45-61.
 Georg Haaser, Harald Steinlechner, Michael May, Michael Schwärzler, Stefan Maierhofer and Robert F. Tobler, “CoSMo: Intent-based composition of shader modules,” 2014 International Conference on Computer Graphics Theory and Applications (GRAPP), Lisbon, Portugal, 2014, pp. 1-11.
 Michael Wörister, Harald Steinlechner, Stefan Maierhofer, and Robert F. Tobler. 2013.Lazy incremental computation for efficient scene graph rendering. In Proceedings of the 5th High-Performance Graphics Conference (HPG ’13). ACM, New York, NY, USA, 53-62.