Von Patrick Schmid und Christian Piwecki

Slides:



Advertisements
Ähnliche Präsentationen
Computer Graphics Shader
Advertisements

Konzeptioneller Vergleich von VRML, Java3D und OpenGL hinsichtlich ihrer Eignung zur Erstellung von Animationen von Christian Stein.
Eclipse.
1. 2 Heute entwickeln wir eine kleine DirectInput-Bibliothek,auf die wir bei unseren zukünftigen Projekten immer wieder zurückgreifen werden. Die Themen.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
Game Engine Architecture - J. Gregory
Vergleich von 3D Game Engines
FH-Hof Texturen Richard Göbel. FH-Hof Anwendungen von Texturen Darstellung von 2D-Bildern Gestaltung von Oberflächen Simulation komplexer Geometrien...
Java: Objektorientierte Programmierung
FH-Hof Geometrie Richard Göbel. FH-Hof Aufbau des virtuellen Universums.
FH-Hof Texturen Richard Göbel. FH-Hof Anwendungen von Texturen Darstellung von 2D-Bildern Gestaltung von Oberflächen Simulation komplexer Geometrien...
Java: Grundlagen der Objektorientierung
Virtuelle Forschungsumgebungen Hintergrundbeitrag: HTML5: Video Player und VideoJS Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung.
Basisinformationstechnologie 1 Tanja Lange WS 2003/04 am
Grundbegriffe der 3D-Spiele-Programmierung
Java3d „Licht und Material“
AWT – Detailbetrachtung Java 3D – Seminar im Wintersemester 2002/2003 Christian Schneider.
Java-Kurs Grafik Julian Drerup.
Programmieren mit JAVA Teil V. Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu.
OpenGL mit Delphi Allgemeines OpenGL-Funktionsbezeichnungen
Einführung in Visual C++
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
Computergrafik Vom Dreieck zum Ego-Shooter Olaf Müller
Special Effects Realistischeres Rendern einer Scene.
PCI-Express als Grafikschnittstelle
Mailserver-Installation mit LDAP-Schnittstelle für die Firma XYZ GmbH
Semantic Media Showcase – Universität Potsdam
ODBC (Open Database Connectivity)
FHP - Fachbereich Bauingenieurwesen
Computergraphik mit OpenGL Einführung. Bilder Objekt existiert im Raum unabhängig vom Betrachter Objekte sind beschrieben durch die Position verschiedener.
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Einsteigerkurs Andy Reimann - Mai Intro Trailer.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 3 Übung: Softwaretechnologie.
3D- Spieleprogrammierung
Ändern von Merkmalen Geometrie Topologie Attribute.
Typo3 Templates und TypoScript
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Von der Planung bis zum Hauptmenü Seminar: Softwaretechnologie II Dozent: Prof. Manfred Thaller Referent: Jan Bigalke.
Betriebssysteme & BIOS
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Verhalten von Objekten in der Szene
Medizinische Visualisierung
Camera, Lights, Action… Dirk Primbs Developer Evangelist
ProSeminar WS 2007/08 Leo Hackstein
Java Server Pages Sergej Keterling
Objekte und ihre Beschreibung
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Oliver Spritzendorfer Thomas Fekete
Präsentation der Diplomarbeit:
Eine Entwicklungsumgebung für Free-Pascal Peter G. Poloczek, M5543
Augmented Reality mit korrekter Beleuchtung Thorsten Grosch
Multimedia in Java Thomas Witschel, Kerstin Steinert & Erik Reinhard.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung WS 2013/14.
Die Welt der Shader Universität zu Köln WS 14/15 Softwaretechnologie II (Teil 1) Prof. Dr. Manfred Thaller Referent: Lukas Kley Fortgeschrittene Techniken.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
1. Charakteranimation 2. PlugIns schreiben und laden Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung WS 2010/2011.
3D Graphics APIs: OpenGL & Fixed Function Pipeline
JAVA 3D 1 Einführung in die Java3D API JAVA 3D2 Was ist Java3D? Standard-Extension-Klassenbibliothek für Java X (X >= 1.2) Ermöglicht.
Universität zu Köln Institut für Historisch- Kulturwissenschaftliche- Informationsverarbeitung SS 2011 Dozent: Prof. Dr. Manfred Thaller AM3 Seminar „Softwaretechnologie.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
 Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2.
Einführung in PowerPoint Zum Seminar „Video und Multimedia im Unterricht DaF“ (Theorie und Praxis der Lehr- und Lernmittel) bei Prof. Dr. E. Tschirner.
Einführung in OpenGL Seminarvortrag im Rahmen des Bachelorstudiengangs „Scientific Programming“ Tural Bilalov.
Ein Spiel mit der SDL - Teil I. Ein Spiel mit der SDL  kostenlose Bibliothek – Simple DirectMedia Layer Grafik darstellen Benutzereingaben abfragen Sounds.
Vergleich verschiedener 3D-Bibliotheken am Beispiel einer Massendarstellung von Zylindern Gehalten von : Thomas Nowicki Gehalten am : Geodätisches.
Gaming unter Linux Voraussetzungen Varianten Beispiele Lösungen
 Präsentation transkript:

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

Schnittstellen für Graphikengines 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

Basieren auf einer Grafikschnittstelle (z.B. DirectX, OpenGL, …) ComGraphik DirectX vs. OpenGL 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

Funktionen einer Grafikengine 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 Partikelsysteme Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Funktionen einer Grafikengine 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

Bewertung einer Grafikengine 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

Doom I-III id Software 1993-2004 ComGraphik DirectX vs. OpenGL 13.07.2005 Meilensteine Doom Engine Doom I-III id Software 1993-2004 Quake Engine Quake I-VI id Software 1994-2005? Unreal I-III Epic Games 1999-2006 ? Unreal Engine Unreal T. Epic Games 1999-2006? Cry Engine Farcry Crytek 2004-2005? Grafikengines Quake Engine Half Life Valve 1997 IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX Source Engine Half Life² Valve 2004-2005? Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Schnittstellen für Graphikengines 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 IF für Grafikengines programmiersprachenunabhängig Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Schnittstellen für Graphikengines 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 Warp3D (Amiga) Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle OpenGL 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.: 3D Labs, ATI, Apple, Dell, HP, Matrox, nVidia, IBM, Intel, Microsoft (bis März 2003), Silicon Graphics, Digital Equipment (DEC), Evans & Sutherland und Intergraph 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

Grafikschnittstelle OpenGL 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

Grafikschnittstelle OpenGL 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

Grafikschnittstelle OpenGL 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

Grafikschnittstelle OpenGL 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 IF für Grafikengines Gra. IF. OpenGL glaux.dll im gleichen Verzeichnis Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle OpenGL 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 glutReshapeFunc(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 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

Grafikschnittstelle OpenGL 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: Funktionen die die OpenGL – Engine konfigurieren 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

Grafikschnittstelle OpenGL 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

Grafikschnittstelle OpenGL 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

Grafikschnittstelle OpenGL 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

Grafikschnittstelle OpenGL 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 IF für Grafikengines Gra. IF. OpenGL Punkt definieren: Gra. IF. DirectX glVertex3f(0.0f, 0.0f, 0.0f); Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle OpenGL 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

Grafikschnittstelle OpenGL 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 Ergebnis: rotes Dreieck Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle OpenGL 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 Grafikengines glRotatef(winkel, x, y, z); IF für Grafikengines Rotiert um entsprechende Achse Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX ComGraphik DirectX vs. OpenGL 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 Grafikengines IF für Grafikengines Sicherheit für Programmierer für Lauffähigkeit unter allen Windows-Systemen Gra. IF. OpenGL Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX ComGraphik DirectX vs. OpenGL 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

Grafikschnittstelle DirectX ComGraphik DirectX vs. OpenGL 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 -> Unterstützung für Netzwerkverbindungen Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX ComGraphik DirectX vs. OpenGL 13.07.2005 Grafikschnittstelle DirectX Direct3D Geometrietransformationen (Bewegung, Skalierung,Rotation) Beleuchtung Texturierung DirectDraw Direkter Zugriff auf Grafikkarte und Bildspeicher Grafikengines Schnelles Verschieben zwischen Grafikkarte und Hauptspeicher 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

Grafikschnittstelle DirectX ComGraphik DirectX vs. OpenGL 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 Grafikengines Device einstellen D3DDEVTYPE_HAL 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

Grafikschnittstelle DirectX 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 Grafikengines Welche Grafikkarte verwenden IF für Grafikengines Gra. IF. OpenGL Gra. IF. DirectX D3DDEVTYPE_HAL Unterschiede DX & OGL Hardwarebeschleunigung benutzen Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX 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 Grafikengines IF für Grafikengines Gra. IF. OpenGL Dreiecksstreifen -> Punkte werden der Reihe nach als breiter Streifen aus Dreiecken dargestellt Gra. IF. DirectX Unterschiede DX & OGL Prog.Bsp. OpenGL Prog.Bsp. DirectX Fazit Patrick Schmid Christian Piwecki 12.Info

Grafikschnittstelle DirectX 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

Grafikschnittstelle DirectX 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

Grafikschnittstelle DirectX 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

Grafikschnittstelle DirectX 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

Unterschiede DirectX & OpenGL 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

Programmierbeispiel Würfel OpenGL 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

Programmierbeispiel Würfel OpenGL 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

Programmierbeispiel Würfel OpenGL 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

Programmierbeispiel Würfel OpenGL 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

Programmierbeispiel Würfel DirectX 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

Programmierbeispiel Würfel DirectX 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

Programmierbeispiel Würfel DirectX 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

Programmierbeispiel Würfel DirectX 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

Programmierbeispiel Würfel DirectX 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

Programmierbeispiel Würfel DirectX 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

Programmierbeispiel Würfel DirectX 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

Gleichwertige Ergebnisse 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 IF für Grafikengines Tendenziell mehr Software (SPIELE) unter DirectX als unter OpenGL 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 ?