Rendering für Augmented Reality



Ähnliche Dokumente
Rendering für Augmented Reality

Rendering für Augmented Reality

Rendering für Augmented Reality. Ein Generisches AR-System

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

Lichtbrechung an Linsen

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

4. Kapitel 3D Engine Geometry

Chancen und Möglichkeiten der Nutzung von Augmented Reality Technologien im Industrie 4.0 Umfeld Vortrag auf dem Karlsruher Entwicklertag 2015

computer graphics & visualization

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

Computer-Graphik I Transformationen & Viewing

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Virtuelle Fotografie (CGI)

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen

Programmieren mit DirectX

Professionelle Seminare im Bereich MS-Office

Primzahlen und RSA-Verschlüsselung

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Computer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg

Linienland, Flächenland und der Hyperraum Ein Ausflug durch die Dimensionen

Universität Augsburg. 20. April B. Möller (U. Augsburg) Computergraphik SS April / 6

Optische Systeme und Computer Vision. Heinz-Wilhelm Hübers, Ralf Reulke

1 topologisches Sortieren

ways2gether ipad App Guide

Umgekehrte Kurvendiskussion

Softwareprojekt Spieleentwicklung

Agile Software Development

2.2 Projektionen und Kameramodelle

Zeichen bei Zahlen entschlüsseln

Advanced Rendering Interior Szene

Erstellen von x-y-diagrammen in OpenOffice.calc

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung


Online Intelligence Solutions TESTABLAUF. 7 Schritte für ein erfolgreiches Testing.

Computer Graphik I Intro

Info zum Zusammenhang von Auflösung und Genauigkeit

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

impact ordering Info Produktkonfigurator

Algorithmen und Datenstrukturen

Objektorientierte Programmierung

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

Praktikum Physik. Protokoll zum Versuch: Geometrische Optik. Durchgeführt am

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

6.2 Scan-Konvertierung (Scan Conversion)

Die Größe von Flächen vergleichen

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

PARTNERSCHAFT forte 2.0

Woche 1: Was ist NLP? Die Geschichte des NLP.

Speicher in der Cloud

12. Dokumente Speichern und Drucken

Testen Sie gleich Ihr Wissen zu der Weltneuheit Intuitiv TM Technologie! Viel Spaß!

Augmented Reality als moderne Darstellungsform von Geodaten

Text Formatierung in Excel

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

Tracking Technologien für Augmented Reality

Shopz Zugang Neuanmeldung

Wie Sie mit Mastern arbeiten

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

3D Objekte in einen Clip integrieren

Grundlagen der Theoretischen Informatik, SoSe 2008

Nützliche Tipps für Einsteiger

P = U eff I eff. I eff = = 1 kw 120 V = 1000 W

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße Essen Telefon Telefax

3.2 Spiegelungen an zwei Spiegeln

Einführung in die Programmierung

Reporting Services und SharePoint 2010 Teil 1

Computergraphik I. Scan Conversion: Lines & Co. Einordnung in die Pipeline. G. Zachmann Clausthal University, Germany zach@tu-clausthal.

Produkte Info Touchscreen-Panel

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

eu Stand

Bedienungsanleitung für das Tektronix Oszilloskop TDS 2002B

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

Virtual Reality Heute und Morgen. Was ist Virtual Reality? Virtuelle Hochzeit. Kommt das Holodeck fürs Wohnzimmer? Anton L.

Eine Logikschaltung zur Addition zweier Zahlen

Die Übereckperspektive mit zwei Fluchtpunkten

EINFACHES HAUSHALT- KASSABUCH

Übung 1. Explorer. Paint. Paint. Explorer

Im Original veränderbare Word-Dateien

IT-Unternehmensarchitektur Übung 01: IT-Strategie

Scheper Ziekenhuis Emmen. Tel.: + 31 (0) Fax: + 31 (0) Web:

Menü auf zwei Module verteilt (Joomla 3.4.0)

Anzeige von eingescannten Rechnungen

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Theoretische Grundlagen der Informatik WS 09/10

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Ablauf bei der Synchronisation und Sortierung von Dateien aus mehreren Kameras

Lineare Gleichungssysteme

Informationsblatt Induktionsbeweis

5. Lineare Funktionen

Was meinen die Leute eigentlich mit: Grexit?

Übungen zur Softwaretechnik

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Multiplayer Anweisungen

Transkript:

Rendering für Augmented Reality Vorlesung Augmented Reality Prof. Dr. Andreas Butz WS 2006/07 Folien heute von Dr. Martin Wagner LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 1

Ein Generisches AR-System Sensorik Einbeziehung der Ortsinformation in virtuelle Welt Realität Tracking (Ortsbestimmung) Virtualität Feedback an Benutzer Rendering und Realitätserweiterung LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 2 Kombination realer und virtueller Inhalte

Überblick Grundlage: Perspektivisches Zeichnen 3D Rendering Pipeline Verdeckungen von realen und virtuellen Objekten Stereo Rendering Rendering für Projektoren Softwarehilfen: Szenengraphen LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 3

Grundlage: Perspektivische Projektion 2D-Punkt u 3D-Punkt x u = fx / z Brennweite f Abstand z Grundidee: Lage aller Objekte in 3D bestimmen und zeichnen Objekte auf 2D-Bildebene projizieren Passenden Bildausschnitt wählen und anzeigen LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 4

Objektverdeckung 3D-Punkt x2 3D-Punkt x1 2D-Punkt u u = fx1 / z1 = fx2 / z2 Brennweite f Abstand z2 Abstand z1 Punkt x2 verdeckt x1 Idee: z-buffering Zeichne Punkte nur, falls nicht an der selben Stelle der Bildebene schon etwas ist Wird in Grafikhardware höchst effizient implementiert LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 5

Kameraanalogie [OpenGL Programming Guide (Red Book), Chapter 3] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 6

3D Rendering Pipeline Ziel: effiziente Berechnung aller Transformationen Vor allem lineare Berechnungen können hocheffizient in 3D-Hardware gegossen werden Pipeline-Konzept: Sequentielle, teils parallelisierte Verarbeitung [Müller, Vorlesung VR/AR, 2003] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 7

OpenGL-Pipeline [OpenGL Programming Guide (Red Book), Chapter 3] Nur lineare Operationen bis zu clip coordinates Perspective Division teilt durch w- Wert homogener Koordinaten Normalized Device Coordinates sind in Würfel mit Seitenlänge 2: [-1; +1] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 8

Perspektivische Projektion in OpenGL (1) Einfache Methode: gluperspective Angabe von: Öffnungswinkel Kamera in y-richtung Aspect ratio w/h Near/far clipping plane LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 9

Perspektivische Projektion in OpenGL (2) Mächtige Methode: glfrustum Angabe von: Near/far clipping plane Allen Rändern der near clipping plane Hierdurch auch off-axis Projektion möglich LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 10

Parallele Projektion in OpenGL (3) Orthographische Projektion: glortho Angabe der Ränder des Viewing Volume Quaders Ideal zum Zeichnen von 2D-Elementen (Video Background, HUD) LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 11

Echtzeit-Anforderungen Grundproblem: beschränkte Wiederholrate aller Anzeigegeräte Projektor mit 60 Hz führt immer zu 16 2/3 ms Latenz Sinnvoll: Synchronisation des Rendering mit Bildwiederholrate (Genlock, Framelock) Immersionsgefühl erst ab 10Hz Flüssiges Arbeiten (insbesondere mit HMDs) erst ab 60Hz LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 12

Effizienzsteigerung: View Culling Idee: Nur sichtbare Objekte zeichnen Hohe Performanz durch konservative Entscheidungen [SGI, OpenGL Performer Getting Started Guide, chapter 15] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 13

Effizienzsteigerung: Hierarchisches View Culling Beobachtung: Objekte sind oft hierarchisch organisiert Idee: durch Test eines Vaterobjekts können viele Kinder wegoptimiert werden [Müller, Vorlesung VR/AR, 2003] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 14

Effizienzsteigerung: Level of Detail Beobachtung: entfernte Objekte sieht man ungenauer Idee: zeichne Objekte nur dann detailliert, wenn sie nah am Betrachter sind [SGI, OpenGL Performer Getting Started Guide, chapter 3] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 15

Effizienzsteigerung: Occlusion Culling Idee: Zeichne keine Objekte, die ohnehin verdeckt werden Allgemein schwieriges Problem Konservative Lösung genügt Möglicher Ansatz: hierarchische Tests [Zhang, Effective Occlusion Culling for the Interactive Display of Arbitrary Models, Ph.D. Thesis, UNC 1998] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 16

3D Rendering: erweiterte Pipeline LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 17

Verdeckungen Grundproblem: Wie schafft man korrekte Verdeckungen von realen und virtuellen Objekten? (Recht) einfacher Fall: virtuelle Objektverdeckung Occlusion Culling Z-Buffering Kann auf Grafikkarte schnell realisiert werden LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 18

Verdeckungen: Transparente Objekte (1) Z-Buffer: zeichne Objekt nur, wenn nicht an der selben (x,y) Stelle schon ein niedrigerer z-wert steht Problem: Was ist, wenn Objekte durchscheinen? [Quake 2, ID soft] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 19

Verdeckungen: Transparente Objekte (2) Alpha-Wert: gibt Transparenz eines Objekts an (0 ist transparent, 1 ist opak) Sortierung von Objekten: Zuerst alle opaken Objekte (korrektes z- Buffering) Dann alle transparenten Objekte mit eingeschaltetem Blending Obacht: müssen von hinten nach vorne sortiert sein. Und was ist mit realen Objekten? LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 20

Verdeckung virt. durch reale Objekte Idee: Zeichne volltransparentes Objekt Z-Wert wird korrekt gesetzt Hintergrund (Videobild bei Video-See- Through, schwarz bei Optical-See-Through) bleibt unverändert Muss als erstes passieren Also neue Reihenfolge: Modelle realer Objekte volltransparent Opake virtuelle Objekte Transparente virtuelle Objekte, von hinten nach vorne LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 21

Stereo Rendering Bisher: Monoanzeige Meist einfach & gut Ideal für Anzeige auf 2D-Bildschirmen Aber: AR ist per Definition dreidimensional Verbesserter Tiefeneindruck Verbesserte Interaktion mit virtuellen Objekten Nur wie auf einem Rechner mit einer Grafikkarte zwei Bilder für zwei Augen erzeugen? LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 22

Stereo Rendering: Techniken (1) Anaglyphic Stereo Zwei Farben für links/rechts und Brille mit Filtern Günstig, aber Farbinfo geht verloren Quad Buffering Abwechselnd ein Bild links/rechts ausgeben Stereo-HMD sortiert Bilder passend Nur in High-End Grafikkarten (ATI FireGL, NVidia Quadro) [Pape, Anstey, SIGGRAPH 2004] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 23

Stereo Rendering: Techniken (2) Stencil Buffering Alle ungeraden Zeilen geben linkes Bild Alle geraden Zeilen geben rechtes Bild Problem: Halbierung der Auflösung Zwei Grafikkarten Bei HMD einfach Komplex bei Projektoren ( Polarisierungsfilter) [3DChip - Das Grafikkarten Onlinemagazin, 2005] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 24

Stereo Rendering: Projektion (1) Toe-in Methode: Kamera für linkes und rechtes Auge zeigen auf gemeinsamen Blickpunkt Einfache Implementierung mit gluperspective Geometrisch nicht korrekt Vertikale Parallaxe LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 25 [http://astronomy.swin.edu.au/~pbourke/opengl/stereogl/]

Stereo Rendering: Projektion (2) Parallel axis asymmetric frustum perspective projection Identische Projektionsebene für beide Augen Geometrisch korrekt Implementierung erfordert glfrustum [http://astronomy.swin.edu.au/~pbourke/opengl/stereogl/] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 26

Rendering für Projektoren (1) Projektion auf planare Oberflächen Homographie gibt lineare Abbildung einer 3D-Ebene auf andere 3D-Ebene Hier: Abbildung Projektionsebene (Wand) auf near clipping plane (Projektor) Homographie kann in Projektionsmatrix integriert werden Echtzeit kein Problem Achtung auf Depth-Buffer Werte [Raskar 1999] [Sukthankar 2001] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 27

Rendering für Projektoren (2) Multi-Pass Rendering für nichtplanare Oberflächen Erster Durchlauf: zeichne Bild aus Sicht des Benutzers (in Framebuffer) Zweiter Durchlauf: nutze Framebuffer als Textur, die auf Modell der Realität gelegt wird, zeichne Bild aus Sicht des Projektors [Bimber et al. 2002] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 28

Szenengraphen Wiederholung: Hierarchische Transformationen Zuerst Rotation, dann Translation: Zuerst Translation, dann Rotation: LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 29

Szenengraphen: Zweck (1) Angenehme Programmierung hierarchischer Szenen Vorbearbeitung: Occlusion Culling View Culling Level of Detail Sortierung von Primitiven Effizienzsteigerung Korrektes Rendern transparenter Objekte LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 30

Szenengraphen: Zweck (2) Wiederverwendung von Szenen Szenengraph ist ein DAG Angenehmes Multi-Pass Rendering Import/Export von 3D-Szenen, Formate 3DStudio Max VRML Open Inventor LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 31

Szenengraphen: Stereo Rendering Root Left Camera Right Camera 3D Scene LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 32

Szenengraphen: Open Inventor C++ Bibliothek von SGI Varianten: SGI Inventor: Original, mittlerweile Open Source TGS Inventor: kommerzielle Weiterentwicklung Coin3D: GPL-Variante aus Norwegen Haupteinsatz für interaktive Darstellung virtueller Welten Erweiterungen durch Ableiten gegebener Klassen Bsp.: Studierstube (TU Graz) LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 33

Szenengraphen: Open Inventor (2) [http://www.coin3d.org] [The Inventor Mentor] [http://www.tgs.com] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 34

Szenengraphen: OpenGL Performer C++ Bibliothek von SGI Auf höchste Performance optimiert Unterstützt Multiprocessing (mehrere GPUs mit gleicher Szene) Freie Alternative: openscenegraph.org Wird auch in Fluidum verwendet Import/Export zahlreicher 3D-Formate LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 35

Szenengraphen: OpenGL Performer (2) [http://www.sgi.com/products/software/ performer/whitepapers.html] [http://www.openscenegraph.org/] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 36

Szenengraphen: Java 3D Szenengraphbibliothek für Java, von Sun Setzt auf OpenGL oder DirectX auf, Ziel: plattformunabhängige 3D-Programme Schwerpunkte: Flexible virtuelle Kameras (HMD, Stereo etc.) Integration von 3D-Sound LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 37

Szenengraphen: Java 3D (2) [http://java.sun.com/products/java-media/3d/collateral/datasheet/java3d-page2.html] LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 38