Rendering für Augmented Reality

Ähnliche Dokumente
Rendering für Augmented Reality

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

Rendering für Augmented Reality

Einführung: Was ist AR?

Softwaresysteme für Augmented Reality: Beispiele. Vorlesung Augmented Reality Andreas Butz

Kapitel 4: Schattenberechnung

Computer Graphics Shader

OpenGL und die Fixed-Function-Pipeline

Szenengraphen. Codruţa Cosma. Universität Ulm Sommersemester 2005

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Grundlagen der Augmented Reality

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker

Softwareprojekt Spieleentwicklung

Stereoskopisches 3D Gaming

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

Grundlagen der 3D-Grafik

3D Programmierpraktikum: Schattenberechnung in Echtzeit

Überblick Echtzeit-Rendering. Uwe Domaratius

Grundlegende Algorithmen

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

4. Kapitel 3D Engine Geometry

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

Mobile Benutzerschnittstellen für die Interaktion mit Sensoren

Programmierpraktikum 3D Computer Grafik

Computer Graphik I Generative Computergraphik Intro

Virtual Reality Heute und Morgen

Die Welt der Shader. Fortgeschrittene Techniken III

Vergleich von Virtual- und Augmented- Reality in Bezug auf deren Gemeinsamkeiten und Probleme

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung

Interaction techniques for AR. Ein Generisches AR-System

Computer Graphik. Mitschrift von

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar

Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze

Grundlagen der Spieleprogrammierung

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

Game Engine Architecture and Development. Effekte (Sound, Partikel, Physik)

Planare Projektionen und Betrachtungstransformation. Quelle: Angel (2000)

Seminar Game Development Game Computer Graphics. Einleitung

Koordinatensysteme und Clipping

3.1 Motivation. - Mit (mehreren) Koordinatentransformationen wird das Objektsystem in das Gerätesystem transformiert.

Projektion. Ebene geometrische Projektionen

Proseminar: Virtuelle Präsenz. Vortrag: Steve Rechtenbach

Augmented Reality - Grundlagen

Transformationen im 3D-Raum

Praktikum: Spieleengine im Eigenbau

Augmented Reality. (Die Realität fotorealistisch erweitern) Michael Zollhöfer Graphics, Vision, and Video Group

MARKERLESS AUGMENTED REALITY. Henrik Brauer

Applikations-Entwicklung mit Studierstube ES. Daniel Wagner

MaTHEMATISCHE GRUNDLAGEN BUGA-AR TELESCOPE. Marko HeRBERTZ

PRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten

Volumenakquise. Vortrag von Benjamin Gayer

Echtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM

Lineare Funktionen. Aufgabe 1. Sei f R 2 R definiert durch. x 1 + 3x Beweisen Sie ausführlich, dass f linear ist.

Mobile projizierte Benutzerschnittstellen

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

VHDL - Grundlagen des Pointrenderings

Computer-Graphik I Transformationen & Viewing

Mathematische Grundlagen

Jens Konerow. Managed DirectX und C#

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Inhalt. Grundlagen - Licht und visuelle Wahrnehmung 1. Grundlagen - 2D-Grafik (Teil 1) 43. Grundlagen - 2D-Grafik (Teil 2) 67

Asteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann

Games Engines. Realtime Terrain Rendering

Softwaresysteme für Augmented Reality: Beispiele. Ein Generisches AR-System

VIRTUAL REALITY HYPE! Virtual Reality ist Super-Cool! Virtual Reality is Super-Cool! Virtual Bungee Jumping

Augmented Reality. Dresden, 22. Januar. 2013

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger

OpenGL Transformationen: Modeling

Geometrische Primitive und Hidden Surface Removal

White Paper Order Independent Transparency (OIT) in PTC Creo Parametric 2.0

Computer Graphik I Intro

geschlossene Schachtel mit einem kleinen Loch

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

Real-Time High-Dynamic Range Texture Mapping

1.6 Objekte Anordnung der Projektionsgeräte. ˆ Einzelsystem ˆ Rundumprojektion ˆ Kaskadierte Projektion Art der Projektion

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

(12) Wiederholung. Vorlesung Computergrafik T. Grosch

Browser, Smartphone und Tablet als Online-Plattform für Virtual and Augmented Reality

VISUALISIERUNG VR/AR TECHNOLOGIEN Scan 2 CAD Tag

Übungsstunde 8 zu Computergrafik 1

Computer Graphik (CS231) Projektübungsblatt 3

Multimediatechnik / Video

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

Darstellungsarten für 3D-Körper. Boundary Representation (BRep):

Zellaufbau Java 3D Verteilungsalgorithmus

Volumenverarbeitung und Optimierung II

(13) Hot Topics. Vorlesung Computergrafik T. Grosch

VRML Tools. Markus Czok, Carsten Rohde

Proseminar Computergrafik

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 Kombination realer und virtueller Inhalte LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 2

Ü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