News
In today's lecture we will brievly recapitulate important topics and provide the possibility to ask lecture and project related questions. Please also use the gitter chat for discussing potential project ideas (especially students using the aardvark rendering engine).
Letzte Abhaltung
Neuauflage von Robert F. Tobler's Vorlesung! Die Unterlagen der letzten Abhaltung sind hier zu finden: Entwurf und Programmierung einer Rendering-Engine 2017
Materials
Teaser slides
Lecture 08.10.18 - Organization
Lecture 08.10.18 - Introduction and Motivation
Lecture 15.10.18 - Scene Representation
Paper slides (15.10.18) - Semantic Scene Graph
Paper 15.10.18 - Semantic Scene Graph, 15.10.18
Paper 22.10.18 - Lazy Incremental Computation for efficient Scene Graph Rendering
Paper slides (22.10.18) - Lazy Incremental Computation for efficient Scene Graph Rendering
Lecture 22.10.18 Hardware, Graphics APIs and Insights
Lecture 29.10.18 Data and Rendering Engines
Lecture 05.11.18 Vorbesprechung UE
Lecture 05.11.18 Aardvark - Deep Dive
Lecture 12.11.18 Low Level Optimizations and Insights for Rendering Engines
Lecture 12.11.18 Incremental Rendering VM
Paper 12.11.18 - An Incremental Rendering VM
Lecture 19.11.18 - Domain Specific Languages for Rendering Engines
Additional material: Attribute Grammars for Efficient Scene Graph Rendering (preprint paper, to appear)
Lecture 19.11.18 - Shaders in FShade
Lecture 26.11.18 - Materials and Lights
Lecture 10.12.18 - Real-time Shading System and Global Illumination
Lecture 14.01.19 - Wrap up, Q/A
Status and upcoming lectures
Upcoming lectures (preliminary):
08.10.2018 - Organization, Introduction15.10.2018 - Scene representation22.10.2018 - Optimization techniques for rendering engines29.10.2018 - Applied Data Structures05.11.2018 - Representing fully dynamic scenes, Aardvark Tutorial, Vorbesprechung UE12.11.2018 - Optimization techniques for fully dynamic scenes19.11.2018 - Domain Specific Languages for Rendering Engines, Composable Shaders26.11.2018 - Materials and Lights for Rendering Engines17.12.2018 - Shading System and Global Illumination14.01.2018 - 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: 08.10.2018
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.