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 Vues Download Presentation
Télécharger la présentation

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 !