GPU Day abstract - Aardvark Platform
===
We provide an overview of the *Aardvark Platform* team and current interesting projects. The team works in High Performance Rendering, Data Acquisition and Computer Vision areas together with industry partners, aiming to create clean, production-quality software. Functional Programming and Declarative APIs greatly facilitate this process for small and scientific teams.
* Total Duration: 40-60 minutes
* Speakers: Attila Szabo, Harald Steinlechner, Georg Haaser
* We could bring a HTC Vive setup if there is space
## 1. A functional Photogrammetry library (Attila Szabo)
As part of a diploma thesis, a *composable and reusable photogrammetry library* was implemented from scratch. The computational and mathematical complexity involved is handled through a functional implementation. We present the necessary components for photogrammetry, outline an implementation, and discuss advantages of such a design.
## 2. Functional programming vs. Efficient Computer Graphics (Harald Steinlechner, Georg Haaser)
*Aardvark Platform* is an open source rendering and visual computing library powering multiple state of the art industry applications. The core component *Aardvark.Rendering* is a lazy incremental renderer which compiles render commands down to efficient GPU instructions using a dependency tracking system. An adaptive scenegraph provides a declarative scene specification API. We walk through the implementation of such a rendering backend and demonstrate difficult use cases handled quickly and concisely.
## 3. A functional Shader library (Georg Haaser)
*FShade* is a library for composable shaders. Using a declarative language, shader modules are defined independently and then compiled efficiently into a shader pipeline, which is then emitted as shader code. Features:
* easy shader variation and reordering
* automatic VR shaders
* shader caching through expression tree serialization
* live shader editor
## 4. Functional Programming in the Wild (Harald Steinlechner)
Building large, complex, and heavily underspecified research applications with small teams.
*Aardvark.Media* is an ELM-style application declaration library. It provides a declarative API, of which an efficient mutable implementation is compiled in the background. We demonstrate some examples implemented with Aardvark.Rendering and Aardvark.Media, including an efficient Volume Renderer, a large-scale level of detail system used with Point Clouds, and VR apps.