WS 2.0, 186.166
TISS

Harald Steinlechner

Letzte Abhaltung

Neuauflage von Robert F. Tobler's Vorlesung! Die Unterlagen der letzten Abhaltung sind hier zu finden: Entwurf und Programmierung einer Rendering-Engine 2015

News

Please also use the gitter chat for discussing potential project ideas (especially students using the aardvark rendering engine).

Materials

Teaser slides
Lecture 09.10.17: Organization
Lecture 09.10.17: Introduction
Lecture 16.10.17: Scene representation
Paper: Semantic Scene Graph
Paper slides: Semantic Scene Graph
Lecture 23.10.17: Graphics APIs and Optimizations
Paper slides: Lazy Incremental Computation for Efficient Scene Graph Rendering
Paper: Lazy Incremental Computation for Efficient Scene Graph Rendering
Lecture 30.10.17: Applied Data Structures
Lecture 06.11.17: Scene Representation for dynamic Scenes
Lecture 06.11.17: Vorbesprechung UE
Lecture 13.11.17: Low level optimizations and cost of abstraction
Lecture 13.11.17: Optimization Techniques for fully dynamic scenes
Paper: An Incremental Rendering VM
Paper: CoSMo: Intend-based Composition of Shader Modules
Lecture 20.11.17: Domain Specific Languages for Rendering Engines
Lecture 20.11.17: Composable Shaders
Lecture 27.11.17: Material and Lights
Lecture 04.12.17: Real-time Shading System and Global Illumination
Stream
Videos:
16.10 - Scene representation
23.10 - Graphics APIs and Optimizations
30.10 - Applied Data Structures
06.11 - Fully dynamic scenes, UE Vorbesprechung
13.11 - Low level optimizations, Rendering VM, Optimizations for fully dynamic scenes
20.11 - DSLs and Composable Shaders
27.11 - Materials and Lights
04.12 - Real-time Shading System and Global Illumination

Status and upcoming lectures

Upcoming lectures:
  • 09.10.2017 - Organization, Introduction
  • 16.10.2017 - Scene representation
  • 23.10.2017 - Optimization techniques for rendering engines
  • 30.10.2017 - Applied Data Structures
  • 06.11.2017 - Representing fully dynamic scenes, Aardvark Tutorial, Vorbesprechung UE
  • 13.11.2017 - Optimization techniques for fully dynamic scenes
  • 20.11.2017 - Domain Specific Languages for Rendering Engines, Composable Shaders
  • 27.11.2017 - Materials and Lights for Rendering Engines
  • 04.12.2017 - Shading System and Global Illumination
  • 15.01.2017 - Questions regarding the lecture/project
For the demo of your project we provide two systems at VRVIs (if you don't use a laptop):
  • Win10, VisualStudio 2015 (or 2017), GeForce GTX 1080 (*2), i7-4930K @ 3.4GHz, 32GB Ram
  • Antergos Linux, GeForce GTX 970, i5, 16GB Ram

The LV Team

The Aardvark Platform Team in alphabetical order: Georg Haaser, Christian Luksch, Stefan Maierhofer, Harald Steinlechner, Attila Szabo.

Topics of this lecture

  • Requirements for the design of rendering engines
  • Hardware and Graphics APIs (OpenGL, Direct3D, Vulkan,..)
  • Scene Representation (Scene graphs, display lists, command buffers,...)
  • Static and Dynamic Data (Incremental Update Techniques)
  • Optimizations (Caching, Culling, Level of Detail, Bounding Volume Hierarchies, Just-In-Time Optimization)
  • Resource Management
  • Domain Specific Languages (HLSL, Spark, FShade, Semantic Scene Graph,..)
  • Reusable Components/Design for Rendering Engines

Allgemeine Information

Vorlesungszeiten

Ort: Seminarraum 186
Beginn: 09.10.2017
Zeit: Montag 16:15 (s.t.) - 17:45

Kurzfassung

Die VU Entwurf und Entwicklung einer Rendering Engine gibt einen systematischen Überblick über die wichtigsten Konzepte und Tradeoffs, die es bei der Entwicklung moderner Rendering Engines zu berücksichtigen gilt.

Alle Konzepte werden sowohl anhand der theoretischen Grundlagen auf Basis relevanter wissenschaftlicher Literatur erläutert, als auch praktisch auf Basis aktueller Rendering Engine Implementierungen demonstriert.

Die Lehrveranstaltung beginnt mit der Vorstellung verschiedenster Anwendungs- und Einsatzgebiete von Rendering Engines und gibt einen Überblick über die sich daraus abzuleitenden, oftmals konkurrierenden, Anforderungen an die Systemarchitektur und Komponenten, sowie daraus resultierenden Tradeoffs. Ausgehend von existierenden Hardware- und Softwareschnittstellen werden weiters technische Rahmenbedingungen und Limitierungen geklärt und den konkurrierenden Anforderungen Effizienz, Benutzbarkeit und Softwarequalität gegenübergestellt.

Darauf basierend wird im weiteren Verlauf der Lehrveranstaltung ein großer Bogen über wesentliche Komponenten von Renderingsystemen gespannt, beginnend bei der Szenenrepräsentation, dem unterschiedlichen Umgang mit statischen und sich dynamisch stark ändernden Daten, über eine Vielzahl von Optimierungstechniken, über Resource Management für out-of-core Datensätze, bis hin zu DSLs (domain-specific languages) und deren Auswirkungen auf Performance, Korrektheit und Produktivität.

Die Lehrveranstaltung schließt mit einer Diskussion verschiedener Designmöglichkeiten für flexible Rendering-Engine-Architekturen ab.