ComGraphik DirectX vs. OpenGL 13.07.2005 Von Patrick Schmid und Christian Piwecki vs.

Post on 06-Apr-2015

107 views 0 download

Transcript of ComGraphik DirectX vs. OpenGL 13.07.2005 Von Patrick Schmid und Christian Piwecki vs.

ComGraphik DirectX vs. OpenGL 13.07.2005

Von Patrick Schmid und Christian Piwecki

vs.

Übersicht

Graphikengines

Patrick Schmid Christian Piwecki 12.Info

Schnittstellen für Graphikengines

Grafikschnittstelle OpenGL

Grafikschnittstelle DirectX

Unterschiede DirectX und OpenGL

Programmierbeispiel Würfel OpenGL

Programmierbeispiel Würfel DirectX

Fazit

ComGraphik DirectX vs. OpenGL 13.07.2005

Graphikengines

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

ComGraphik DirectX vs. OpenGL 13.07.2005

Patrick Schmid Christian Piwecki 12.Info

Eigenständiger Programmteil

Erleichtern Darstellung von Computergrafik

Standardfunktionen bereits implementiert

Basieren auf einer Grafikschnittstelle (z.B. DirectX, OpenGL, …)

Graphikengines

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Funktionen einer Grafikengine

Geometrische Objektbeschreibung

Oberflächentexturen

Licht und Schatten

Transparenz

Spiegelungen

Partikelsysteme

Graphikengines

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

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

Beinhaltet bereits implementierte Vertex- und Pixelshader

Graphikengines

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Gute Graphikengine zeichnet sich aus durch:

Schnelligkeit -> extrem aufwändige Optimierungen der Berechnungen

große Anzahl bereits implementierter Funktionen

schönes Ergebnis

Bewertung einer Grafikengine

Meilensteine

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Doom I-III id Software 1993-2004

Unreal I-III Epic Games 1999-2006 ?

Quake I-VI id Software 1994-2005?

Unreal T. Epic Games 1999-2006?

QuakeEngine

DoomEngine

UnrealEngine

Farcry Crytek 2004-2005?CryEngine

Half Life Valve 1997QuakeEngine

Half Life² Valve 2004-2005?SourceEngine

Schnittstellen für Graphikengines

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Implementiert als API

(Application Programming Interface)

Definition

plattformunabhängig

programmiersprachenunabhängig

Große Programmbibliothek mit elementaren Funktionen

Schnittstellen für Graphikengines

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

DirectX

Bekannte Schnittstellen für Graphikengines

Quickdraw3D (Apple)

Glide (3DFx)

OpenGL

Java3D (sun)

Mesa (ähnlich OpenGL)

Warp3D (Amiga)

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Vorgänger: IrisGL von SGI (1980)

Geschichte

Ziel: portierfähige Graphic Library

ARB (Architecture Review Board) an Entwicklung von OpenGL beteiligt

Zur ARB gehören u.a.:

3D Labs, ATI, Apple, Dell, HP, Matrox, nVidia, IBM, Intel, Microsoft (bis März 2003), Silicon Graphics, Digital Equipment (DEC), Evans & Sutherland und Intergraph

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

1992 erscheint OpenGL 1.0

Geschichte

seit 7. September 2004 OpenGL 2.0

OpenGL ist OpenSource

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

OpenGL - Bibliotheken

GLX

WGL

AGL u. CGL

Schnittstelle zwischen OpenGL und X-Windowsystem

Schnittstelle zwischen OpenGL und Windows

Schnittstelle zwischen OpenGL und MAC

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

GLUT (OpenGL Utility Toolkit)

OpenGL - Bibliotheken

Java3D

OpenAL

API für Java um 3D Anwendungen für Java2 Environments zu entwickeln

Umfangreiche Bibliothek die Methoden zur Fenstererzeugung sowie zum Input – Handling beinhaltet

Open Audio Library

Include – Dateien: gl.h glu.h glux.h

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

IDE Konfiguration

glaux.dll im gleichen Verzeichnis

Libraries für Linker: OpenGL32.lib GLu32.lib GLaux.lib

glutInit(&argc, argv);Initialisiert die GLUT LibraryglutInitWindowSize(int width, int height);Setzt die Größe des FenstersglutInitWindowPosition(int x, int y);Setzt die Position des FenstersglutCreateWindow( ¨WindowTitle¨);Erstellt das Fenster mit dem Parameter als TitelglutDisplayFunc(display);Deklariert die Funktion die für den Fensterinhalt verantwortlich istglutReshapeFunc(reshape);Deklariert die Funktion die aufgerufen wird, wenn das Fenster in der Größe verändert, bewegt oder minimiert/maximiert wird.glutMainLoop();Verhindert dass das Fenster gleich wieder beendet wird

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Die GLUT - Library

Unterscheidung in 2 Arten von Funktionen:1. Funktionen die die OpenGL – Engine konfigurieren2. Funktionen die zu zeichnende 3D Objekte definieren

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Erzeugung von Grafik

Bevor Grafik angezeigt werden kann muß erst einFenster vorhanden sein

OpenGL muß mit dem Window Context (DC) und dem Device Context (WC) verknüpft werden

Mit glEnable(FLAG); Flag aktivieren

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

OpenGL – Engine konfigurieren

Mit glDisable(FLAG); Flag deaktivieren

Es gibt Flags für: Verschiedene Filter Z-Buffer Alphatest Dithering Blending Lichtquellen Zeichenstil für Linien uvm.

Beispiele:

glEnable(GL_LIGHT1); aktiviert Lichtquelle 1

glEnable(GL_DEPTH_TEST); aktiviert Z-Buffer glEnable(GL_DITHER); aktiviert Dithering

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

OpenGL – Engine konfigurieren

Zu zeichnende Elemente werden immer mit glBegin(MODE); begonnen glEnd(); beendet

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

3D – Objekt definieren

Dazwischen werden z.B. Punkte gesetzt Farben zugeordnet Texturkoordinaten zugeordnet

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);

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

3D – Objekt definieren

glVertex3f(0.0f, 0.0f, 0.0f);

Punkt definieren:

Modes:

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Beispiel:

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

3D – Objekt definieren

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();

Ergebnis: rotes Dreieck

Grafikschnittstelle OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Sonstige Funktionen

glLoadIdentity(); Sprung zurück zum Ursprung

glRotatef(winkel, x, y, z);

glTranslatef(x, y, z); Verschiebt um x, y, z

Rotiert um entsprechende Achse

Grafikschnittstelle DirectX

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

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 zurMulti-Media Entwicklung unter Windows

Sicherheit für Programmierer für Lauffähigkeitunter allen Windows-Systemen

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

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

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

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

Direct3DX Utility Library -> Funktionen für Direct3D

DirectPlay -> Unterstützung für Netzwerkverbindungen

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX

Direct3D

DirectDraw

Geometrietransformationen(Bewegung, Skalierung,Rotation)BeleuchtungTexturierung

Direkter Zugriff auf Grafikkarte und Bildspeicher

Schnelles Verschieben zwischen Grafikkarte undHauptspeicher

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX

Arbeiten mit Direct3D

Einbinden des Header d3d9.hEinbinden der Library d3d9.lib

Richtige DirectX Version überprüfenD3D_SDK_VERSION

Device einstellenD3DDEVTYPE_HAL

Desktopmodus festlegenGetAdapterDisplayMode

Front & Backbuffer einstellenD3DSWAPEFFECT_DISCARD

Objekte aus Arbeitsspeicher entfernen !

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX

Grundlegende Funktionen

LPDIRECT3D9Erstellen eines Direct3D Objekts

LPDIRECT3DDEVICERendering Schnittstelle definieren

D3DPRESENT_PARAMETERSUm Rendering Schnittstelle zu erstellen hierdefinieren

UINT AdapterWelche Grafikkarte verwenden

D3DDEVTYPE_HALHardwarebeschleunigung benutzen

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX

Grundlegende Funktionen

DrawPrimitiveZeichnet ü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

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX

Punktliste (D3DPT_POINTLIST)

Linien-Liste (D3DPT_LINELIST)

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX

Dreieck-Liste (D3DPT_TRIANGLELIST)

Dreieck-Fan (D3DPT_TRIANGLEFAN)

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX

Dreieck-Strip (D3DPT_TRIANGLESTRIP)

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

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.

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Unterschiede DirectX & OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel OpenGL

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel OpenGL

Programmierbeispiel Würfel DirectX

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel DirectX

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel DirectX

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel DirectX

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel DirectX

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel DirectX

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

Programmierbeispiel Würfel DirectX

ComGraphik DirectX vs. OpenGL 13.07.2005

Grafikengines

IF für Grafikengines

Gra. IF. OpenGL

Gra. IF. DirectXUnterschiede DX & OGL

Prog.Bsp. OpenGL

Prog.Bsp. DirectX

Fazit

Patrick Schmid Christian Piwecki 12.Info

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

Tendenziell mehr Software (SPIELE) unter DirectX als unter OpenGL

Vielen Dank für die Aufmerksamkeit !

Noch Fragen ?