Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen

Ähnliche Präsentationen


Präsentation zum Thema: "OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen"—  Präsentation transkript:

1 OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen
Aufbau eines OpenGL-Programms Unser erstes Dreieck Farben Transformationen

2 Allgemeines 3D Grafik API 1992 von SGI aus IrisGL hervorgegangen
Schnittstelle zur 3D Programmierung Unterstützung für Hardwarebeschleunigung Unabhängig vom Betriebssystem 1992 von SGI aus IrisGL hervorgegangen Offener Standard

3 Vorteile und Nachteile
Läuft unter verschiedenen Betriebssystemen wie Windows, Linux oder MacOS Weit verbreitet Von führenden Grafikkartenherstellern anerkannt Nachteile: Nur Grafik, im Gegensatz zu DirectX Teilweise sehr unübersichtlich

4 OpenGL-Funktionsbezeichnungen
Alle OpenGL-Funktionen besitzen eine standardisierte Namensgebung: glVertex3f(x, y, z); Parameter Aufgabe der Funktion Anzahl der Parameter Typ der Parameter

5 Aufbau eines OpenGL-Programms
} function InitGL begin ... end function Render glClear(GL_COLOR_BUFFER_BIT) glBegin([Primitiventyp]) glVertex(1, 2, 3) glEnd() OpenGL initialisieren

6 Primitiven GL_POINTS GL_LINES GL_LINE_STRIP GL_TRIANGLES
GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUAD GL_POLYGON

7 Unser erstes Dreieck Procedure Draw; begin
glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glVertex3f(1.5,-1.5,-5); glVertex3f(0,1.5,-5); glVertex3f(-1.5,-1.5,-5); glEnd(); SwapBuffers(DC); end;

8 Farben Procedure Draw; begin glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES); glColor3f(1,0,0); glVertex3f(1.5,-1.5,-5); glColor3f(0,1,0); glVertex3f(0,1.5,-5); glColor3f(0,0,1); glVertex3f(-1.5,-1.5,-5); glEnd(); SwapBuffers(DC); end;

9 Transformationen OpenGL benutzt Matrizen um Objekte zu verschieben, drehen und zu skalieren. Dafür gibt es: glTranslatef(x,y,z) glRotatef(Winkel,x,y,z) glScalef(x,y,z) glLoadIndentity() setzt die Matrix in ihre Ursprungsform zurück. Vorsicht! Das Kommutativgesetz gilt bei der Matrizenrechnung nicht, d.h. es ist nicht egal in welcher Reihenfolge die Funktionen aufgerufen werden.

10 Beispiel zu Transformationen
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glLoadIdentity; glTranslatef(0,0,-5); glRotatef(Rotation,0,1,0); glScalef(0.5,0.5,0.5); glBegin(GL_TRIANGLES); glColor3f(1,0,0); glVertex3f(1.5,-1.5,0); glColor3f(0,1,0); glVertex3f(0,1.5,0); glColor3f(0,0,1); glVertex3f(-1.5,-1.5,0); glEnd(); SwapBuffers(DC); Rotation ist eine Variable, die einen Winkel im Gradmaß enthält und mit einem Delphi-Timer verändert wird.

11 Gute OpenGL-Tutorials


Herunterladen ppt "OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen"

Ähnliche Präsentationen


Google-Anzeigen