Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Direct X9 vs Direct Xx PowerPoint Presentation
Download Presentation
Direct X9 vs Direct Xx

Direct X9 vs Direct Xx

90 Views Download Presentation
Download Presentation

Direct X9 vs Direct Xx

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Direct X9 vs Direct Xx Seminarvortrag von Dennis Jähnert Sommersemester 2003 Prof. Dr. Klement, Prof. Dr. Kneisel

  2. Inhalt des Vortrags • Einleitung • Die Komponenten von DirectX • Installation und De-Installation von DirectX • Vertex- und Pixel Shader • DirectX 9.0 • Grafikkarten und DirectX 9.0 • 7.Fazit

  3. 1. Einleitung Was verbirgt sich hinter dem Namen DirectX ? • Medientechnologie von Microsoft für das Betriebssystem Windows • Zusammenfassung von mehreren Komponenten (Schnittstellen) • Professionelle Entwicklung von interaktiven Anwendungen • Einfaches und direktes Ansprechen der Multimedia-Hardware

  4. 1. Einleitung Die Geschichte von DirectX • DirectX wurde 1995 von Mircosoft eingeführt • Sollte die Nachteile von Windows zu DOS beseitigen • Vorteile von Windows voll ausnutzen • Dem Ruf nach Programmierstandarts nachkommen

  5. 1. Einleitung Die Geschichte von DirectX MS-DOS: - „Single Task“ Betriebssystem - Betriebssystem und Anwendung haben die gleichen Speicherrechte - Vorteil: direkter Hardwarezugriff  hohe Performance - Nachteil: neue Hardwareinstallation (für neue Grafikkarte  neuer Treiber für jedes Programm) Windows: - „Multitasking“ Betriebssystem - zentrale Ressourcenverwaltung - einfache Installation von Hard- und Software (nur noch ein Treiber vom Hersteller für alle Anwendungen) - kein direkter Hardwarezugriff möglich  hoher Leistungsverlust - Spiele anfangs nur für MS-DOS-32-Bit Modus geschrieben

  6. 1. Einleitung Die Geschichte von DirectX Kleines Beispiel für diesen Leistungsverlust: Die Farbe eines Buchstaben soll von blau nach weiß geändert werden. DOS: - im Grafiktreiberprogramm einfach die entsprechenden Bits ändern und direkt in den Bildspeicher schreiben (wenige Maschinenbefehle) Win: - Das Zeichen muss komplett neu ausgegeben werden - Dafür notwendig Font-Manager, Fenster-Manager und verschiedene Zeichenroutinen (mehrere tausend Maschinenbefehle)

  7. 1. Einleitung Die Geschichte von DirectX • Ein weiteres Problem kam mit der schnellen Hardwareentwicklung • Vor 5 Jahren trug die CPU noch die ganze Rechenarbeit eines Spiels • Grafikkartenhersteller brachten Karten mit GPU auf den Markt (Bsp.: Matrox Mystique, 3DFX Voodoo I und Elsa Victory) • Für jede Grafikkarte eigene Version des Spieles • Drei Programmierstandarts entwickelten sich: • 1. Open GL • 2. DirectX • 3. DFX Gilde

  8. Inhalt des Vortrags • Einleitung • Die Komponenten von DirectX • Installation und De-Installation von DirectX • Vertex- und Pixel Shader • DirectX 9.0 • Grafikkarten und DirectX 9.0 • Fazit

  9. 2. Die Komponenten von DX • Grafikkartenkomponenten - Direct Draw - Direct 3D - Direct Video • Soundkartenkomponenten - Direct Sound - Direct Music • Direct Input • Direct Setup • Direct Media - Direct Show - Direct Play - Direct Animation

  10. 2. Die Komponenten von DX Grafikkartenkomponenten: • Direct Draw - Fundament für andere DirectX Komponenten - Flacker- und zerrfreie Grafik durch Seitenumschaltung - Zugriff auf spezielle Grafikprozessoren - Speicherverwaltung für den Bildschirm • Direct 3D - Schnittstellen für dreidimensionales Rendering auf Soft- und Hardwareebene • - Transformation Module  sorgt für die Berechnung von 3D-Objekten • - Lightning Module    korrekte Beleuchtung von Objekten • - Raster Module   belegt Objekte mit Texturen und berechnet das Bild • - 2 verschiedene Programmiermodi: • - Retained Mode (komplette Grafikengine) • - Immediate Mode (nur Funktionen zur Ansteuerung der Grafikhardware) • Direct Video - Einbindung von Videosequenzen in Anwendungen

  11. 2. Die Komponenten von DX Soundkartenkomponenten: • Direct Sound - Sorgt für Stereo und 3D-Sound - Sehr geringe Latenz - Speicherverwaltung der Soundkarte - Mehrere Soundquellen mischen - Aufnahme von Sound • Direct Music - Arbeitet unmittelbar mit der Direct Sound Komponente zusammen - Wave-Streams können z.B. aus Midi-Dateien mittels Soft- oder Hardware Synthesizer erzeugt werden

  12. 2. Die Komponenten von DX • Direct Input - Vorgesehen für das Programmieren von Eingabegeräten - Ebenfalls kurze Latenzzeiten - Unterstützt auch Eingabegeräte, wie Force Feedback Joysticks • Direct Setup - Automatisiert die Installation und Aktualisierung der anderen DirectX Komponenten

  13. 2. Die Komponenten von DX Direct Media • Direct Show - Abspielen von Video-Streams aus Dateien oder dem Internet - die Aufnahme von Videosequenzen über entsprechende Videokarten • Direct Play - Schnittstelle zu Computernetzen - Synchronisation, Organisation, Spielstart • Direct Animation - Animationen, Streams und die Integration verschiedener Medientypen - Anwendung auch bei Web-Animationen und in dynamic HTML

  14. Inhalt des Vortrags • Einleitung • Die Komponenten von DirectX • Installation und De-Installation von DirectX • Vertex- und Pixel Shader • DirectX 9.0 • Grafikkarten und DirectX 9.0 • Fazit

  15. 3. Installation & De-Installation • Installation: - Immer die neuste Version benutzen und installieren - Jede DirectX Version ist abwärtskompatibel  nicht Downgraden - Tipp: DirectX immer erst am Ende des Einrichten eines PC installieren • De-Installation: - Mircosoft lässt es nicht zu DirectX zu deinstallieren - Nicht ratsam eine ältere Version „drüberzuinstallieren“  Windows GAU - Einige Anbieter bieten Tools zum deinstallieren an • Hier ein paar Tipps zur De-Installation: - Vorher alle wichtigen Dateien sichern - Backup der „Window Registry“ - Die De-Installation von DX nur im abgesicherten Modus von Windows durchführen

  16. Inhalt des Vortrags • Einleitung • Die Komponenten von DirectX • Installation und De-Installation von DirectX • Vertex- und Pixel Shader • DirectX 9.0 • Grafikkarten und DirectX 9.0 • Fazit

  17. 4. Vertex und Pixel Shader Vertex Shader • Was ist überhaupt ein Vertex ? - 3D Szene besteht aus vielen verschiedenen Objekten - Objekte bestehen aus Dreiecken und Polygonen - Fachbegriff für einen Eck- bzw. Stützpunkt eines Dreieckes oder Polygons - Eckpunkte sind mit Linien verbunden  Drahtgittermodell - Ein Vertex enthält viele Informationen (z.B. seine Koordinaten im dreidimensionalen Raum, Gewicht, Textur, Nebel, Normale, Punktgröße und Farbe) - Vertex ist „Atom“ einer 3D-Szene

  18. 4. Vertex und Pixel Shader Vertex Shader • Eckpunkte eines Objektes oder einer kompletten Szene mit speziellen Routinen bearbeiten • CPU wird dadurch kaum belastet • Kein bremsender Datenverkehr zwischen CPU und Grafikkarte • Vertex-Informationen können mit kleinen Programm-Algorithmen verändert werden • Beispiele für Veränderungen: - Gestalt eines Objekts - Bewegungen, Interpolationen, Spiegelungen, Deformationen - Farbwerte, Licht, Texturkoordinaten, Oberflächenerscheinung

  19. 4. Vertex und Pixel Shader Pixel Shader • Übernimmt das Rendering der Pixel • Sichtbaren Bildpunkte (Pixel) eine 3D-Szene werden generiert • Hier werden die Farb- und Lichtinformationen mit Texturdaten kombiniert • Überwachen der Z-Koordinaten • Kombination von Vertex und Pixel Shader  realistische 3D-Gafiken auf Pixelebene darstellen •  Erhöhung des Detailgehalt

  20. Inhalt des Vortrags • Einleitung • Die Komponenten von DirectX • Installation und De-Installation von DirectX • Vertex- und Pixel Shader • DirectX 9.0 • Grafikkarten und DirectX 9.0 • Fazit

  21. 5. DirectX 9.0 Die Vorgänger • Game SDK • DirectX 1.0 • DirectX 2.0 • DirectX 3.0 • DirectX 5.x • DirectX 6.x • DirectX 7.x • DirectX 8.x

  22. Die Vorgänger • Game SDK (Software Development Kit) • Einführung 1994 • Funktionalität war recht bescheiden • Beispiel: Vollbildmodus mit Behandlung der Anwendung als Einprozess-System • DirectX 1.0 • Einführung 1995 mit Windows 95 • Vier Schnittstellen (DirectDraw, DirectInput, DirectPlay und DirectSound)

  23. Die Vorgänger • DirectX 2.0 • Veröffentlichung 1996 • Einführung des Moduls Direct3D • DirectX 3.0 • Erstmalige MMX-Unterstützung • DirectSound  DirectSound 3D • Steuergerätemodul

  24. Die Vorgänger • DirectX 5.x • Direct3D bekam Vertex Buffer • Eingabegeräte mit der Force Feedback Technologie • In Verbindung mit Win98 Hardware 3D-Audio-Beschleunigung • Verbesserte MMX-Unterstützung • Einführung von DirectSetup • DirectX 6.x • Single- Pass Multitexturing, Bump Mapping, Texture Compression, Stancil Buffers • Verbesserte MMX-Unterstützung • AMD 3D NOW-Unterstützung • DirectMusic ab Version 6.1

  25. Die Vorgänger • DirectX 7.x • TnL (Transformation and Lighting) • Vertex Blending • Pixel Shader • Cubic Environment Mapping • Schnittstelle zu Visual Basic • DirectX 8.x • Zusätzliche 3D-Effekte wie Points Sprites • Vertex Shader • DirectPlay Voice • DirectMusic, DirectSound und DirectSound 3D  DirectAudio • DirectInput unterstützt Controller unabhängig vom Spiel

  26. 5. DirectX 9.0 • Mai 2002 erste Beta-Version • Veröffentlichung Weihnachten 2002 • Anfangs nur Webinstaller, später Full-Download

  27. Die Neuerungen Direct3D API • High Level Shader Language (HLSL) C-ähnliche Syntax • Pixel Shader verarbeitet jetzt bis zu 96 Befehle •  aufwendige Farbberechnungen für Materialien • (Haut, Haare oder rostiges Metall) • Vertex Shader • - Programme mit bis zu 256 Befehlen • - Sprünge • - Schleifen • - Unterprogramme •  noch realistischere Figuren mit minimaler CPU-Unterstützung

  28. Die Neuerungen Direct3D API Hochpräzise Gleitkomma-Datenformate • Farbberechnungen vermeiden Farbverfälschungen bis zu • 16-fach überlagerten Texturen • Berechnungen im linearen Farbraum  mehr Kontrolle über Effekte • und deren Genauigkeit

  29. Die Neuerungen Displacement Mapping • grobe Umrisse von Objekten bekommen Höhenprofil •  individuelle Detailsz.B. für Landschaften oder Gesichter • Umstritten bei den Entwicklern  Entzieht einen Teil der Kontrolle über das Endprodukt • Nvidia kündigte Direct X9 Chip GeForceFX ohne Displacement Mapping Einheit an

  30. Die Neuerungen Schnittstellen • Direct-Musik, Direct-Play und Direct-Show sollen • Geschwindigkeitsverbesserungen bringen  Werkzeuge und Assistenten - Verwaltung von Patch- und Polygon-Meshes, DirectX-Media- und MIDI-Objekte • Schnittstelle Visual Studio .NET  solide Basisumgebung für professionelle Grafikanwendungen

  31. Inhalt des Vortrags • Einleitung • Die Komponenten von DirectX • Installation und De-Installation von DirectX • Vertex- und Pixel Shader • DirectX 9.0 • Grafikkarten und DirectX 9.0 • Fazit

  32. 6. Grafikkarten & DirectX 9.0 • ATI hat Nvidia langsam aber sicher überrundet • Ausbau des Vorsprungs durch den Bau von DirectX 9 Chips • ATI  4 Varianten von DirectX 9 Chips (ATI Radeon Chips 9500, 9500 pro, 9700,9700 pro) • Nivdia  GeforceFX ließ auf sich warten • CeBIT 2003: • Radeon 9800er • GeforceFX 5800 ultra

  33. 6. Grafikkarten & DirectX 9.0 Lohnt sich der Umstieg auf DirectX 9.0 Hardware? • Karten sind noch verhältnismäßig teuer • DirectX 9.0-Anwendungen sind noch nicht auf dem Markt (nur Demos) • 3D-Spiele nutzen noch nicht einmal alle Möglichkeiten von DirectX 8.1 aus • Erste Spiele zum Jahreswechsel 2003/2004 • Nochmals ca. 2 Jahre bis Computerspiele DirectX 9.0 voraussetzen

  34. 6. Grafikkarten & DirectX 9.0 Lohnt sich der Umstieg auf DirectX 9.0 Hardware? • Test: DirectX 8.1 gegen DirectX 9.0 • Ernüchternde Ergebnisse • Im Schnitt sind DirectX 9.0-Karten in der Berechnung von DirectX 8.1 Grafiken langsamer • Vorhersehbar, da keine der Benchmarks DirectX 9.0 unterstützt

  35. 6. Grafikkarten & DirectX 9.0 DirectX 8.1 gegen DirectX 9.0 Abb. 3 [20] Benchmark Testergebnisse

  36. 6. Grafikkarten & DirectX 9.0 DirectX 8.1 gegen DirectX 9.0 Abb. 4 [20] Benchmark Testergebnisse

  37. 6. Grafikkarten & DirectX 9.0 DirectX 8.1 gegen DirectX 9.0 Abb. 5 [20] Benchmark Testergebnisse

  38. Inhalt des Vortrags • Einleitung • Die Komponenten von DirectX • Installation und De-Installation von DirectX • Vertex- und Pixel Shader • DirectX 9.0 • Grafikkarten und DirectX 9.0 • Fazit

  39. 7. Fazit • DirectX 9.0 solide Entwicklungschnittstelle • Vereinfachte Programmiertechniken (Entwickler) • Neuerungen an Vertex- und Pixel Shader ist viel zu erwarten  Noch realistischer Computerspiele • Sicherlich nicht die letzte Version (Anpassung an die Hardware) • Beim Kauf von DirectX 9.0 Hardware ein wenig warten (relativ teuer, keine Anwendungen, Spiele erst zum Jahresende) • Aber morgen sieht alles vielleicht ganz anders aus!

  40. Vielen Dank für Ihre Aufmerksamkeit !