Einführung OpenGL und GLUT - · PDF fileEinführung OpenGL und GLUT WPF Spiele, ... Computergrafik.es enthält über 250 Befehle die eine Darstellung von komplexer 3D -Szenarien in

Embed Size (px)

Citation preview

  • Einfhrung OpenGL und GLUTWPF Spiele, Simulation und dynamische Systeme

    bei Prof. Dr. Wolfgang Konen

    erstellt von:

    Sebastian Skalec, 11038991Christian Fehmer, 11042419

    Fachhochschule KlnCampus GummersbachAllgemeine Informatik

  • Inhaltsverzeichnis

    1 Einfhrung und Zielsetzung....................................................................................... 41.1 Einfhrung / Schematischer Aufbau..........................................................................................41.2 OpenGL..................................................................................................................................... 41.3 GLUT.........................................................................................................................................51.4 GLU........................................................................................................................................... 51.5 GLX, WGL und Co................................................................................................................... 51.6 Syntax........................................................................................................................................ 6

    2 Initialisierung von GLUT........................................................................................... 82.1 Einleitung...................................................................................................................................82.2 Initialisierung der GLUT-Basis................................................................................................. 82.3 Setzen des Displaymodes...........................................................................................................82.4 Erstellen und Parametrisieren eines Fensters...........................................................................102.5 Start der glutMainLoop............................................................................................................102.6 Zusammenfassung................................................................................................................... 10

    3 Interaktion mit GLUT...............................................................................................113.1 Einfhrung............................................................................................................................... 113.2 Interaktion mit der Tastatur..................................................................................................... 133.3 Interaktion mit der Maus..........................................................................................................153.4 Spezielle Callback-Funktionen................................................................................................ 163.5 Zusammenfassung................................................................................................................... 17

    4 Einfhrung in 3D...................................................................................................... 185 Zeichnen einfacher grafischer Primitive...................................................................19

    5.1 Einfhrung und Definition.......................................................................................................195.2 Zeichnen von Primitiven..........................................................................................................195.3 Zusammenfassung................................................................................................................... 25

    6 Darstellung: Koordinaten und Matrizen................................................................... 266.1 Einfhrung............................................................................................................................... 266.2 Koordinatensysteme.................................................................................................................266.3 Arbeiten mit Matrizen..............................................................................................................276.4 Befehle rund um Matrizenfunktionen......................................................................................276.5 Zusammenfassung................................................................................................................... 28

    7 Modellierung, Manipulation des Modells................................................................ 297.1 Einfhrung............................................................................................................................... 297.2 Rotation....................................................................................................................................297.3 Translation............................................................................................................................... 307.4 Skalierung................................................................................................................................ 307.5 Freie Manipulation...................................................................................................................317.6 Zusammenfassung................................................................................................................... 31

    8 Perspektive und Projektion (Kamera).......................................................................328.1 Einfhrung............................................................................................................................... 328.2 Orthographische Projektion..................................................................................................... 328.3 Perspektivische Projektion.......................................................................................................348.4 Hilfsfunktion GluLookAt........................................................................................................ 358.5 Zusammenfassung................................................................................................................... 35

    9 Listing 2: Beispielprogramm.................................................................................... 36

  • AbbildungsverzeichnisAbbildung 1: Schematische Darstellung von Hardware bis zur Anwendung [GCB06]...................... 4Abbildung 2: Das Konzept des Double-Buffers [GCB06]...................................................................9Abbildung 3: Funktionsweise glutMainLoop [GCB06].....................................................................11Abbildung 4: Achsenbereiche in OpenGL [DGLWIKI].................................................................... 18Abbildung 5: Primitiven GL_POINTS...............................................................................................20Abbildung 6: Primitiven GL_LINES................................................................................................. 21Abbildung 7: Primitiven GL_LINE_STRIP.......................................................................................21Abbildung 8: Primitiven GL_LINE_LOOP....................................................................................... 22Abbildung 9: Primitiven GL_TRIANGLES...................................................................................... 22Abbildung 10: Primitiven GL_TRIANGLE_STRIP..........................................................................23Abbildung 11: Primitiven GL_TRIANGLE_FAN.............................................................................24Abbildung 12: Primitiven GL_QUADS.............................................................................................24Abbildung 13: Primitiven GL_QUAD_STRIP.................................................................................. 25Abbildung 14: Primitiven GL_POLYGON........................................................................................25Abbildung 15: Koordinatenumwandlung von Model nach Screen [rbapg93]................................... 26Abbildung 16: Rotation des Modells [rbapg93]................................................................................29Abbildung 17: Translation des Modells [rbapg93]........................................................................... 30Abbildung 18: Skalierung des Modells [rbapg93]............................................................................ 31Abbildung 19: Orthografische Projektion [rbapg93]........................................................................ 33Abbildung 20: Orthographische Darstellung von Quadraten [DGLWIKI]........................................33Abbildung 21: Perspektivische Projektion [rbapg93]....................................................................... 34Abbildung 22: Perspektivische Darstellung von Quadraten [DGLWIKI]......................................... 35

    TabellenverzeichnisTabelle 1: bersicht betriebsystemspezifischer Bibliotheken............................................................. 6Tabelle 2: Prfixe der verwendeten Bibliotheken................................................................................ 6Tabelle 3: Anzahl der Parameter und Beispiele der Aufrufe............................................................... 6Tabelle 4: Zuordnung der Krzel fr Datentypen................................................................................ 7Tabelle 5: Bedeutung einiger DisplayMode Konstanten......................................................................8Tabelle 6: bersicht der GLUT Events und Callback-Funktionen................................................... 12Tabelle 7: GLUT Keycodes fr spezielle Tastatureingaben.............................................................. 14Tabelle 8: OpenGL-Befehle in einem Primitiven-Block......................