Skip to content
WalchAndreas edited this page Sep 7, 2017 · 5 revisions

stuff from various readme files.

Aardvark.Base

This library contains data types and algorithms commonly used in computer graphics, like

  • basic vector/matrix/color/range types (Vector/Matrices Cheatsheet)
  • transformation utilities (e.g. quaternions, ...) (Transformations Cheatsheet)
  • geometric primitives (e.g. triangle, polygon, line, etc.) (Geometry Cheatsheet)
  • efficient tensor library (Vector, Matrix, Volume, Tensor4)
  • sorting algorithms (dual-pivot quick sort, timsort, etc.)
  • minimum spanning tree / shortest path / etc.
  • polynomial solver / LU-Factorization / QR-Factorization
  • ...

Aardvark.Base is also distributed as a binary package via NuGet!

Aardvark Platform

Our quickstart for Windows and Linux smoothes the path for your Aardvark experience!

Do not forget to check out our wiki and various examples, where your contributions are very welcome!

License

Aardvark libraries are free to use: Apache License 2.0.

Aardvark.Rendering

In order to use F# interactive with Aardvark.Rendering make sure you are using the 64bit version of fsi.exe (fsharpi.exe on linux). For windows, in order to use the visual studio integrated interactive shell, go to Tools/Options/F# and 64bit interactive to true. On Linux, make sure to use a 64bit mono and all is fine.

Tutorials can be found here: https://github.com/aardvark-platform/aardvark.rendering/tree/master/src/Demo/Examples

Aardvark.Media

(none)

Aardvark.Fake

This repository contains some useful extensions for the Fake/Paket infrastructure, which we use in our projects, such as Aardvark.Rendering and Aardvark.Base. Most importantly, AdditionalSources.fsx provides cabal add-source like functionality for referencing source versions of dependent packages.

in our packages we typically use a paket.dependencies config as such:

group Build
content: none
source https://vrvis.myget.org/F/aardvark_public/api/v3/index.json
source https://api.nuget.org/v3/index.json

github aardvark-platform/aardvark.fake:standalone 

while the build script might look like (DefaultSetup is the main entry script):

#load @"paket-files/build/aardvark-platform/aardvark.fake/DefaultSetup.fsx"

open Fake
open Aardvark.Fake
open Fake.Testing

do Environment.CurrentDirectory <- __SOURCE_DIRECTORY__

DefaultSetup.install ["src/Aardvark.sln"]

Thus, when used that way, the build script provides the following commands (copied from usage section in DefaultSetup.fsx):

  syntax: build [Target] where target is one of the following
    Default (which is executed when no target is given)
      same like compile but also copying native dependencies (from libs/Native/PROJECTNAME)
      to bin/Release and injecting them as resource into the resulting dll/exe
    Compile
      builds the project's solution to bin/Release
    Clean
      deletes all output files in bin/Debug and bin/Release
    CreatePackage
      creates packages for all projects having a paket.template using the current
      git tag as version (note that the tag needs to have a comment).
      the resulting packages are stored in bin/*.nupkg
    Push
      creates the packages and deploys them to all feeds specified in deploy.targets
    Restore
      ensures that all packages given in paket.lock are installed
      with their respective version.
    Install
      installs all packages specified in paket.dependencies and
      adjusts project files according to paket.references (next to the project)
      may also perform a new resolution when versions in paket.dependencies have changed.
    Update [regex]
      searches for newer compatible version (according to paket.dependencies)
      and installs them if possible. this target also adjusts the project files
    UpdateBuildScript
      updates the build script and its dependencies.

 advanced features
   AddSource <folder>
     adds the repository located in <folder> as source dependecy causing all packages
     referenced from that repository to be overriden by a locally built variant.
     Note that these overrides are not version-aware and will override all packages
     without any compatibility checks.
     Furthermore these source packages \"survive\" Install/Update/Restore and
     are rebuilt (upon restore/install/update) when files are modified in the source folder
   RemoveSource <folder>
     removes the repository located in <folder> from the source dependencies and restores
     the original version from its respective package source.

aardvark.base's scripts demonstrates how we use the build script from cmd/bash.

Template

This repository contains tools for quickly setting up your own Aardvark project. aardvark.base, aardvark.rendering and aardvark.media packages are already referenced. Start developing interactive visualization apps straight away!

To create a new project run build.cmd or build.sh and follow the instructions.

A visual studio solution inclusive project file is generated.

After successfully setting up your project, build.cmd or build.sh triggers our build script.

Aardvark Platform

Our quickstart for Windows and Linux smoothes the path for your Aardvark experience!

Do not forget to checkout our wiki and various examples, where your contriubtion is very welcomed!

Clone this wiki locally