Computergraphik – Grundlagen

Computergraphik – Grundlagen
Prof. Stefan Schlechtweg-Dorendorf
Hochschule Anhalt (FH) Köthen
Fachbereich Informatik
Wintersemester 2010/2011
Computergraphik – Grundlagen
1 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Teil I
Einführung und Organisatorisches
Computergraphik – Grundlagen
2 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Inhalt
1. Organisatorisches
Zur Person
Zur Veranstaltung
Ablauf und Regularien
Materialien
Praktikum
Inhalte der Veranstaltung
2. Was ist Computergraphik?
Was ist Computergraphik?
Geschichte der Computergraphik
3. Anwendungen der Computergraphik
Computergraphik – Grundlagen
3 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Wo sind wir?
1. Organisatorisches
Zur Person
Zur Veranstaltung
Ablauf und Regularien
Materialien
Praktikum
Inhalte der Veranstaltung
2. Was ist Computergraphik?
3. Anwendungen der Computergraphik
Computergraphik – Grundlagen
4 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Zur Person
Prof. Dr. Stefan Schlechtweg-Dorendorf
Hochschule Anhalt
E-mail: [email protected]
Büro: Lohmannstraße 23, Raum 219
Tel.: (03496) 67-1320
Fax: (03496) 67-1399
Sprechzeiten:
donnerstags, 10:00 bis 11:30 Uhr
nach Vereinbarung (eMail)
Computergraphik – Grundlagen
5 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Aufbau der Lehrveranstaltung
Vorlesung
Übung / Praktikum
theoretisches Wissen
Übungsaufgaben zum Stoff der VL
Grundlagen
Computergraphik
Programmierung mit OpenGL
Anwendung in
grundlegenden
Beispielen
insgesamt 18 VL
fortgesetzt in der 6-Wochen-Phase
dann auch Microsoft XNA-Studio
insgesamt 12 Übungen / Praktika
donnerstags 3. UE
MOS: donnerstags, 4.UE g-Woche in
23/232
donnerstags 4. UE
g-Woche
MI: dienstags, 3.UE g-Woche in
23/232
zusätzlich eigene Arbeit
Computergraphik – Grundlagen
6 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Zu erbringende Leistungen
Abschluss mit 4 Credits
Prüfungsleistung: Klausur 90 min
Prüfungsvorleistung: zwei Testate während der Übungen
eins davon aus den Übungsaufgaben
eine Programmieraufgabe
Anmeldung zu Klausur und PVL im HISQIS erforderlich!
Computergraphik – Grundlagen
7 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Materialien und Literatur
Materialien im moodle
(http://www.inf.hs-anhalt.de/moodle/)
Kurs: Computergraphik Grundlagen
Zugangsschlüssel: CG12010
Literatur:
Grundsätzlich sollte es möglich sein, die Veranstaltung ohne weitere
Literatur zu besuchen.
Ergänzungsliteratur:
Klaus Zeppenfeld: Lehrbuch der Graphikprogrammierung,
Spektrum-Verlag 2004, ISBN 3-8274-1028-2, 50,00 Euro
Alan Watt: 3D Computer Graphics, Addison Wesley, 1999, ISBN
0201398559, ca. 75,00 Euro
Edward Angel: Interactive Computer Graphics: A Top-Down
Approach With OpenGL, Pearson 2006, ca 70,00 Euro
Computergraphik – Grundlagen
8 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Praktikum
Programmieren mit OpenGL
Lehrheft mit detaillierten Aufgaben/Tutorials im moodle
benutzen Visual Studio in den Veranstaltungen
andere IDEs (eclipse) auch möglich, dann aber eigenständige
Konfiguration / Einarbeitung
Ziel: Kennenlernen der wichtigsten OpenGL-Funktionalitäten
in der 6-Wochen-Phase:
Arbeiten mit Microsoft XNA Game Studio Express
minimale Einführung in die Spieleentwicklung
Kennenlernen der Entwicklungsumgebung
Fortsetzung in “Computergraphik – Modelle und Anwendungen”
Computergraphik – Grundlagen
9 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Themen der Vorlesung
Computergraphik-Programmierung und -APIs, OpenGL
Geometrische Modellierung
Mathematische Grundlagen (Punkte, Vektoren, . . . )
Polygonale Modelle
Transformationen und Homogene Koordinaten
Rendering-Pipeline
Beleuchtungsmodelle und -berechnungen
Texturen
Computergraphik-Hardware
Animation
Computergraphik – Grundlagen
10 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Ziele der Veranstaltung
Überblick über die Computergraphik
Kennenlernen der Nutzung einer API (OpenGL)
dadurch Vertiefen der Programmierkenntnisse
Erkennnen, welche Probleme und Fragestellungen in der
Computergraphik behandelt werden auf der Ebene der Algorithmen
grundlegende Modelle und Vorgehensweisen
Was sind die harten Probleme in der CG?
Integration und weitergehende Anwendung dann in
Computergraphik – Modelle und Anwendungen“
”
Computergraphik – Grundlagen
11 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Wo sind wir?
1. Organisatorisches
2. Was ist Computergraphik?
Was ist Computergraphik?
Geschichte der Computergraphik
3. Anwendungen der Computergraphik
Computergraphik – Grundlagen
12 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Was ist Computergraphik?
Computergraphik Quelle: Wikipedia
Die Computergraphik ist ein Teilgebiet der Informatik, das sich
mit der computergestützten Erzeugung, im weiten Sinne auch mit
der Bearbeitung von Bildern befasst. Mit den Mitteln der
Computergraphik entstandene Bilder werden Computergraphiken
genannt.
generative Computergraphik
Bilderzeugung aus Modellen
interpretative Computergraphik
Bildverarbeitung
Computer Vision
Computergraphik – Grundlagen
13 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Was ist Computergraphik?
Computergraphik Quelle: Wikipedia
Die Computergraphik ist ein Teilgebiet der Informatik, das sich
mit der computergestützten Erzeugung, im weiten Sinne auch mit
der Bearbeitung von Bildern befasst. Mit den Mitteln der
Computergraphik entstandene Bilder werden Computergraphiken
genannt.
generative Computergraphik
Bilderzeugung aus Modellen
interpretative Computergraphik
Bildverarbeitung
Computer Vision
Computergraphik – Grundlagen
13 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Generative Computergraphik
Generative Computergraphik
generative Computergraphik auch häufig Rendering“ genannt
”
Bilder werden aus geometrischen Modellen erzeugt
dazu weitere Angaben (Kamera, Beleuchtung, . . . ) notwendig
algorithmisch herausfordernd; schließt viele Teile der Informatik ein
Computergraphik – Grundlagen
14 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Generative Computergraphik
geometrische Modellierung
geometrische Transformationen incl. Projektion
Oberflächenbeschreibungen (Farbe, Materialien,
Reflexionseigenschaften)
Beleuchtung (Interaktion Licht mit Oberflächen)
Berechnung der sichtbaren Teile einer Szene
Ausgabe auf einem Raster
Animation
Computergraphik – Grundlagen
15 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1951 – Whirlwind am MIT
Kathodenstrahl-Bildschirm
Lichtgriffel
Basis für den Prototyp des
Luftraumüberwachungssystems
SAGE
1951 – Forschungen von
General Motors und IBM zu
CAD-Systemen
1958 – eines der ersten
Videospiele: Tennis for Two“
”
1959 – erstes CAD-System
DAC-1
Computergraphik – Grundlagen
16 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1963 – Sketchpad: erstes
interaktives Graphiksystem
von Sutherland mit
Bildkomposition aus
graphischen
Standardelementen
Interaktion mit Tastatur
und Lichtgriffel zur Arbeit
mit Menüs
Entsprechenden
Datenstrukturen zur
Verwaltung graphischer
Daten
1971 – Raster-Scan-Prinzip
von M. Noll (Bell Lab.)
vorgeschlagen
Computergraphik – Grundlagen
17 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
Mitte der 60er-Jahre – Beginn einer Vielzahl von
CG-Forschungsprojekten (am MIT, General Motors, Bell Telephone
Lab., Lockheed Aircraft usw.)
ab Mitte der 70er Jahre:
Graphische Unterprogrammpakete (PLOT10, CAL-Comp)
Graphische Programmiersprachen (DIGRA 73)
Erste kommerzielle Raster-Displays (max. Auflösung 512 × 512
Pixel, 8 Bit pro Pixel, Preis ca. 100.000DM)
Erste Verfahren zur schattierten Objektdarstellung:
Beleuchtungsverfahren (Phong 1975, Blinn 1977)
Schattierungsverfahren (Gouraud 1971, Phong 1975)
Texturierung (Catmull 1974)
Schattenwurf (Crow 1977)
Computergraphik – Grundlagen
18 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1977 – Erste Vorschläge zur
Standardisierung von
Graphiksoftware – CORE
1979 – Erstmalige Darstellung
von spiegelnder Reflexion und
Transparenz mit Hilfe des
Raytracing
Computergraphik – Grundlagen
19 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1979 – Gründung der
Computer Graphik Abteilung
von LucasFilm durch Geoge
Lucas (die Abteilung wird der
Special Effects“-Abteilung
”
ILM – Industrial Light and
Magic – zugeordnet)
http://www.youtube.com/watch?v=AfY6jS9LB4U
1980 – Vorführung des Films
Vol Libre“ (von L.
”
Carpenter, Boeing) auf der
SIGGRAPH 1980 (in dem
Film wird der Flug durch eine
fraktale Landschaft gezeigt)
Computergraphik – Grundlagen
20 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1980 – ca. 30 min
Computeranimationen im
Film Tron“
”
1981 – erstes
Rendering-System REYES
( Rendering everything you
”
ever saw“ von L. Carpenter
für Lucasfilm – wird später zu
Renderman weiterentwickelt)
1981 – Beginn der
Entwicklung des
Volume-Rendering
1982 – Morphing
Computergraphik – Grundlagen
21 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1982 – Gründung Silicon
Graphics Inc. (SGI)
1983 – J. Lanier (Atari
Research Center) entwickelt
Datenhandschuh
1984 – Globale
Beleuchtungs-Simulation mit
Radiosity
1984 – Gründung Wavefront
Technologies für
Animations-Software
Computergraphik – Grundlagen
22 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1985 – GKS – erster
graphischer ISO-Standard
(1988 GKS-3D)
1986 – Gründung von Pixar
durch Ed Catmull und A.R.
Smith nach Abspaltung von
Lucas Film
1986 – Pixars RenderMan
wird Industrie-Standard
1988 – Film The Abyss“ –
”
James Cameron (ILM)
Computergraphik – Grundlagen
23 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1989 – Einführung von
Motion Capture durch Jim
Henson, Nutzung
mechanischer Eingabegeräte
für Computeranimation
1992 – Neue Maßstäbe bei
computergenerierten
Spezialeffekten, (Animationen
des T1000“-Roboters in J.
”
Cameron’s Film Terminator
”
2“)
1993 – Steven Spielberg’s
Film Jurassic Park“
”
Computergraphik – Grundlagen
24 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
Anfang-Mitte der 90er Jahre:
Verbindung moderner Kommunikationstechnologien mit Graphik
Multimedia in verteilten Umgebungen
CSCW
Graphik im Internet
Standards zur Bild- und Bewegtbildübertragung . . .
Informations-Visualisierung
Methoden des Non-Photorealistic Rendering
Computergraphik – Grundlagen
25 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
1995 – Toy Story“ kommt in
”
die Kinos; erster vollständig
computeranimierte Film von
Pixar; Rendering: 800 000
Std. Berechnungszeit für 70
min. Film auf 177 Sun Sparc
20
Computergraphik – Grundlagen
26 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
2001 – sehr gute
Gesichtsanimationen von
virtuellen Charakteren im
Film Shrek“
”
2001 – Final Fantasy“ –
”
erster komplett
computer-animiertes Spielfilm
mit realistischen virtuellen
Charakteren; die Produktion
des Films dauerte ca. 4 Jahre,
wobei etwa 170
Computeranimatoren tätig
waren
Computergraphik – Grundlagen
27 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
2001 – Filme mit
signifikantem CG-Anteil:
Final Fantasy (Square),
Monsters Inc.(Pixar),
Harry Potter,
A.I.,
Lord of the Rings,
Shrek(PDI),
The Mummy Returns
(ILM),
Tomb Raider (Cinesite),
Jurassic Park III,
Pearl Harbor (ILM),
Planet of the Apes
(Asylum)
2001 – Nintendo GameCube
und Microsoft xBox
Computergraphik – Grundlagen
28 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Kurzer geschichtlicher Überblick
2006 – Disney kauft Pixar für 7.4 Mrd. Dollar
2006 – AMD kauft ATI Technologies für 5.4 Mrd. Dollar
2006 – Autodesk kauft Alias für 197 Mio Dollar
Extreme Leistungssteigerung bei Graphikkarten
Shader-Programmierung
Spiele-Markt wird zur treibenden Kraft in der CG-Entwicklung
Computergraphik – Grundlagen
29 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Wo sind wir?
1. Organisatorisches
2. Was ist Computergraphik?
3. Anwendungen der Computergraphik
Computergraphik – Grundlagen
30 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Anwendung der Computergraphik
Mensch-Computer-Interaktion
graphische
Benutzungsoberflächen
(neuartige) Ein- und
Ausgabegabegeräte
digitale Kunst
Computergraphik – Grundlagen
31 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Anwendung der Computergraphik
Mensch-Computer-Interaktion
graphische
Benutzungsoberflächen
(neuartige) Ein- und
Ausgabegabegeräte
digitale Kunst
Computergraphik – Grundlagen
31 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Anwendung der Computergraphik
Film und Computerspiele
Animationen
Special Effects
Compositing
Computergraphik – Grundlagen
32 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Anwendung der Computergraphik
CAD
Konstruktion und
Fertigung
virtuelle Produktion und
Tests
Prototypen
Computergraphik – Grundlagen
33 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Anwendung der Computergraphik
Visualisierung
Daten und Informationen
räumlich bezogene Daten
Prozessvisualisierung
Computergraphik – Grundlagen
34 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Anwendung der Computergraphik
erweiterte und virtuelle
Realität
virtuelle Produktion
computergenerierte
Welten
Interaktion mit dem
Betrachter
Computergraphik – Grundlagen
35 / 36
Organisatorisches
Was ist Computergraphik?
Anwendungen der Computergraphik
Anwendung der Computergraphik
Medizin
bildgebende Verfahren
Volumengraphik
Computergraphik – Grundlagen
36 / 36