Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gervas Ebeling Geändert vor über 10 Jahren
1
Einsteigerkurs Andy Reimann - Mai 2011
2
Intro Trailer
3
Roadmap Geschichte von OpenGL Buffer und Fenster Fenster-Management mit Glut - OpenGL Utility Toolkit o PROC: Fenster initialisieren Die Transformation-Pileline von OpenGL o PROC: Moving Triangle Beleuchtungsmodell und Materialeigenschaften o PROC: Materialized Teapot Einführung in DevIL - Texturen laden und anwenden o PROC: Textured Teapot
4
Hinweise zum Vortrag Da Zeit knapp, viele Detailinformationen nicht abgedeckt o können in Tutorials (Linkliste am Ende) selbst erlernt werden Vortrag gibt einen Überblick Wenn Fragen auftauchen, dann Fragen Nach einer Einführung gibt es interaktives Arbeiten an Beispielen
5
Geschichte von OpenGL - 1992 SiliconGraphics (SGI) 1992 veröffentlichten erste OpenGL API Spec (kein Code) Hersteller müssen eigene Implementierung mitbringen Flexibilität Erweiterbarkeit
6
Geschichte von OpenGL - 1994 Windows NT (1994) -> erstmals OpenGL Support John Carmack (id Software) -> Erste Implementierung von Quake 1996 Beginn des API- Wars zwischen OpenGL und Direct3D (bis Heute!) Bis ca. 2000 waren noch fast alle Berechnungen im Softwaremode ohne Grafikunterstützung implementiert!
7
Geschichte von OpenGL - 2000 GPU Performance steigt exponentiell viele Software-Features nun auf GPU implementiert Der neue Weg heißt BUFFERS
8
Geschichte von OpenGL - 2000 GPU Performance steigt exponentiell viele Software-Features nun auf GPU implementiert Der neue Weg heißt BUFFERS Buffer: Ein Buffer ist ein Stück Speicher, wo temporäre Daten gespeichert werden. Wenn die Arbeit an einem Buffer beendet wird, wird dieser gelöscht und kann wieder verwendet werden. Beliebige Daten können mit nur einem Call übertragen werden!
9
Geschichte von OpenGL - 2004 Erwachen nach einer 4-Jährigen Stagnationsphase OpenGL unterstützt Shader mit GLSL -> Version 2.0 veröffentlicht Leider erst 4 Jahre nachdem Direct3D dies tut verliert werter an Boden
10
Geschichte von OpenGL - 2006 Khronos Group leitet OpenGL o Gruppe von Software und Hardware Herstellern o bringen OpenGL wieder an das Tageslicht
11
Geschichte von OpenGL - 2008 OpenGL 3.0 veröffentlicht volle Backward-Compatibility jedoch viele angekündigten Veränderungen waren nicht enthalten Hat OpenGL den API-War verloren? NEIN! viele Direct3D 10 Features doch enthalten diese aber auch unter Windows XP einsatzfähig
12
Geschichte von OpenGL - 2009 OpenGL 3.1 veröffentlicht o Spec enthält nun kein immediate mode mehr OpenGL 3.2 veröffentlicht o API nun gleichauf mit Direct3D 10!
13
Geschichte von OpenGL - 2010 OpenGL 4.0 veröffentlicht (gleichauf mit Direct3D 11) OpenGL 3.3 gleichzeitig für ältere Hardware veröffentlicht o implementiert so viele Features wie möglich von OpenGL 4.0 OpenGL 4.x Requirements NVIDIA GTX 400 ATI Radeon HD 5000 series
14
Die neuen Browser Startseiten :) OpenGL The Red Book OpenGL The Blue Book
15
Buffer und Fenster - Definition Fenster: Ein offener Bereich, den eine Applikation mit darzustellenden Daten füllen kann.
16
Buffer und Fenster - Definition Fenster: Ein offener Bereich, den eine Applikation mit darzustellenden Daten füllen kann. Buffer: Ein Stück Speicher, der einem Fenster übergeben werden kann, um ihn sichtbar zu machen.
17
Buffer und Fenster sequenzielle Darstellung und Berechnung Frame-to-Frame Übergänge sichtbar Animationen wirken abgehackt
18
Buffer und Fenster SwapBuffer sehr effizient immer ein Buffer zum Anzeigen bereit (Multithreading)
19
Fenster-Management mit Glut - OpenGL Utility Toolkit Was ist GLUT? Contexterstellung (Application Fenster Interaktion) Plattformübergreifend Freeglut ist modernere Implementierung (kann OpenGL 4.0 Context erstellen [get it])[get it] Example: 1. Fenster initialisieren
20
Die Transformation-Pileline von OpenGL Modelview Matrix: Transformation der Objekte im Raum Projection Matrix: Kameramodell View Matrix: Fensterkoordinaten Color Matrix: Farbwert Transformation Texture Matrix: Textur Koordinaten Transformation Stackverhalten der Modelview Matrix: glPushMatrix() und glPopMatrix() geziehlte Hintereinanderausführung von Transformationen geziehltes Rückgängig machen von Transformationen Stacktiefe: Spec = mindestens 32 bei Modelview und mindestens 8 bei Projection Matrix
21
Die Transformation-Pileline von OpenGL glMatrixMode( GL_MODELVIEW ); glTranslate(x,y,z); glScale(x,y,z); glRotate(angle,x,y,z); glMatrixMode( GL_PROJECTION ); glFrustum(l,r,b,t,n,f); glOrtho(l,r,b,t,n,f); glViewport(w,h);
22
Die Transformation-Pileline von OpenGL Example: 2. Moving Triangle
23
Die Transformation-Pileline von OpenGL Vertiefung und Erweiterung des Wissens: Wiederholung, Wiederholung, Wiederholung eigene Mathematik Klassen oder Bibliotheken verwenden [get gml][get gml]
24
Beleuchtungsmodell und Materialeigenschaften Eingebaute Beleuchtung für bis zu 8 Spotlights, Omnidirectional Lights und Directional Lights 3D-Wahrnehmung ermöglicht Phong Modell: ambient: gleichmäßiges Licht an jedem Punkt diffus: Omnidirektionales Licht, welches Punkte abhängig von ihrer Position ausleuchtet spekular: Glanzlicht auf glatten Oberflächen Example: 3. Materialized Teapot
25
Beleuchtungsmodell und Materialeigenschaften Vertiefung und Erweiterung des Wissens: Normalenvektoren und Beleuchtung Lichtfarben
26
Einführung in DevIL - Texturen laden und anwenden DevIL ist die am weitesten verbreitete Lib [get it][get it] unterstützt alle gängigen Bildformate Anlehnung der API an OpenGL Example: 4. Textured Teapot
27
Einführung in DevIL - Texturen laden und anwenden Vertiefung und Erweiterung des Wissens: Texturkoordinaten und Texturkoordinatengenerierung Bedeutung von Min- und Magfilter
28
Agenda Fortgeschrittenenkurs Buffer für Vertices, Indices, Pixels und Frames Shader Beschleunigungsstrukturen (Octree, Bounding Volume,...)... wünscht euch was :)
29
OpenGL Einsteigerkurs ENDE
30
Tutorial Liste http://nehe.gamedev.net/http://nehe.gamedev.net/ (deutsche Übersetzung: http://www.codeworx.org/opengl_tuts.php)http://www.codeworx.org/opengl_tuts.php http://www.spieleprogrammierung.net/p/opengl-tutorial-liste.html http://wiki.delphigl.com/index.php/Tutorial http://www.swiftless.com/opengltuts.html http://www.opengl.org/code/ http://www.xmission.com/~nate/tutors.html http://www.lighthouse3d.com/opengl/tutorials.shtml http://www.paulsprojects.net/tutorials/tutorials.html http://www.mario-konrad.ch/index.php?page=20400 http://www.codecolony.de/OpenGL/
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.