Computergrafik - Computer Graphics and HCI Group

Transcrição

Computergrafik - Computer Graphics and HCI Group
Computergrafik
SS 2014
Wer sind wir?
Vorlesung
Prof. Dr. Hans Hagen
Raum: 36-226
Email: [email protected]
apl. Prof. Dr. Achim Ebert
Raum: 36-236
Email: [email protected]
Übungsleitung
Lars Hüttenberger
Raum: 36-231
Email: [email protected]
© Achim Ebert
CG.0.1
Wer sind wir? (cont.)
Übungen
Stephanie Schweitzer
Raum: 36-218
Email: [email protected]
Max Zeyen
Raum: 36-220
Email: [email protected]
© Achim Ebert
CG.0.2
Vorlesung: Ablauf
Vorlesungstermine:
Mittwochs und Donnerstags, teilw. auch Freitags
Uhrzeit: 10:00 – 11:30 Uhr
Raum: 36-265
Erste Vorlesung: 23. April
Skript:
Online als PDFs unter: http://gfx.uni-kl.de/~cg
Alternativ auf Anfrage gedruckt erhältlich (evtl.
kapitelweise)
Prüfung:
Mündlich
Termine nach Vereinbarung
© Achim Ebert
CG.0.3
Übung: Konzept
Wöchentliche Programmieraufgaben
Bearbeitung in Zweiergruppen
Erfolgreiche Teilnahme ist Voraussetzung für den
Erhalt von Scheinen und für die Prüfungsteilnahme!
Schrittweise Erweiterung
Aufbauend auf Musterlösung oder eigener Lösung
Implementieren von Algorithmen aus der Vorlesung
Zum Beispiel:
© Achim Ebert
Bresenham-Algorithmus
Transformationen
Raycasting
Beleuchtung und Schattenwurf
Texturierung
CG.0.4
Übung: Technisches
Implementierung
Programmiersprache: C++
Benutzeroberfläche: Qt
Grafik-Framework: OpenGL
Entwicklungsumgebung: QtCreator
Betriebssystem: vorzugsweise SUSE Linux
Im Praktikumsraum 36-223
Privatrechner: kein Support bei Problemen
Accounts
Name: „cgvorlXX“ mit XX die Gruppennummer
Passwort: Aht5uCoh
© Achim Ebert
CG.0.5
Übung: Formales
Ausgabe der Übungsblätter
Mittwochs nach der Vorlesung auf der Website
Bereitstellung der Musterlösung
Dienstags ca. ab 13:00 auf der Website
Abnahme: Dienstags 9:00-11:00 in 36-223
Anwesenheit aller Gruppenmitglieder notwendig!
Vorführung des Programms und des Quellcodes
Teilnehmerlisten für die Übungen:
Name, Studiengang, Email-Adresse
Hängen später auch neben 36-223 aus
Tragen Sie sich bis spätestens 30. April, 9:00 ein!
© Achim Ebert
CG.0.6
Übung: Formales
Blatt 1
Ausgabe: Mittwoch, 23. April
Abgabe: Dienstag, 6. Mai
Zulassungsvoraussetzungen zur Prüfung
mind. 50% der Punkte aller Blätter erreicht und
mind. 30% der Punkte jedes Blatts erreicht
© Achim Ebert
CG.0.7
Übung: Formales
Bei Fragen:
© Achim Ebert
Montags, Donnerstags, & Freitags
14:00 – 16:00 Uhr
Donnerstags in 36-223 (Max)
Freitags in 36-218 (Stephanie)
Montags in 36-231 (Lars)
CG.0.8
Computer Graphik
Simulation & Animation
Geometrische
Modellierung
Manipulation
(3D) Computergrafische
Darstellung
Geometrische
Repräsentation
Visualisierung
Interaktion
Grafik-Hardware
Verwandte Disziplinen
Bildverarbeitung
„Verbesserung“ gegebener Bilder
Erkennen von Mustern (pattern) in einem
digitalen Bild (bitmap)
Anwendung: Automatische Qualitätskontrolle,
Sicherheitstechnik
Computer Vision
Verstehen von Bildern mit Hilfe des Rechners
Wahrnehmungs- und Interpretationsprozess des
Gehirns wird in Software ab- und nachgebildet
Teilgebiet der KI
Anwendung: Retrieval in Mediendatenbanken
© Achim Ebert
CG.0.10
Verwandte Disziplinen
Mensch-Maschine-Interaktion (MMI / HCI)
Aufgaben- und benutzerorientierte Software
Interaktionskonzepte
Visualisierung
Nutzung der Methoden der Computer Graphik
Wahrnehmungs- und aufgabenorientierte Darstellung
von abstrakten, gemessenen oder simulierten Daten
Computer Aided Geometric Design
Repräsentation (Datenstrukturen) und Verarbeitung
(Algorithmen) beliebig geformter Objekte beliebiger
Topologie (Freiformgeometrie)
© Achim Ebert
CG.0.11
Literatur ...
Allgemeine Literatur zur Veranstaltung:
Bender M., Brill, M.: Computergrafik, 2. Auflage,
Hanser Verlag, 2005. http://www.vislab.de
Foley J., van Dam A., Feiner S., Hughes J.:
Computer Graphics – Principles and Practice,
Addison-Wesley, second edition, 1997.
Watt A.: 3D Computer Graphics, Addison-Wesley,
3rd edition, 2000.
gibt es auch als deutsche Übersetzung im gleichen
Verlag
Watt A., Watt M.: Advanced Animation and
Rendering Techniques, Addison-Wesley, 1992.
Hoschek, D. Lasser: Grundlagen der geometrischen
Datenverarbeitung, Teubner, 1992.
© Achim Ebert
CG.0.12
Literatur ...
Web-Ressourcen:
ACM
http://www.siggraph.org/
IEEE Technical Committee on Visualization and
Graphics
http://www.cc.gatech.edu/gvu/tccg/
EG European Association for Computer Graphics
http://www.eg.org/
Gesellschaft für Informatik, Fachausschuss 4.1
Graphische Datenverarbeitung
http://www.gi-ev.de
© Achim Ebert
CG.0.13
Literatur ...
Lesenswert:
Blinn J.: Jim Blinn‘s Corner - A trip down the graphics
pipeline, Morgan Kaufmann, 1996
Dodsworth: Digital Illusion - Entertaining the Future
with High Technology, Addison-Wesley, 1997.
Tufte: Visual Explanations - Images and Quantities,
Evidence and Narrative, Graphics Press, 1997.
Blinn J.: Jim Blinn's Corner - Dirty Pixels,
Morgan Kaufmann, 1998.
© Achim Ebert
CG.0.14
Inhalte der Vorlesung
§0 Historie, Überblick, Beispiele
§1 Begriffe und Grundlagen
§2 Objekttransformationen
§3 Objektrepräsentation und -Modellierung
§4 Sichttransformationen
§5 Kurven und Flächen
§6 Rendering, Visibilität, Radiosity
§7 Mapping-Techniken
© Achim Ebert
CG.0.15
§0 Historie, Überblick, Beispiele
© Achim Ebert
CG.0.16
0.1 Historie
Grundlagen-Ära der Computergrafik
Start Anfang siebziger Jahre, bis Mitte achtziger
© Achim Ebert
Jahre
Basierend auf technologischer Entwicklung der
Rastergrafik-Hardware
Erster Siegeszug der Computergrafik in der
wissenschaftlichen und der high-end
Anwendungsdomäne
Entwicklung von Algorithmen und Datenstrukturen für
fotorealistische Bildsynthese und Modellierung von
Objekten
Grundlagen heute benutzter Verfahren (z. B. RayTracing) und Anwendungen (z. B. CAD-Systeme)
aus dieser Zeit
CG.0.17
0.1 Historie
Grundlagen-Ära der Computergrafik (cont.)
Nach Basisfundierung ab den späten achtziger
Jahren Entwicklung weiterführender Techniken und
Anwendungen
Notwendigkeit der Verwendung leistungsfähiger aber
sehr teuerer Grafikrechner
© Achim Ebert
CG.0.18
0.1 Historie
Anwendungs- und Anwender-Ära der
Computergrafik
Start Ende der neunziger Jahre
Basierend auf technologischer (und preislicher)
Entwicklung der PC-Hardware und Hochleistungs3D-Grafikhardware
Zweiter Siegeszug der Computergrafik in der
Anwendungs- und Anwenderdomäne
Algorithmen und Verfahren aus der Grundlagen-Ära
erfahren effiziente Hardware-Unterstützung bzw.
Umsetzung
© Achim Ebert
CG.0.19
0.1 Historie
Anwendungs- und Anwender-Ära der
Computergrafik (cont.)
Low-level Software-Zugang:
Moderne Software-Schichten kapseln in Form von
APIs, wie z. B. OpenGL, Direct3D oder Java3D,
zunehmend höhere Funktionalitäten
=> Zugang eines breiten Kreises von
Anwendungsprogrammierern zu
Computergrafikroutinen
High-level Software-Zugang:
Moderne Werkzeuge, wie z. B. 3D Studio Max oder
Maya, ermöglichen den komfortablen Umgang mit
Computergrafiktechniken für eine breite
Anwenderschicht
© Achim Ebert
CG.0.20
0.1 Historie
Anwendungs- und Anwender-Ära der
Computergrafik (cont.)
Im Mittelpunkt der wissenschaftlichen Entwicklung
stehen die Anwendungen der
Computergrafiktechniken,
insbesondere in speziellen Teilbereichen, wie z. B.
Visualization, Scientific Visualization, Information
© Achim Ebert
Visualization
Computer-Animation
Virtual Reality, Virtual Environments, Augmented
Reality, Tele-Immersion
CG.0.21
0.2 High-level Anwender-Werkzeuge
Maya
Professionelles Rendering, Modellierung, Animation
Entwickler: Alias|Wavefront (Silicon Graphics Lt.)
Aktueller Hersteller: Autodesk
Einsatz in Filmen:
Lord of the Rings Trilogy
Shrek
South Park
Einsatz in Games
Left for Dead 2
Portal 2
Plattform: Windows, MacOS, Linux
Preis: sehr hoch
Autodesk Maya 2013 (Einzelplatz): 4.700€;
kostenlose Lizenz für Studierende
© Achim Ebert
CG.0.22
0.2 High-level Anwender-Werkzeuge
Maya (cont.)
Bildquelle: http://down.cd
© Achim Ebert
CG.0.23
0.2 High-level Anwender-Werkzeuge
Softimage
Modellierung, Animation, Rendering und Produktion
im professionellen Bereich
Benutzt MentalRay als Ray-Tracer
Hersteller: Autodesk
Einsatz in Filmen:
Thor
District 9
Einsatz in Games:
Resident Evil 5
Street Fighter IV
Plattform: Windows
Preis: sehr hoch
Autodesk Softimage 2013 (Einzelplatz): 4.900€
© Achim Ebert
CG.0.24
0.2 High-level Anwender-Werkzeuge
Softimage (cont.)
Bildquelle: http://develop3d.com
© Achim Ebert
CG.0.25
0.2 High-level Anwender-Werkzeuge
3ds Max (3D Studio Max)
Modellierung, Animation, Rendering und Produktion
im professionellen Bereich
Hersteller: Autodesk (www.autodesk.com)
Einsatz in Filmen:
Avatar
Transformers
X-Men
Einsatz in Games:
Guild Wars
Tom Clancy‘s Splinter Cell: Double Agent
Plattform: Windows
Preis: sehr hoch
Autodesk 3ds Max 2013 (Einzelplatzlizenz): 5.300€;
kostenlose Lizenz für Studierende
© Achim Ebert
CG.0.26
0.2 High-level Anwender-Werkzeuge
3ds Max (cont.)
Bildquelle: http://www.btlnews.com
© Achim Ebert
CG.0.27
0.2 High-level Anwender-Werkzeuge
Rhinoceros 3D, Rhino
CAD-Anwendung, Modellierung mit Freiformkurven
und -flächen
Hersteller: Robert McNeel & Associates
Homepage: www.rhino3d.com
Einsatz bei:
Airbus Industries, US Air Force
BMW AG, Daimler Chrysler, Ford, Honda, Hyundai,
Toyota, Yamaha
LEGO, Microsoft, Miele, Nike, Nintendo, Nokia,
Walt Disney
US Army Research
Plattform: Windows
Preis: mittel
Rhino 4.0 (Einzelplatz): 1000€, Studierende: 200€
© Achim Ebert
CG.0.28
0.2 High-level Anwender-Werkzeuge
Rhinoceros 3D, Rhino (cont.)
© Achim Ebert
CG.0.29
0.2 High-level Anwender-Werkzeuge
Beispiele:
Bild oben: http://www.archisystems.com.cy
Bild links: http://tutoplus.net
© Achim Ebert
CG.0.30
0.2 High-level Anwender-Werkzeuge
Beispiele (cont.):
Bild oben: http://static.creativecrash.com
Bild rechts: http://www.cadacademysrl.it
© Achim Ebert
CG.0.31
0.3 Low-level Anwender-Werkzeuge
POVRAY (Persistence of Vision Ray-Tracer)
Reiner Renderer ohne 3d-Modellierer
Raytracer mit Radiosity-Erweiterung
Homepage: www.povray.org
Plattform: Windows, MacOS, Linux
Preis: freeware, source code!
BMRT (Blue Moon Rendering Tools),
RenderMan, Entropy
Kommerziell eingesetzter Renderer
Einsatz bei: ILM, Pixar
(A Bug's Life, The Cell, Hollow Man)
Preis: BMRT = zero for non-profit use;
aber: das war einmal…
(Entwickler entwickelten später Nvidia Gelato)
© Achim Ebert
CG.0.32
0.3 Low-level Anwender-Werkzeuge
VTK – The Visualization Toolkit
Objektorientierte Visualisierungsbibliothek (C++
Klassen, TCL Skript-Sprache, Java bindings) mit
Standard- und fortgeschrittenen Algorithmen (z. B.
contouring, surface smoothing, triangulation)
für alle Arten der 3D-Datenvisualisierung.
Hersteller: Kitware Inc. (www.kitware.com)
Homepage: www.vtk.org
Preis: zero for non-profit use (Open Source)
© Achim Ebert
CG.0.33
0.4 Tools für Anwendungsprogrammierer
Begriffe:
Immediate Mode:
Direkter Modus, alle Aktionen werden direkt ausgeführt
Low-level, d.h. keine bis schwache Abstraktion
Fast kein Raum mehr für Optimierung
Primitive: Punkte, Linien, Dreiecke, ...
Retained Mode:
Indirekter Modus, zuerst wird ein „Szenengraph“
konstruiert
Elemente die sich ändern werden spezifiziert
Abstrakterer Level
Höherwertige Primitive: Kugeln, Quader, Prismen, ...
Bemerkung: Vorsicht, Bezeichnungen werden oft
unterschiedlich verwendet!
© Achim Ebert
CG.0.34
0.4 Tools für Anwendungsprogrammierer
Es existieren unübersehbar viele Grafikschnitt-
stellen (3D-APIs), -sprachen und -standards auf
unterschiedlichen Abstraktionsniveaus für viele
verschiedene Einsatzgebiete.
Folgende gelten als etabliert:
OpenGL (basiert auf IRIS GL)
Open Inventor
VRML (3D-Beschreibungssprache, kein API!)
Open Performer (ehemals IRIS Performer)
OpenGL Optimizer
OpenGL Volumizer
Java3D
DirectX, Direct3D
© Achim Ebert
CG.0.35
0.4 Tools für Anwendungsprogrammierer
Überblick:
Application
Java3D
Java3D
Direct3D,
DirectX
Inventor
Performer
Optimizer
Volumizer
OpenGL
Quickdraw3D
(Mac)
Operating System
© Achim Ebert
CG.0.36
0.4 Tools für Anwendungsprogrammierer
OpenGL
Open Graphics Library
Entwickelt 1992,
aktuelle Version 4.2 (August 2011)
Quasi-Industriestandard, gut dokumentiert, stabil,
skalierbar, ständige Weiterentwicklung
Prozedurales low-level API für 2D und 3D Grafik
Oberflächen- und Betriebssystemunabhängig
Mehr als 150 Funktionen für
© Achim Ebert
Rendering
Texturen
Modellierung
Transformationen
...
CG.0.37
0.4 Tools für Anwendungsprogrammierer
OpenGL (cont.)
Nutzbar mit C, C++, C#, Fortran, Ada, Java
Unter Windows, X-Windows und MacOS
Einsatzbereiche:
3D Animation
CAD
Virtuelle Welten
Simulationen
...
Referenzimplementierung von SGI unter oss.sgi.com
© Achim Ebert
CG.0.38
0.4 Tools für Anwendungsprogrammierer
Open Inventor
Objektorientiertes Toolkit für interaktive 3D
© Achim Ebert
Grafikanwendungen
Entwickelt von SGI 1992
Basiert auf OpenGL
Definiert Modelle mittels eines Szenengraphen mit
Primitiven wie Würfel, Polygone, NURBS, ...
Fensterverwaltung unter X-Windows
Definiert ein Dateiformat für den Datenaustausch
Event-basierte Modellierung für 3D Interaktion,
Mechanismen für animierte Objekte (engines) und
Picking
Plattformunabhängig, Unterstützung von
Crossplattformentwicklung
CG.0.39
0.4 Tools für Anwendungsprogrammierer
Open Inventor (cont.)
Beispiel: Szenengraph
© Achim Ebert
CG.0.40
0.4 Tools für Anwendungsprogrammierer
Open Performer (cont.)
API, die auf OpenGL aufsetzt und weitere
© Achim Ebert
Funktionalitäten zur Verfügung stellt;
Optimiert für den Einsatz in Virtual Reality (VR)
Umgebungen, echtzeitfähig, multithreaded, interaktiv
Einsatzbereiche: Visuelle Simulation, Virtual Reality,
CAD-Systeme, Spielentwicklung
Mechanismen für transparentes Multiprozessing und
effiziente Nutzung von mehreren/parallelen
Prozessoren, Videokanälen und Grafikpipelines ohne
Codeänderungen.
Eigene Datenstruktur für schnelles Laden
Behandlung von großen Texturen mit bis zu
8*106 x 8*106 Texels
CG.0.41
0.4 Tools für Anwendungsprogrammierer
OpenGL Optimizer
Visualisierungsbibliothek für sehr große Modelle
Vorwiegend für den Konstruktionsbereich gedacht
(Digital Prototyping)
Bietet volle Kontrolle über:
Topologie (z. B. boundary representation)
Netzerzeugung (tesselation)
Netzvereinfachung (mesh simplification)
OpenGL Volumizer
High-level API für Volumendarstellung
Darstellung und Manipulation von großen
Volumendatensätzen für Medizin-, Energie- und
Wissenschaftsmarkt
Datenmengen im Rahmen von mehreren 100 GB
© Achim Ebert
CG.0.42
0.4 Tools für Anwendungsprogrammierer
Java3D
Erfolg von Java führte zu Nachfrage nach 3D-API
Entstanden aus Kooperation von Sun mit Intel, SGI
und Apple (damals noch ohne MS entwickelt)
Zwischenzeitlich eingestellt, nun Open Source
Plattformen (heute):
Linux, Windows, MacOS
Versionen für OpenGL und DirectX (nur Windows)
Kapselt OpenGL- bzw. DirectX-Funktionalität in
leichter verständlicherer, objektorientierter Struktur
auf Basis eines Szenengraphen
Ursprüngliche Ziele
Spieleentwicklung
Unterstützung von high-end Rendering-Umgebungen
Unterstützung von 3D-Eingabegeräte
© Achim Ebert
CG.0.43
0.4 Tools für Anwendungsprogrammierer
Direct3D
Teil von DirectX, das alle Multimedia-Belange
abdecken soll
Beschränkt auf Microsoft-Systeme
(Windows, XBox …)
3D-API für Spiele, Multimedia-Anwendungen und
interaktive 3D-Grafik
Features:
© Achim Ebert
Umschaltbare Tiefenbuffer
Flat- und Gouraudshading
Mehrere Lichtquellen und –typen
Material- und Texturunterstützung
Transformation und Clipping
Robuste Emulationstreiber überbrücken fehlende
Hardwarefunktionalität
CG.0.44
0.4 Tools für Anwendungsprogrammierer
Direct3D (cont.)
Architektur:
Component
Hardware Emulation Layer
(software drivers that act like hardware)
Hardware Abstraction Layer
(software drivers that communicate
between SW and HW)
D
I Retained Mode
(RM)
R
E
C
T Immediate Mode
3
(IM)
D
(HEL)
DirectX Media Layer
DirectShow
DirectAnimation
DirectX Foundation Layer
DirectDraw
Direct3D
Direct3DX
DirectInput
DirectSound
DirectSound3D
DirectPlay
DirectMusic
HAL
Graphics hardware
© Achim Ebert
CG.0.45
0.5 Anwendungsbeispiele
Projekt Virtual Try-On
Interaktiver Bekleidungskatalog mit Kunde
als 3D-Modell
Konfektionsware und Maßkonfektion
Visuelle Passformkontrolle
© Achim Ebert
CG.0.46
0.5 Anwendungsbeispiele
Virtual Try-On – Existierende Ansätze
Otto Versand
© Achim Ebert
CG.0.47
0.5 Anwendungsbeispiele
Virtual Try-On – VITUS 3D Body-Scanner
© Achim Ebert
CG.0.48
0.5 Anwendungsbeispiele
Virtual Try-On – VITUS 3D Body-Scanner
Technische Daten
3600-Scanner
Scanvolumen:
Laserklasse:
Scandauer:
Auflösung:
Optional:
1.2m x 0.8m x 2.1m
1 (augensicher)
10 - 20 Sekunden
1 - 2 mm
hochauflösende Farbtexturen
Automatische Bestimmung individueller Körpermaße
Virtueller Kunde
= Scan-Objekt + Maße + Featurepunkte
© Achim Ebert
CG.0.49
0.5 Anwendungsbeispiele
Virtual Try-On – Avatar
© Achim Ebert
Rohscan
Avatar
450.000 3D-Punkte
12.000 Polygone
Texturiert
CG.0.50
0.5 Anwendungsbeispiele
Virtual Try-On – Intelligente Morphingtechnologie
Scan des Kleidungsstücks
Segmentierung des Kleidungsstückes
Bestimmung einer geeigneten Parametrisierung für
jedes Segment
zylindrisch
sphärisch
Deformation
Änderung der lokalen EckpunktKoordinaten bzgl. zugehöriger
Parametrisierung
zylindrisch
Gesamt-Morph
zylindrisch
Additive lokale Deformationen
zylindrisch
© Achim Ebert
CG.0.51
0.5 Anwendungsbeispiele
Virtual Try-On – Virtuelle Bekleidungsanprobe
Positionierung
Vorpositionierung: Featurepunkte aus Scanprozess
„Haltungskorrektur” zur genauen Positionierung
© Achim Ebert
CG.0.52
0.5 Anwendungsbeispiele
Virtual Try-On – Ergebnisse
© Achim Ebert
CG.0.53

Documentos relacionados