Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einsteigerkurs Andy Reimann - Mai 2011. Intro Trailer.

Ähnliche Präsentationen


Präsentation zum Thema: "Einsteigerkurs Andy Reimann - Mai 2011. Intro Trailer."—  Präsentation transkript:

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/


Herunterladen ppt "Einsteigerkurs Andy Reimann - Mai 2011. Intro Trailer."

Ähnliche Präsentationen


Google-Anzeigen