CARL      VONOSSIETZKY            OpenGL Crash Course            Johannes Diemke            ¨            Ubung im Modul Op...
OpenGL Crash CourseNamenskonventionen f¨r Funktionen                    u   Die meisten OpenGL Befehle folgen der folgende...
OpenGL Crash CourseDer OpenGL Zustandsautomat   Die Art und Weise wie Objekte gezeichnet werden h¨ngt von vielen          ...
OpenGL Crash CourseDer OpenGL Zustandsautomat (Forts.)   Um Zustandsvariablen an- und auszuschalten k¨nnen die folgenden  ...
OpenGL Crash CourseKonstruktion von Objekten   Sollen komplexere Objekte dargestellt werden, so werden diese aus   mehrere...
OpenGL Crash CourseKonstruktion von Objekten (Forts.)    Zur Festlegung eines solchen Eckpunktes (engl. Vertex“) steht der...
OpenGL Crash CourseKonstruktion von Objekten (Forts.)   Primitive k¨nnen mit Hilfe eines glBegin/glEnd-Paares gezeichnet  ...
OpenGL Crash Course                    ¨OpenGL Primitive im Uberblick   Johannes Diemke      OpenGL mit Java   WiSe 2010 /...
OpenGL Crash CourseBeispiele    Zeichne zwei Punkte mit den Raumkoordinaten (0, 0, 0) und    (50, 50, 50)    gl.glBegin(GL...
Literatur Dave Shreiner OpenGL Programming Guide http://www.opengl-redbook.com/ Richard S. Wright, Benjamin Lipchak und Ni...
Nächste SlideShare
Wird geladen in …5
×

2010-JOGL-03-OpenGL-Crash-Course

434 Aufrufe

Veröffentlicht am

0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
434
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
3
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

2010-JOGL-03-OpenGL-Crash-Course

  1. 1. CARL VONOSSIETZKY OpenGL Crash Course Johannes Diemke ¨ Ubung im Modul OpenGL mit Java Wintersemester 2010/2011
  2. 2. OpenGL Crash CourseNamenskonventionen f¨r Funktionen u Die meisten OpenGL Befehle folgen der folgenden Namenskonvention: Weitere Beispiele: void glColor3i(int red, int green, int blue) void glColor3f(float red, float green, float blue) void glColor3d(double red, double green, double blue) void glColor4f(float red, float green, float blue, float alpha) Intern nutzt OpenGL Floats → Performanz! Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 2/10
  3. 3. OpenGL Crash CourseDer OpenGL Zustandsautomat Die Art und Weise wie Objekte gezeichnet werden h¨ngt von vielen a Parametern ab: Ist eine Lichtquelle vorhanden? Wie sind die Materialeigenschaften? Soll eine Textur genutzt werden? ... In OpenGL werden solche Variablen als Zustandsautomat realisiert Wird eine Zustandsvariable einmal gesetzt, so beh¨lt Sie ihren Wert a bis sie einen neuen Wert zugewiesen bekommt Viele der Zustandsvariablen k¨nnen lediglich an- und ausgeschaltet o werden Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 3/10
  4. 4. OpenGL Crash CourseDer OpenGL Zustandsautomat (Forts.) Um Zustandsvariablen an- und auszuschalten k¨nnen die folgenden o Methoden genutzt werden: public void glEnable(int cap) public void glDisable(int cap) M¨gliche Parameter sind bspw.: o GL.GL_LIGHTING GL.GL_CULL_FACE GL.GL_BLEND GL.GL_ALPHA_TEST ... Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 4/10
  5. 5. OpenGL Crash CourseKonstruktion von Objekten Sollen komplexere Objekte dargestellt werden, so werden diese aus mehreren kleinen Formen, sogenannten Primitven, zusammengesetzt Primitive sind ein- oder zwei dimensionale Einheiten wie: Punkte Linien Polygone ... Primitive werden durch die Angabe der Raumkoordinaten ihrer Eckpunkte im dreidimensionalen Raum definiert Dabei wird ein kartesisches Koordinatensystem genutzt Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 5/10
  6. 6. OpenGL Crash CourseKonstruktion von Objekten (Forts.) Zur Festlegung eines solchen Eckpunktes (engl. Vertex“) steht der ” folgende Befehl zur Verf¨gung: u void glVertex3f(float x, float y, float z)Beispiel Ein durch glVertex3f(50.0f, 50.0f, 0.0f) festgelegter Eckpunkt Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 6/10
  7. 7. OpenGL Crash CourseKonstruktion von Objekten (Forts.) Primitive k¨nnen mit Hilfe eines glBegin/glEnd-Paares gezeichnet o werden Dabei bestimmt der Parameter der glBegin-Methode die zu zeichnenden Primitive: GL.GL_POINTS GL.GL_LINES GL.GL_LINE_STRIP ... In dem glBegin/glEnd-Paar werden die Eckpunkte der zu zeichnenden Primitive eingeschlossen Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 7/10
  8. 8. OpenGL Crash Course ¨OpenGL Primitive im Uberblick Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 8/10
  9. 9. OpenGL Crash CourseBeispiele Zeichne zwei Punkte mit den Raumkoordinaten (0, 0, 0) und (50, 50, 50) gl.glBegin(GL.GL_POINTS); gl.glVertex3f( 0.0f, 0.0f, 0.0f); gl.glVertex3f(50.0f, 50.0f, 50.0f); gl.glEnd(); Zeichne ein Liniensegment zwischen den beiden Raumkoordinaten (30, 30, 30) und (60, 60, 60) gl.glBegin(GL.GL_LINES); gl.glVertex3f(30.0f, 30.0f, 30.0f); gl.glVertex3f(60.0f, 60.0f, 60.0f); gl.glEnd(); Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 9/10
  10. 10. Literatur Dave Shreiner OpenGL Programming Guide http://www.opengl-redbook.com/ Richard S. Wright, Benjamin Lipchak und Nicholas Haemel OpenGL SuperBibel http://www.starstonesoftware.com/OpenGL/ Randi J. Rost OpenGL Shading Language http://www.3dshaders.com/ Tomas Akenine-M¨ller, Eric Haines und Naty Hoffman o Real-Time Rendering http://www.realtimerendering.com/ Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 10/10

×