für Hörer anderer Fachrichtungen Computergrafik für Hörer anderer Fachrichtungen WS 2012/13
Wer sind wir? Vorlesung Übungsleitung Prof. Dr. Hans Hagen Raum: 36-226 Email: hagen@cs.uni-kl.de Übungsleitung Inga Scheler Raum: 34-207 Email: scheler@rhrk.uni-kl.de
Wer sind wir? (cont.) Übungen Christina Gillmann Alina Freund Raum: 36-220 Email: chrisyg291288@aol.com Alina Freund Raum: 36-220 Email: a_freund10@cs.uni-kl.de
Vorlesung: Ablauf Vorlesungstermine: Freitag, 26.10.2012, 15:30-18:45 Samstag, 27.10.2012, 10:00-13:00 Freitag, 2.11.2012, 15:30-18:45 Samstag, 3.11.2012, 10:00-13:00 Freitag, 16.11.2012, 15:30-18:45 Samstag, 17.11.2012, 10:00-13:00 Übung: gut für Prüfungsvorbereitung, falls zwischen zwei Noten in der mündlichen Prüfung ausschlaggebend
Vorlesung: Ablauf Skript: Prüfung: Online als PDFs unter: http://gfx.uni-kl.de/~cg Alternativ auf Anfrage im Sekretariat (Mady Gruys, 36-228) erhältlich (evtl. kapitelweise) Kosten für Kopien: 10 Euro Prüfung: Mündlich Termine nach Vereinbarung Übung: gut für Prüfungsvorbereitung, falls zwischen zwei Noten in der mündlichen Prüfung ausschlaggebend
Übung: Konzept 2 Theorie-Übungsblätter 1 Kurzvortrag Bearbeitung in Zweiergruppen 50% der Punkte notwendig 1 Kurzvortrag Bearbeitung einzeln Vortrag muss gehalten werden 1 Szene Modellieren Ca. 20 Sekunden Bezug zum jeweiligen Fach
Übung: Formales Ausgabe 1. und 2. Übungsblatt heute Abgabe Szene: 08.02.2012 Abgabe Ausarbeitung: 07.01.2012 Ausgabe 3. Übungsblatt am 26.10.12 Abgabe 02. 11. 12 Ausgabe 4. Übungsblatt am 02.11. 12 Abgabe 16. 11. 12
Übung CAD Tutorials Mindestens zwei versch. Kameraeinstellungen www.tutorialized.com/tutorials/3DS-MAX/1 http://www.psd-tutorials.de/tutorials/3d/autodesk-3ds- max Mindestens zwei versch. Kameraeinstellungen Mindestens ein bewegtes Objekt und ein bewegtes Feature Min. Ambientes und Specular-Licht Objekte texturieren (mindestens 4 versch. Texturen) Min. 20 Sekunden Sprechstunde: Mi 15:30-17:00
Übung Kurzvortrag Ausarbeitung Gliederung Einleitung Problemstellung Warum konnte das Problem bisher nicht gelöst werden? kurzer Überblick über die folgenden Kapitel Ausgearbeitetes Thema Problemstellung genau erklären Hintergründe klären Technik erklären Schlussfolgerung Pro/Contra Fazit: Kann das Problem mit der Technik gelöst werden?
Übung Kurzvortrag Zitieren! http://www.moesgen.de/pmoezit.htm korrekt und vollständig
Computer Graphik Simulation & Animation Geometrische Modellierung Grafik-Hardware Simulation & Animation Geometrische Modellierung Visualisierung Geometrische Repräsentation Manipulation (3D) Computergrafische Darstellung Interaktion
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
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)
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.
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
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.
Computergrafik - Inhalt §0 Historie, Überblick, Beispiele §1 Begriffe und Grundlagen §2 Objekttransformationen §3 Objektrepräsentation und -Modellierung §4 Sichttransformationen §5 Kurven und Flächen §6 Rendering und Visibilität §7 Mapping-Techniken
0.1 Historie Grundlagen-Ära der Computergrafik: Start Anfang siebziger Jahre, bis Mitte achtziger 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. Ray- Tracing) und Anwendungen (z. B. CAD-Systeme) aus dieser Zeit
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
0.1 Historie Anwendungs- und Anwender-Ära der Computergrafik: Start Ende der neunziger Jahre Basierend auf technologischer (und preislicher) Entwicklung der PC-Hardware und Hochleistungs- 3D-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
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
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 Visualization Computer-Animation Virtual Reality, Virtual Environments, Augmented Reality, Tele-Immersion
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 700$
0.2 High-level Anwender-Werkzeuge Maya (cont.) Bildquelle: http://down.cd
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€ 5000$
0.2 High-level Anwender-Werkzeuge Softimage (cont.) Bildquelle: http://develop3d.com
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 3500$
0.2 High-level Anwender-Werkzeuge 3ds Max (cont.) Bildquelle: http://www.btlnews.com
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€
0.2 High-level Anwender-Werkzeuge Rhinoceros 3D, Rhino (cont.)
0.2 High-level Anwender-Werkzeuge Beispiele: Bild oben: http://www.archisystems.com.cy Bild links: http://tutoplus.net
0.2 High-level Anwender-Werkzeuge Beispiele (cont.): Bild oben: http://static.creativecrash.com Bild rechts: http://www.cadacademysrl.it
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)
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)
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!
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
0.4 Tools für Anwendungsprogrammierer Überblick: Inventor Performer Optimizer Operating System OpenGL Direct3D, DirectX Quickdraw3D (Mac) Java3D Volumizer Application
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 Rendering Texturen Modellierung Transformationen ...
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
0.4 Tools für Anwendungsprogrammierer Open Inventor Objektorientiertes Toolkit für interaktive 3D- 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
0.4 Tools für Anwendungsprogrammierer Open Inventor (cont.) Beispiel: Szenengraph
0.4 Tools für Anwendungsprogrammierer Open Performer (cont.) API, die auf OpenGL aufsetzt und weitere 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
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
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
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: Umschaltbare Tiefenbuffer Flat- und Gouraudshading Mehrere Lichtquellen und –typen Material- und Texturunterstützung Transformation und Clipping Robuste Emulationstreiber überbrücken fehlende Hardwarefunktionalität
0.4 Tools für Anwendungsprogrammierer Direct3D (cont.) Architektur: Component Retained Mode (RM) Immediate Mode (IM) (HEL) HAL Graphics hardware Hardware Emulation Layer (software drivers that act like hardware) Hardware Abstraction Layer (software drivers that communicate between SW and HW) D I R E C T 3 DirectX Media Layer DirectX Foundation Layer DirectShow DirectAnimation DirectDraw Direct3D Direct3DX DirectInput DirectSound DirectSound3D DirectPlay DirectMusic
0.5 Anwendungsbeispiele Projekt Virtual Try-On Interaktiver Bekleidungskatalog mit Kunde als 3D-Modell Konfektionsware und Maßkonfektion Visuelle Passformkontrolle
0.5 Anwendungsbeispiele Virtual Try-On – Existierende Ansätze Otto Versand
0.5 Anwendungsbeispiele Virtual Try-On – VITUS 3D Body-Scanner
0.5 Anwendungsbeispiele Virtual Try-On – VITUS 3D Body-Scanner Technische Daten 3600-Scanner Scanvolumen: 1.2m x 0.8m x 2.1m Laserklasse: 1 (augensicher) Scandauer: 10 - 20 Sekunden Auflösung: 1 - 2 mm Optional: hochauflösende Farbtexturen Automatische Bestimmung individueller Körpermaße Virtueller Kunde = Scan-Objekt + Maße + Featurepunkte
0.5 Anwendungsbeispiele Virtual Try-On – Intelligente Morphingtechnologie Segmentierung des Kleidungsstückes Bestimmung einer geeigneten Parametrisierung für jedes Segment Deformation Änderung der lokalen Eckpunkt- Koordinaten bzgl. zugehöriger Parametrisierung Gesamt-Morph Additive lokale Deformationen
0.5 Anwendungsbeispiele Virtual Try-On – Virtuelle Bekleidungsanprobe Positionierung Vorpositionierung: Featurepunkte aus Scanprozess „Haltungskorrektur” zur genauen Positionierung
0.5 Anwendungsbeispiele Virtual Try-On – Ergebnisse