WikiDer > DirectX 10
DirectX 10 | ||||
| Entwickler | Microsoft | |||
| Betriebssystem | Windows Vista und Windows 7 | |||
| Lizenz | EULA | |||
| ||||
DirectX 10 ist eine Sammlung von APIs das macht es Programmierern leichter Computerspiele zum Programmieren Windows Vista und Windows 7. DirectX 10 ist seit der endgültigen Veröffentlichung von . verfügbar Windows Vista. Windows XP hatte DirectX 9 an Bord. Die Entwicklung von DirectX 10 hat sich hauptsächlich auf die Lösung von Problemen konzentriert, die Programmierer mit den vorherigen Versionen von DirectX und um Geschwindigkeit, Effizienz und Leistung zu steigern.
DirectX 10 wurde abgelöst von DirectX 11.
Das größte Gegenstück von DirectX ist OpenGL.
DirectX 10 wird verwendet, um die Grafikkarte (GPU) einer Grafikkarte.
DirectX 10-APIs
- DirectX Graphics, enthält zwei APIs:
- Direkt zeichnen: für 2D
- Direct3D10 (D3D): für 3D-Grafik
- XEingang: Verarbeitung von Daten von afkomstig Tastatur, Maus, Joystick oder andere Gamecontroller
- DirectPlay: zur Kommunikation über die Netzwerk bei Spielen
- XACT: Wiedergabe und Aufnahme von Wellenformen und 3D-Sounds und 3D-Audioeffekten
- DirectMusic: zum Abspielen von Soundtracks, die im DirectMusic Producer erstellt wurden
- DirektSetup: zum Installieren von DirectX-Komponenten, die noch nicht in die API integriert sind
- DirectX-Medien: Umfasst DirectAnimation, DirectShow, DXVAIDirectX Video Acceleration, Direct3D Retained Mode und DirectX Transform für Animation, Multimedia-Wiedergabe und StreamingProgramme, 3D und die Interaktivität zwischen ihnen
- DirectX-Medienobjekte: Unterstützung für Streaming-Objekte wie Encoder, Decoder und Effekte
DirectX 10 verwendet alle DirectX-APIs (DirectDraw, Direct3D usw.) zusammen, im Gegensatz zu DirectX 9, wo sie unabhängig waren. Diese Kombination von APIs erhöht die Geschwindigkeit von DirectX 10. DirectX ist nicht rückwärtskompatibel kann aber frühere DirectX-Anwendungen (9, 8, ...) in einer Emulationsschicht ausführen, die zuvor als „Windows Graphics Foundation(WGF). DirectX 10 bietet auch Unterstützung für Shader.
Innovation
Geschwindigkeit
Der Grafikchip erledigt mehr Aufgaben eigenständig, sodass der gewöhnliche Prozessor weniger belastet wird. zusätzlich Grafikprozessor (GPU) mit DirectX 10 kann auch für andere Aufgaben aktiviert werden.
DirectX 10 nutzt schneller und komplett neu Dynamisch verknüpfte Bibliotheken (DLLs) zur Leistungssteigerung.
Die Grafikprozessoren (GPUs), die DirectX 10 unterstützen, haben eine fortschrittlichere Struktur und ihre Komponenten sind enger aufeinander abgestimmt. Dadurch können sie komplette Aufgaben ausführen, die traditionell nur von den by Zentraleinheit (CPU) ausgeführt wurden.
Direct3D 10
Direct3D 10: Microsoft arbeitet an einem großen Update der Direct3D-API im Jahr 2007. Der ursprüngliche Name war Windows Graphics Foundation und später DirectX Weiter, aber die API wird jetzt in Direct3D 10 umbenannt und ist Teil von Windows Vista.
Direct3D 10 weicht vom DirectX Graphics 9.0-Treibermodell ab und fügt ein . hinzu Planer und ein virtuelles Speichersystem. Direct3D 10 verzichtet auf die Verwendung von "Capability Bits", um anzuzeigen, welche Funktionen in der aktuellen Hardware aktiv sind. Stattdessen definiert Direct3D 10 einen Mindeststandard an Hardwarefunktionen, die von einem System unterstützt werden müssen, um "Direct3D 10-kompatibel" zu sein. Microsoft gibt an, dass Direct3D Grafiken 10- bis achtmal schneller rendert als DirectX Graphics 9.0. Dies ist bei gleicher Hardware jedoch nie der Fall, Vergleiche kommen oft zum Gegenteil. Darüber hinaus wird Direct3D 10 das Microsoft Shader Model 4.0 enthalten.
High-Level-Shader-Sprache (HLSL) und Shader-Modell 4.0: Schon seit DirectX 8 im Jahr 2000 gab es verschiedene Arten von programmierbaren Shadern. Diese ermöglichten es Entwicklern, das Aussehen der Grafiken nach ihren Wünschen zu ändern, indem sie die "feste Funktionspipeline" überschrieben, die immer die Pixel und Scheitelpunkte zeichnete. Im DirectX 8 dies war nur aufgrund einer bestimmten Syntax möglich. Diese Syntax war kompliziert und wurde von den DirectX-Programmierern kaum studiert. Wenn es rauskommt Directx 9 Diese Syntax wurde verfeinert und die High Level Shader Language (HLSL) geschaffen. Dies ermöglichte es Entwicklern, selbst Shader zu schreiben, die eine ähnliche Syntax basierend auf der Programmiersprache C verwenden. Indem diese Syntax für Entwickler zugänglicher gemacht wurde, wurde die feste Funktionspipeline (FFP) häufiger überschrieben, um selbst Shader zu entwickeln. Dadurch entstand ein Standardmodell für die Shader-Entwicklung, Shader-Modell 3.0. DirectX 10 verwendet eine neuere Version namens Shader Model 4.0, bei der die Anzahl der gleichzeitig ausführbaren Anweisungen unbegrenzt ist. Dies liegt daran, dass unter Windows Vista die Grafikkarte (GPU) wird als gemeinsam genutzte Ressource angesehen, um die Central Processing Unit (CPU) zu entlasten. (Als Beispiel dafür können Endlosschleifen von der GPU verarbeitet werden, ohne dass die CPU andere notwendige Prozesse aufgeben muss, die die Geschwindigkeit des Computers verlangsamen würden).
Das High-Level-Shader-Sprache (HLSL) wurde überarbeitet und beinhaltet nun alle mathematischen, logischen, bitorientierten und Gleichheitsmerkmale Operator die Sie in der Programmiersprache finden können C. Es bietet auch Unterstützung für das neue "Shader Model 4.0".Geometrie-ShaderDiese ähneln den Vertex-zu-Pixel-Shadern, erlauben aber die Grafikkarte (GPU)-Primitive können erstellen, löschen oder ändern. Der Geometrie-Shader befindet sich zwischen dem Vertex- und Pixel-Shader. Der Vertex-Shader konnte nur mit Vertices (3D-Punkte) arbeiten. Der Geometrie-Shader arbeitet mit Polygonen und angrenzenden Polygonen. Das macht die gesamte Grafikpipeline etwas komplexer, um sie in die Hardware zu "gießen", aber viel effizienter. Durch das Arbeiten mit kompletten Polygonen oder sogar vielen Polygonen können einige Berechnungen von der Central Processing Unit (CPU) auf die Graphics Processing Unit (GPU) übertragen werden. Kollisionserkennung und Entfernung unsichtbarer Objekte wurden zuerst von der CPU berechnet und dann weitergeleitet. Jetzt kann die GPU das möglicherweise selbst tun. Die Geometry Shader werden vor dem Pixel Shader und nach dem Vertex Shader ausgeführt. Das Bild zeigt die neue DirectX 10-Pipeline.
XNA
XNA: Microsoft entwickelt dieses Framework, das die Unterstützung der Spieleentwicklung durch Integration erleichtert DirectX, High Level Shader Language (HLSL) und andere Tools in einem Paket.
Es gibt eine schnellere High Dynamic Range-Belichtung (HDR), die die Lichteffekte für grafische Bilder liefert. Neben dieser schnelleren HDR-Belichtung wurden auch die weichen Schatten, das Displacement-Mapping und die dynamischen Pixel-Shader stark verbessert. Ein Nachteil der weichen Schatten ist, dass sie das Bildverhältnis reduzieren. Dynamisches Pixel-Shading zeigt an, dass ein Pixel-Shader Entscheidungen mit WENN-DANN-ELSE-Zweigen treffen kann. Besonders interessant ist das Displacement Mapping, um Reliefs in Gesichtern darzustellen: Dies ermöglicht die Simulation des Muskelgewebes des Gesichts und der Hautfalten.
Kompatibilität
Microsoft vorgeschlagene strenge Anforderungen GPUHersteller mit DirectX 10 kompatibel sein. Es gibt drei optionale Funktionen:
- die Anzahl der Samples für Multisample-Antialiasing
- Mischen 32bisschenGleitkomma Farbziele rendern targets Puffer
- 32bit filtern Textur Formate
Die Absicht ist, Spieleentwickler auf alle Funktionen aufmerksam zu machen, die Grafikkarten um effektivere Spiele zu machen, indem Sie alle Funktionen von DirectX 10 nutzen. DirectX 10 ist ausschließlich über Windows Vista verfügbar, d. h. Computer mit einem anderen Betriebssystem können keine Anwendungen ausführen, die DirectX 10 erfordern. Eine Ausnahme hiervon werden die "Heimkonsolen der nächsten Generation" sein. Habe auch WeinEntwickler planen DirectX 10 in älteren zu implementieren Windows-Versionen.
DirectX 10-Grafikkarten
ATIA und Nvidia, die größten Grafikkartenhersteller, haben Karten herausgebracht, die mit DirectX 10 funktionieren.
Zum Beispiel die Nvidia Die Serien 8 und 9 haben diese Unterstützung. ATIA hat eine DirectX-10-kompatible GPU, den Radeon R600-Chip, der auf der HD2900 (High-End-Modell), der HD2600 (Mittelklasse-Modell) und der HD2400 (Budget-Modell) steckt und bereits draußen ist.
Die Architektur dieser neuen Grafikkarten unterscheidet sich deutlich von ihren DirectX-9-Vorgängern. Dieses neue die Architektur ist damit auf die Multimedia-API DirectX 10 ausgerichtet.
Der G80 verwendet eine 'unified Architecture', was bedeutet, dass es keinen Unterschied mehr zwischen Pixel- und Vertex-Shadern gibt. Die GeForce 8800 GTX ist mit 128 Stream-Prozessoren ausgestattet, die beide Shader-Typen verarbeiten können. Dadurch ist die Leistung der GPU weniger abhängig von der Art der Last als zuvor. Heute können alle neu auf den Markt gebrachten Grafikkarten mit DirectX 10 arbeiten.