Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
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 fully incremental rendering VM,
- 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
- Quickstart (Windows) - obsolete
- Quickstart (Linux) - obsolete
- Visual Studio Code
- Supported Platforms
- Linux Support
Install - Using Visual Studio
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
- 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.