How to use Aardvark
The aardvark platform consists of ~12 core and community repositories hosting more than 70 packages. Thus, the term "using aardvark" reaches from using aardvark utilities up to using the full power of the platform for commercial and industry projects benefiting from experience, research results and libraries originated from the community and ecosystem. Next, we give severeal answers on how to use aardvark...
How to contribute
Additionally to standard fork/pull request system, we provide discussion platforms on gitter.
Using aardvark utilities, algorithms and data-structures
nuget currently lists ~70 aardvark packages. You can simple use them with nuget directly or paket. All packages are published in netstandard 2.0 which means they can be used from C#/F# or any other language running in the dotnetcore/netframework. The environment and all base packages are open source (Apache 2.0 licenced) and platform independent. Aardvark.Base is just like any other nuget package, all standard. docs on how to use f# with vscode for example can be found [here].(https://docs.microsoft.com/en-us/dotnet/fsharp/get-started/get-started-vscode).
The aardvark.base repository includes packages for:
Aardvark.Base Math, Math data types such as vectors, matrices, transformations and much much more....
Aardvark.Base.FSharp: Algorithms and datastructures, Persistent data structures, Attribute Grammar Implementation, Native Interop helpers, AMD64 assembler,....
Using aardvark's incremental system
Although also the incremental system can be used using C# see here, we recommend using F# at least for modules focusing on incremental evaluation and rendering.
In the aardvark.base repository, two packages are concerned with incremental computation:
Aardvark.Base.Incremental: our incremental system which is the main driver for our high-performance rendering engine.....
Aardvark.Base.Runtime interesting tools such for code generation/JIT etc
Using aardvark for graphics or general purpose GPU programming
Clearly, for graphics we need proper graphics drivers. On linux, we additionally require runtime libraries, for development typically installed using the disto's package manager, see here.
Relevant packages are Aardvark.Rendering.* in the aardvark.rendering repository, a simple demo application can be found here. Either you reference all packages as you prefer (using nuget or paket) or alternatively you can also use our template project to create a fresh project with all references already added to the project.
All related packages are licensed under Apache 2.0.
Easy to use scene setup and windowing framework
High performance rendering for 3D scenes
FShade powered composable shaders and GPUGPU
Using aardvark for combining modern purely functional graphics and UI with high performance rendering
Aardvark.Media, Apache 2.0 licensed provides a purely functional ELM-style frontend for aardvark applications. The purely functional approach greatly improves flexibility and rapid development capabilities for applications with user interaction. The unique point of aardvark.media is the combination of high-level purely functional API and high-performance rendering capabilities of aardvark.rendering.
Use aardvark rendering engine in web browsers
mix 3D content with browser content
Using Aardvark for innovation in graphics related applications in commercial settings
There are a couple of libraries in the platform, e.g. out-of-core data-structures, photogrammetry or tools for processing volume data all licenced under AFERO dual licence. [todo stefan]
Using Aardvark libraries in research and academia
Since large parts of the libraries are Apache 2.0 the interesting parts are repositories under dual licensing sheme. Here we provide special licensing options/agreements.
Using Aardvark for novel application fields, research projects or commercial projects whenever customization is needed.