ComGraphik DirectX vs. OpenGL 13.07.2005 vs. Von Patrick Schmid und Christian Piwecki ComGraphik DirectX vs. OpenGL 13.07.2005 Übersicht Graphikengines Schnittstellen für Graphikengines Grafikschnittstelle OpenGL Grafikschnittstelle DirectX Unterschiede DirectX und OpenGL Programmierbeispiel Würfel OpenGL Programmierbeispiel Würfel DirectX Fazit Patrick Schmid Christian Piwecki 12.Info DirectX vs. OpenGL ComGraphik 13.07.2005 Graphikengines Basieren auf einer Grafikschnittstelle (z.B. DirectX, OpenGL, …) Eigenständiger Programmteil Erleichtern Darstellung von Computergrafik Grafikengines Standardfunktionen bereits implementiert IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Graphikengines Funktionen einer Grafikengine Geometrische Objektbeschreibung Oberflächentexturen Licht und Schatten Transparenz Grafikengines Spiegelungen IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Partikelsysteme Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Graphikengines Funktionen einer Grafikengine Beinhaltet Großteil der Viewpipeline Erstellt Objekt im Modelling Coordinate System Transformiert dieses ins World Coordinate System Führt View Mapping durch Grafikengines Beinhaltet bereits implementierte Vertex- und Pixelshader IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Graphikengines Bewertung einer Grafikengine Gute Graphikengine zeichnet sich aus durch: Schnelligkeit -> extrem aufwändige Optimierungen der Berechnungen große Anzahl bereits implementierter Funktionen schönes Ergebnis Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info DirectX vs. OpenGL ComGraphik 13.07.2005 Meilensteine Doom I-III id Software 1993-2004 Doom Engine Quake I-VI id Software 1994-2005? Quake Engine Unreal I-III Epic Games 1999-2006 ? Unreal T. Epic Games 1999-2006? Farcry Crytek 2004-2005? Cry Engine Half Life Valve 1997 Quake Engine Half Life² Valve 2004-2005? Source Engine Unreal Engine Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Schnittstellen für Graphikengines Definition Große Programmbibliothek mit elementaren Funktionen Implementiert als API (Application Programming Interface) plattformunabhängig Grafikengines programmiersprachenunabhängig IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Schnittstellen für Graphikengines Bekannte Schnittstellen für Graphikengines OpenGL DirectX Quickdraw3D (Apple) Glide (3DFx) Java3D (sun) Grafikengines Mesa (ähnlich OpenGL) IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Warp3D (Amiga) Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL Geschichte Vorgänger: IrisGL von SGI (1980) Ziel: portierfähige Graphic Library ARB (Architecture Review Board) an Entwicklung von OpenGL beteiligt Zur ARB gehören u.a.: Grafikengines 3D Labs, ATI, Apple, Dell, HP, Matrox, nVidia, IBM, Intel, Microsoft (bis März 2003), Silicon Graphics, Digital Equipment (DEC), Evans & Sutherland und Intergraph IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL Geschichte 1992 erscheint OpenGL 1.0 seit 7. September 2004 OpenGL 2.0 OpenGL ist OpenSource Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL OpenGL - Bibliotheken GLX Schnittstelle zwischen OpenGL und X-Windowsystem WGL Schnittstelle zwischen OpenGL und Windows AGL u. CGL Schnittstelle zwischen OpenGL und MAC Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL OpenGL - Bibliotheken GLUT (OpenGL Utility Toolkit) Umfangreiche Bibliothek die Methoden zur Fenstererzeugung sowie zum Input – Handling beinhaltet Java3D API für Java um 3D Anwendungen für Java2 Environments zu entwickeln OpenAL Grafikengines Open Audio Library IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL IDE Konfiguration Include – Dateien: gl.h glu.h glux.h Libraries für Linker: OpenGL32.lib GLu32.lib GLaux.lib Grafikengines glaux.dll im gleichen Verzeichnis IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL Die GLUT - Library glutInit(&argc, argv); Initialisiert die GLUT Library glutInitWindowSize(int width, int height); Setzt die Größe des Fensters glutInitWindowPosition(int x, int y); Setzt die Position des Fensters glutCreateWindow( ¨WindowTitle¨); Erstellt das Fenster mit dem Parameter als Titel glutDisplayFunc(display); Deklariert die Funktion die für den Fensterinhalt verantwortlich ist Grafikengines glutReshapeFunc(reshape); IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Deklariert die Funktion die aufgerufen wird, wenn das Fenster in der Größe verändert, bewegt oder minimiert/maximiert wird. Unterschiede DX & OGL glutMainLoop(); Verhindert dass das Fenster gleich wieder beendet wird Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL Erzeugung von Grafik Bevor Grafik angezeigt werden kann muß erst ein Fenster vorhanden sein OpenGL muß mit dem Window Context (DC) und dem Device Context (WC) verknüpft werden Unterscheidung in 2 Arten von Funktionen: 1. Funktionen die die OpenGL – Engine konfigurieren 2. Funktionen die zu zeichnende 3D Objekte definieren Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL OpenGL – Engine konfigurieren Mit glEnable(FLAG); Flag aktivieren Mit glDisable(FLAG); Flag deaktivieren Es gibt Flags für: Verschiedene Filter Z-Buffer Alphatest Dithering Blending Lichtquellen Zeichenstil für Linien uvm. Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL OpenGL – Engine konfigurieren Beispiele: glEnable(GL_LIGHT1); aktiviert Lichtquelle 1 glEnable(GL_DEPTH_TEST); aktiviert Z-Buffer glEnable(GL_DITHER); aktiviert Dithering Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL 3D – Objekt definieren Zu zeichnende Elemente werden immer mit glBegin(MODE); begonnen glEnd(); beendet Dazwischen werden z.B. Punkte gesetzt Farben zugeordnet Texturkoordinaten zugeordnet Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL 3D – Objekt definieren Modes: glBegin(GL_TRIANGLES); glBegin(GL_QUADS); glBegin(GL_POLYGON); glBegin(GL_POINTS); glBegin(GL_LINES); glBegin(GL_LINE_STRIP); glBegin(GL_LINE_LOOP); glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_FAN); glBegin(GL_QUAD_STRIPS); Grafikengines Punkt definieren: IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL glVertex3f(0.0f, 0.0f, 0.0f); Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL 3D – Objekt definieren Beispiel: glBegin(GL_TRIANGLES); glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(0.0f, 0.0f); glVertex2f(1.0f, 0.0f); glVertex2f(0.0f, 1.0f); glEnd(); Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Ergebnis: rotes Dreieck Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle OpenGL Sonstige Funktionen glLoadIdentity(); Sprung zurück zum Ursprung glTranslatef(x, y, z); Verschiebt um x, y, z glRotatef(winkel, x, y, z); Rotiert um entsprechende Achse Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info DirectX vs. OpenGL ComGraphik 13.07.2005 Grafikschnittstelle DirectX Kurze Geschichte Von Microsoft entwickelt 1. Game SDK -> Windows 95 Umbenannt in DirectX SDK Was ist DirectX ? Einheitliche, geräteunabhängige Schnittstelle Enthält Ansammlung versch. Komponenten zur Multi-Media Entwicklung unter Windows Sicherheit für Programmierer für Lauffähigkeit unter allen Windows-Systemen Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info DirectX vs. OpenGL ComGraphik 13.07.2005 Grafikschnittstelle DirectX Leistungsfähigkeit Besteht aus zwei Schichten: HAL und HEL HAL: Hardware Acceleration Layer = Funktionen die direkt von HW unterstützt werden HEL: Hardware Emulation Layer = Funktionen die HW nicht direkt unterstützt Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info DirectX vs. OpenGL ComGraphik 13.07.2005 Grafikschnittstelle DirectX DirectX besteht aus folgenden Komponenten DirectSound -> HW beschleunigtes Mixen von Sound DirectMusic -> Wiedergabe und Komposition von Musik DirectShow -> Abspielen von Multimediadateien DirectInput -> Für Eingabegeräte Grafikengines Direct3DX Utility Library -> Funktionen für Direct3D IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX DirectPlay Unterschiede DX & OGL -> Unterstützung für Netzwerkverbindungen Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle DirectX Direct3D Geometrietransformationen (Bewegung, Skalierung,Rotation) Beleuchtung Texturierung DirectDraw Direkter Zugriff auf Grafikkarte und Bildspeicher Schnelles Verschieben zwischen Grafikkarte und Hauptspeicher Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info DirectX vs. OpenGL ComGraphik 13.07.2005 Grafikschnittstelle DirectX Arbeiten mit Direct3D Einbinden des Header d3d9.h Einbinden der Library d3d9.lib Richtige DirectX Version überprüfen D3D_SDK_VERSION Desktopmodus festlegen GetAdapterDisplayMode Front & Backbuffer einstellen D3DSWAPEFFECT_DISCARD Device einstellen D3DDEVTYPE_HAL Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Objekte aus Arbeitsspeicher entfernen ! Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle DirectX Grundlegende Funktionen LPDIRECT3D9 Erstellen eines Direct3D Objekts LPDIRECT3DDEVICE Rendering Schnittstelle definieren D3DPRESENT_PARAMETERS Um Rendering Schnittstelle zu erstellen hier definieren UINT Adapter Welche Grafikkarte verwenden D3DDEVTYPE_HAL Hardwarebeschleunigung benutzen Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle DirectX Grundlegende Funktionen DrawPrimitive Zeichnet über Vertices angegebene Objekt ! Direct3D speichert Vektordaten in Vertex Buffer Punktlisten -> Jeder Punkt wird einzeln ausgegeben Linienlisten -> Je 2 Punkte durch Linie verbunden Dreieckslisten -> Je 3 Punkte zu einem Dreieck Dreiecksfächer -> Alle Punkte spannen mit 1. einen Fächer auf Dreiecksstreifen -> Punkte werden der Reihe nach als breiter Streifen aus Dreiecken dargestellt Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle DirectX Punktliste (D3DPT_POINTLIST) Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Linien-Liste (D3DPT_LINELIST) Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle DirectX Dreieck-Liste (D3DPT_TRIANGLELIST) Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Dreieck-Fan (D3DPT_TRIANGLEFAN) Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle DirectX Dreieck-Strip (D3DPT_TRIANGLESTRIP) Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle DirectX D3DVERTEX g pvTriangleVertices[3]; D3DVEKTOR p1{0.0f,3.0f,0.0f}; D3DVEKTOR p2{3.0f,-3.0f,0.0f}; D3DVEKTOR p3{-3.0f,-3.0f,0.0f}; g pvTriangleVertices[0]=D3DVERTEX(p1, vNormal,0,0); g pvTriangleVertices[1]=D3DVERTEX(p2, vNormal,0,0); g pvTriangleVertices[2]=D3DVERTEX(p3, vNormal,0,0); pd3dDevice->DrawPrimitive(D3DPT TRIANGLELIST ,D3DFVF VERTEX,g pvTriangleVertices,3,NULL); Die Eckpunkte des Dreiecks sind mit D3DVEKTOR gegeben. Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Unterschiede DirectX & OpenGL Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel OpenGL Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel OpenGL Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel OpenGL Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel OpenGL Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel DirectX Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel DirectX Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel DirectX Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel DirectX Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel DirectX Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel DirectX Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Programmierbeispiel Würfel DirectX Grafikengines IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info ComGraphik DirectX vs. OpenGL 13.07.2005 Fazit Gleichwertige Ergebnisse Bessere Performance nur durch optimierten Quellcode Wichtiger Vorteil von OpenGL gegenüber DirectX -> Plattformunabhängigkeit Für Anfänger OpenGL viel besser geeignet Grafikengines Tendenziell mehr Software (SPIELE) unter DirectX als unter OpenGL IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info Vielen Dank für die Aufmerksamkeit ! Noch Fragen ?