Project Terabytes of Textures for Immersive Virtual Environments

Prof. Dr. Bernd Fröhlich
Dipl.-Mediensys.wiss. Stephan Beck
Dipl.-Mediensys.wiss. André Kunert
Dipl.-Mediensys.wiss. André Schollmeyer
M.Sc. Carl-Feofan Matthes
M.Sc. Adrian Kreskowski
M.Sc. Tim Weißker
Dr. rer. nat. Alexander Kulik


15 Credits Medieninformatik (B.Sc.)
15 Credits Computer Science and Media (M.Sc.)
15 Credits Computer Science for Digital Media (M.Sc.)

Beschreibung:

Texture Mapping ist eine bewährte Technik um Eigenschaften von komplexen 3D-Modellen in 2-dimensionalen Bildern abzulegen und diese auf 3D-Geometrie abzubilden. So werden beispielsweise Farben, Normalen für die Beleuchtungsberechnung, Deformationen usw. effizient auf Dreiecksnetzen angebracht. Das Speichern der Information in Texturen kommt allerdings mit einer Herausforderung: Szenen, die wenige Quadratmeter an Fläche in der realen Welt abdecken, belegen alleine für die Farbinformation ohne weiteres mehrere Gigabyte des Grafikspeichers. Die Herausforderung, mehrere Attribute in Texturen zu speichern und ganze Städte oder Landstriche hochdetailliert abzubilden, bringt selbst modernste Grafikkarten an ihre Grenzen.

Beim sogenannten "Virtual Texturing" werden Multiresolution-Hierarchien genutzt, um riesige Texturen auf 3D-Datensätze abzubilden. Dieser Ansatz erfordert dynamisches Streaming von Teilen der Textur in der erforderlichen Auflösung und ermöglicht qualitativ hochwertige Szenen trotz begrenztem Texturspeicher darzustellen. Sogenannte Out-of-Core-Rendering-Ansätze werden oft von Heuristiken geleitet, die sowohl die Sichtbarkeit einzelner Szenenteile als auch die Auflösung des physikalischen Displays in Betracht ziehen ("Ausgabesensitivität") 

In diesem Projekt werden wir ein Virtual-Texturing-System nach dem aktuellen Stand der Technik für das hauseigene Rendering-System "Guacamole" entwickeln. Im Vordergrund stehen neben Aspekten wie der effizienten Berechnung der Multiresolution-Hierarchie für Texturen auch die Echtzeitfähigkeit und die Kompatibilität mit Mehrbenutzer-Anwendungen der Virtuellen Realität. Unser Ziel ist es, sehr detaillierte Texturdaten der Größenordnung mehrerer Gigabyte bis Terabyte effizient und für Benutzer nahezu unbemerkt zur Laufzeit zu laden, zu verwalten und darzustellen. 

 

Description:

Texture Mapping is a proven technique for storing properties of complex 3D models in 2-dimensional images and mapping them to 3D geometry. Thus, colors, normals for the illumination calculation, deformations, etc. are efficiently applied to triangular meshes. Storing the information in textures, however, comes with a challenge: Scenes covering a few square meters of surface area in the real world easily require several gigabytes of graphics memory for storing just the color information. The challenge of presenting several attributes per scene and displaying entire cities or landmarks in a highly detailed manner brings even the most modern graphics cards to their limits.

A technique called "virtual texturing" employs multi-resolution hierarchies in order to map huge textures onto 3D datasets. This approach requires dynamic streaming of parts of the texture on demand and at the required resolution into texture memory and allows us to represent high-quality scenes in spite of limited memory. So-called out-of-core rendering approaches are often guided by heuristics incorporating both the visibility of individual parts of the scene, and the resolution of the physical display ("output sensitivity"). 

In this project, we will develop a state-of-the-art virtual texturing system, capable of rendering gigabytes to terabytes of texture data, for the in-house rendering system "Guacamole". In addition to efficient preprocessing of the multi-resolution hierarchy for textures, we will focus on the real-time capability, data management and compatibility with multi-user virtual reality applications. Our goal is to load, manage and render highly detailed texture data in the terabyte range.

 

Voraussetzungen:

Grundlegende Kenntnisse in C++ und OpenGL wünschenswert

Requirements:

Basic knowledge in C++ and OpenGL desirable

Leistungsnachweis:

aktive Mitarbeit im Projekt, 2-3 Vorträge, Abschlusspräsentation

Assignments:

active participation in the project, two to three intermediate presentations, presentation of final project results

Richtet sich an:

Bachelor Medieninformatik, Master Computer Science and Media, Master Computer Science for Digital Media