Einsteigerkurs Andy Reimann - Mai 2011. Intro Trailer

Click here to load reader

  • date post

    05-Apr-2015
  • Category

    Documents

  • view

    105
  • download

    0

Embed Size (px)

Transcript of Einsteigerkurs Andy Reimann - Mai 2011. Intro Trailer

  • Folie 1
  • Einsteigerkurs Andy Reimann - Mai 2011
  • Folie 2
  • Intro Trailer
  • Folie 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 Einfhrung in DevIL - Texturen laden und anwenden o PROC: Textured Teapot
  • Folie 4
  • Hinweise zum Vortrag Da Zeit knapp, viele Detailinformationen nicht abgedeckt o knnen in Tutorials (Linkliste am Ende) selbst erlernt werden Vortrag gibt einen berblick Wenn Fragen auftauchen, dann Fragen Nach einer Einfhrung gibt es interaktives Arbeiten an Beispielen
  • Folie 5
  • Geschichte von OpenGL - 1992 SiliconGraphics (SGI) 1992 verffentlichten erste OpenGL API Spec (kein Code) Hersteller mssen eigene Implementierung mitbringen Flexibilitt Erweiterbarkeit
  • Folie 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 Grafikuntersttzung implementiert!
  • Folie 7
  • Geschichte von OpenGL - 2000 GPU Performance steigt exponentiell viele Software-Features nun auf GPU implementiert Der neue Weg heit BUFFERS
  • Folie 8
  • Geschichte von OpenGL - 2000 GPU Performance steigt exponentiell viele Software-Features nun auf GPU implementiert Der neue Weg heit BUFFERS Buffer: Ein Buffer ist ein Stck Speicher, wo temporre Daten gespeichert werden. Wenn die Arbeit an einem Buffer beendet wird, wird dieser gelscht und kann wieder verwendet werden. Beliebige Daten knnen mit nur einem Call bertragen werden!
  • Folie 9
  • Geschichte von OpenGL - 2004 Erwachen nach einer 4-Jhrigen Stagnationsphase OpenGL untersttzt Shader mit GLSL -> Version 2.0 verffentlicht Leider erst 4 Jahre nachdem Direct3D dies tut verliert werter an Boden
  • Folie 10
  • Geschichte von OpenGL - 2006 Khronos Group leitet OpenGL o Gruppe von Software und Hardware Herstellern o bringen OpenGL wieder an das Tageslicht
  • Folie 11
  • Geschichte von OpenGL - 2008 OpenGL 3.0 verffentlicht volle Backward-Compatibility jedoch viele angekndigten Vernderungen waren nicht enthalten Hat OpenGL den API-War verloren? NEIN! viele Direct3D 10 Features doch enthalten diese aber auch unter Windows XP einsatzfhig
  • Folie 12
  • Geschichte von OpenGL - 2009 OpenGL 3.1 verffentlicht o Spec enthlt nun kein immediate mode mehr OpenGL 3.2 verffentlicht o API nun gleichauf mit Direct3D 10!
  • Folie 13
  • Geschichte von OpenGL - 2010 OpenGL 4.0 verffentlicht (gleichauf mit Direct3D 11) OpenGL 3.3 gleichzeitig fr ltere Hardware verffentlicht o implementiert so viele Features wie mglich von OpenGL 4.0 OpenGL 4.x Requirements NVIDIA GTX 400 ATI Radeon HD 5000 series
  • Folie 14
  • Die neuen Browser Startseiten :) OpenGL The Red Book OpenGL The Blue Book
  • Folie 15
  • Buffer und Fenster - Definition Fenster: Ein offener Bereich, den eine Applikation mit darzustellenden Daten fllen kann.
  • Folie 16
  • Buffer und Fenster - Definition Fenster: Ein offener Bereich, den eine Applikation mit darzustellenden Daten fllen kann. Buffer: Ein Stck Speicher, der einem Fenster bergeben werden kann, um ihn sichtbar zu machen.
  • Folie 17
  • Buffer und Fenster sequenzielle Darstellung und Berechnung Frame-to-Frame bergnge sichtbar Animationen wirken abgehackt
  • Folie 18
  • Buffer und Fenster SwapBuffer sehr effizient immer ein Buffer zum Anzeigen bereit (Multithreading)
  • Folie 19
  • Fenster-Management mit Glut - OpenGL Utility Toolkit Was ist GLUT? Contexterstellung (Application Fenster Interaktion) Plattformbergreifend Freeglut ist modernere Implementierung (kann OpenGL 4.0 Context erstellen [get it])[get it] Example: 1. Fenster initialisieren
  • Folie 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 Hintereinanderausfhrung von Transformationen geziehltes Rckgngig machen von Transformationen Stacktiefe: Spec = mindestens 32 bei Modelview und mindestens 8 bei Projection Matrix
  • Folie 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);
  • Folie 22
  • Die Transformation-Pileline von OpenGL Example: 2. Moving Triangle
  • Folie 23
  • Die Transformation-Pileline von OpenGL Vertiefung und Erweiterung des Wissens: Wiederholung, Wiederholung, Wiederholung eigene Mathematik Klassen oder Bibliotheken verwenden [get gml][get gml]
  • Folie 24
  • Beleuchtungsmodell und Materialeigenschaften Eingebaute Beleuchtung fr bis zu 8 Spotlights, Omnidirectional Lights und Directional Lights 3D-Wahrnehmung ermglicht Phong Modell: ambient: gleichmiges Licht an jedem Punkt diffus: Omnidirektionales Licht, welches Punkte abhngig von ihrer Position ausleuchtet spekular: Glanzlicht auf glatten Oberflchen Example: 3. Materialized Teapot
  • Folie 25
  • Beleuchtungsmodell und Materialeigenschaften Vertiefung und Erweiterung des Wissens: Normalenvektoren und Beleuchtung Lichtfarben
  • Folie 26
  • Einfhrung in DevIL - Texturen laden und anwenden DevIL ist die am weitesten verbreitete Lib [get it][get it] untersttzt alle gngigen Bildformate Anlehnung der API an OpenGL Example: 4. Textured Teapot
  • Folie 27
  • Einfhrung in DevIL - Texturen laden und anwenden Vertiefung und Erweiterung des Wissens: Texturkoordinaten und Texturkoordinatengenerierung Bedeutung von Min- und Magfilter
  • Folie 28
  • Agenda Fortgeschrittenenkurs Buffer fr Vertices, Indices, Pixels und Frames Shader Beschleunigungsstrukturen (Octree, Bounding Volume,...)... wnscht euch was :)
  • Folie 29
  • OpenGL Einsteigerkurs ENDE
  • Folie 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/