Online-Abo
  • Login
  • Registrieren
Games World
  • DirectX - von den Anfängen bis zur Gegenwart (II)

    Microsofts DirectX ist seit Jahren der de-facto-Standard in Sachen Multimedia-API. Inklusive DirectX 10.1 ist die API bereits über zehnmal aktualisiert und auf den neuesten Stand der Technik gebracht worden. PC Games Hardware wirft einen Blick zurück. Heute im Fokus: DirectX 8.

    Microsofts DirectX Microsofts DirectX Quelle: http://www.microsoft.com Dank kontinuierlichen Ausbaus der Anfangs noch mageren Funktionen, dem Bereitstellen umfangreicher Toolkits als Entwicklungshelfer und der schieren Marktmacht der Redmonder ist DirectX die marktbeherrschende API für 3D- und Multimedia-Anwendungen in der Windows-Welt geworden. Nach der Einführung im ersten Teil unserer DirectX-Reihe informieren wir Sie im heutigen Teil über die Einführung der Pixel- und Vertex-Shader mit DirectX 8.

    Die erste Shader-Ära von 2001 bis Ende 2002 war geprägt vom Kampf Atis um Marktanteile mit der technologisch fortschrittlicheren, aber später erschienenen Radeon 8500, welche mit Pixel-Shader 1.4 bereits die höchste DX8-Ausbaustufe unterstützte. Allerdings kam Sie deutlich später auf den Markt als Nvidias Geforce 3, welche mit Pixel- und Vertex-Shader 1.1 genau auf DirectX 8 zugeschnitten war (oder anders herum). Auch die Geforce 4 MX sorgte in dieser Zeit für Aufsehen, denn im Gegensatz zu dem, was der Name vermuten ließ, handelte es sich nicht um eine Karte, welche DirectX-8-Shader unterstützte.

    Lesezeichen: DirectX-Reihe
    DirectX - von den Anfängen bis zur Gegenwart (I)
    DirectX - von den Anfängen bis zur Gegenwart (II)
    DirectX - von den Anfängen bis zur Gegenwart (III)

    Hinweis: Der folgende Artikel erschien im Original in der PC Games Hardware 01/2001 und wurde lediglich hinsichtlich der Formatierung an das Online-Angebot angepasst, Autoren: Melanie Reul & Thilo Bayer

    Für Spieler und Multimedia-Anwender ist es wichtig, immer die neueste Version von DirectX installiert zu haben. Wir haben vorab schon einmal hinter die Kulissen der Version 8 geschaut und wagen einen Ausblick auf deren praktischen Nutzen.

    LICHTSPIEL Perfekte Oberflächenbeleuchtung wird über die Per-Pixel Schattierung erreicht. LICHTSPIEL Perfekte Oberflächenbeleuchtung wird über die Per-Pixel Schattierung erreicht. Quelle: http://www.pcgameshardware.de Was ist DirectX?
    DirectX ist eine grundlegende Komponente des Betriebssystems Windows und wird von Microsoft ständig weiterentwickelt und verbessert. Meist bemerken Sie diese Komponente gar nicht, so unscheinbar werkelt sie im Hintergrund. Erst wenn Sie ein Spiel installieren, das eine neuere als die auf Ihrem System installierte Version von DirectX benötigt, tritt der Multimedia-Regisseur in das Rampenlicht. Wozu braucht man DirectX eigentlich? DirectX ist eine Sammlung von so genannten APIs (Application Programming Interface), also von Programmier- und Anwendungsschnittstellen. Diese fungieren als Mittler zwischen Anwendung und Gerätetreiber für Hardware wie Sound- oder Grafikkarte. Die neueste Version von DirectX wurde bereits im März dieses Jahres auf der Windows Game Developers Conference in Kalifornien vorgestellt, der Betatest begann allerdings erst ein gutes halbes Jahr später. Für Microsoft eher unangenehm war die Tatsache, dass die komplette Betaversion 146 bereits einige Wochen vorher auf einer Nicht-Microsoft-Seite zum Download zur Verfügung stand. Der Beta-Test läuft zurzeit immer noch, Microsoft hofft jedoch, dass DirectX 8 noch dieses Jahr veröffentlicht wird.

    Direct-X-Box
    Interessant an DirectX 8 ist die Tatsache, dass es ebenfalls die Haupt-Programmierschnittstelle ist, mit der Entwickler an den Spielen für die Xbox von Microsoft arbeiten. Außerdem will Microsoft einmal mehr die einzelnen DirectX-Module so kompakt wie möglich halten, um die vorhandene Hardware direkt und ohne unnötige Zwischenebenen ansprechen zu können. Die größten Änderungen sind in den DirectX-Komponenten für Grafik und Sound zu finden, um den massiven Hardwareneuerungen in diesem Bereich Rechnung zu tragen. Auf das Motto "Aus Zwei mach Eins" setzt Microsoft unter anderem im Audiobereich: Hier werden die beiden Schnittstellen DirectMusic und DirectSound unter DirectX Audio zusammengefasst. Durch den neuen Standard Downloadable Sounds Layer 2 (DLS2) kann der Programmierer synthetische Musik im MIDI-Format und digitale Sounddateien im WAV-Format beliebig miteinander kombinieren und 3D-Effekte beimischen. Ebenfalls hochinteressant ist das Audio Skripting. Hier kann der Entwickler eine eigene Sounddramaturgie im Spiel schaffen, indem er bestimmten Ereignissen die passende akustische Untermalung zuweist.

    DirectX Graphics
    Auch bei der Malerabteilung von DirectX sind Rationalisierungsmaßnahmen angesagt. Die ehemals getrennten Komponenten Direct3D und DirectDraw firmieren nun unter "DirectX Graphics". Revolutionärste Neuerung sind die so genannten "Shaders", welche die von DirectX 7 gewohnten Rechenschritte auf Geometrie- und Renderingebene langfristig ersetzen sollen. Mit ihrer Hilfe kann der Entwickler sehr flexibel bei seinen Programmierbemühungen zu Werke gehen, außerdem können Grafikhardware-Ingenieure relativ einfach Erweiterungen der DirectX-Befehle vornehmen. Neu im DirectX-Graphics-Programm sind volumetrische Texturen für dreidimensionalen Nebel oder Lichteffekte und die Unterstützung von Multi-Sample-Rendering. Letzteres kennt man vom T-Buffer der neuen Voodoo-Generation schon, nun sollen alle Grafikkarten mit entsprechendem Treiber und der nötigen Rechenpower Effekte wie Kantenglättung, Bewegungsunschärfe und Tiefenwirkung hervorzaubern können.

    GESICHTSPFLEGE Mit Keyframe Interpolation (unter anderem vom Radeon unterstützt) werden realistische Gesichtsanimationen Wirklichkeit. GESICHTSPFLEGE Mit Keyframe Interpolation (unter anderem vom Radeon unterstützt) werden realistische Gesichtsanimationen Wirklichkeit. Quelle: http://www.pcgameshardware.de DirectX - von den Anfängen bis zur Gegenwart (II) Quelle: http://www.pcgameshardware.de Von Pixeln und Vertizes
    Die radikalste und dabei auch umstrittenste Neuerung in DirectX 8 sind sicherlich die "Shaders". DirectX 8 kennt zwei verschiedene Formen von Shaders, und zwar die Vertex Shaders auf Geometrieebene und die Pixel Shaders auf Renderingebene. Shaders sind eine bestimmte Folge von Operationen, die auf Ursprungsdaten angewandt werden, und den Multimedia-Befehlssammlungen der Marke MMX, 3DNow! und ISSE nicht unähnlich. Shaders bieten aus Sicht des DirectX-Programmierers vor allem den Vorteil, dass sehr unterschiedliche Effekte Realität werden. So lassen sich mit Hilfe von Vertex Shader problemlos Gesichts- und Körperanimationen erreichen, mit Pixel Shader werden traditionelle Multi-Texturing-Ansätze durch umfangreiche Pixelkombinations-Möglichkeiten ersetzt. Voraussetzung: ordentliche Grafikpower. Um die Pixel-Shader-Plakette von DirectX 8 zu bekommen, muss der Chip mindestens sechs Bildpunktoperationen pro Zyklus durchführen können. Das können bisher nur der GeForce2 GTS, Pro und Ultra sowie der Radeon.

    GELÄNDEGÄNGIG Die Vertex Shaders von DirectX 8 geben dem Programmierer die nötige Flexibilität, um schönere Außenwelten zu gestalten. GELÄNDEGÄNGIG Die Vertex Shaders von DirectX 8 geben dem Programmierer die nötige Flexibilität, um schönere Außenwelten zu gestalten. Quelle: http://www.pcgameshardware.de Dirext...X
    Auch DirectInput wurde einer Kur unterzogen. Bei entsprechenden DirectX-8-Spielen können jetzt Sie Ihre Eingabegeräte nicht nur untereinander kombinieren, sondern sie auch unabhängig von der Spielgattung einsetzen. Wenn Ihr Lieblings-3D-Shooter das neue DirectInput nutzt, dann können Sie jetzt beispielsweise auch Pedale zur Waffenkontrolle einsetzen. Wichtig für Spielerherzen ist die Überarbeitung der Schnittstelle DirectPlay, die bei Multiplayer-Spielen für bessere Übertragungsraten sorgt und das Novum DirectPlay Voice. Mit DirectPlay Voice können sich Spieler in Echtzeit unterhalten - wichtig besonders für taktische Spiele wie Counter-Strike.

    Fazit
    Insgesamt präsentiert sich DirectX 8 bisher schlanker, logischer aufgebaut und besser sortiert. Microsoft ist auf viele Wünsche der Spiele-Entwickler eingegangen und hat neue Features eingebaut. Wer allerdings erwartet, dass allein durch die Installation von DirectX 8 Direct3D-Spiele höhere Frameraten aufweisen, wird leider enttäuscht sein. OpenGL als Konkurrenz-API bleibt weiterhin der Vorteil der Plattformunabhängigkeit und der modularen Erweiterbarkeit auf Ebene des Grafikkartentreibers.
    --

    Zum Abschluss gibt es noch die zeitliche Entwicklung der einzelnen DirectX-Versionen in der Kurzfassung. Wie sie bereits erahnen, beschäftigt sich der folgende Teil der Reihe mit der Einführung der 2.0-Shader unter DirectX 9.

    Die Zeitlinie im Überblick:

    • 1994, Weihnachten: Die ersten Codezeilen werden von Craig Eisler, Alex St. John und Eric Engstrom geschrieben
    • 1995, April: Die DirectX 1 Beta steht rechtzeitig zur CGDC zur Verfügung, eine Ati Mach 64 ist der erste "DirectX-Chip"
    • 1995, 30. September: DirectX 1 ist final und wird veröffentlicht
    • 1996, 5. Juni: DirectX 2 wird veröffentlicht, erstmals ist Direct3D mit von der Partie
    • 1996, 15. September: DirectX 3 erblickt das Licht der Welt
    • 1996, Dezember: Geplanter Release von DX4 für spezielle Features eines verspäteten Mobil-Chips von Cirrus Logic
    • 1997, 16. Juli: DirectX 5 erscheint, am 5.5.1998 folgt DirectX 5.2
    • 1998, 7. August: DirectX 6 samt Multitexturing-Support ist geboren; DX6.1 und 6.1a folgen am 3.2. bzw. 5.5.1999
    • 1999, 22. September: DirectX 7 bringt H-TnL in die Windows-Welt, am 8.3.2000 folgt DX7.0a; 7.1 am 14.09.
    • 2000, 12. November: DirectX 8 und die Geburtsstunde der Shader
    • 2001, 5. Februar: Letzte Chance für Windows 95 mit DX8.0a
    • 2001, 25. Oktober: DirectX 8.1 erscheint für Windows XP, Server 2003 und die Xbox
    • 2002, 19. Dezember: DirectX 9 legt mit Gleitkomma-Unterstützung den Grundstein für moderne Spielegrafik, zahlreiche Updates erscheinen mit DirectX 9.0a, 9.0b, 9.0c.
    • 2006, 30. November: DirectX 10 erscheint und bricht als erste DirectX-Version mit der Abwärtskompatibilität zu mindestens zwei vergangenen Versionen.
    • 2008, 4. Februar: Mit Direct3D 10.1 erscheint im SP1 für Vista ein Update für DirectX 10, welchem sich Platzhirsch Nvidia bis heute verweigert
    • 2008, November: Das DirectX-SDK bringt Unterstützung für DirectX 11 ohne dass passende Hardware verfügbar ist.

  • Stellenmarkt

    Es gibt 14 Kommentare zum Artikel
    Von OctoCore
    Jeder Hinz und Kunz hatte sowas. Und jetzt atmen wir alle tief durch und denken über den tieferen Sinn von DirectX…
    Von exxe
    hätten nVidia und ATi ja auch machen können.3dfx waren ja auch nicht die einzigen, PowerVR und Rendition z.B. hatten…
    Von OctoCore
    Kunststück, wenn man ein API hat, das weiß, was die Hardware glücklich macht. Die Anderen wissen nix von der Hardware,…
    Von exxe
    unreal Engine1also der unterbau für Unreal und UT99Code für Glide: 1500 ZeilenCode für OpenGL: 3500 ZeilenCode für D3D…
    Von OctoCore
    Ich gehe mal davon aus, das bei dem genannten Spiel, immerhin eine Multimillionen-Produktion, darauf Wert gelegt wurde…
      • Von OctoCore Lötkolbengott/-göttin
        Zitat von exxe
        hätten nVidia und ATi ja auch machen können.
        3dfx waren ja auch nicht die einzigen, PowerVR und Rendition z.B. hatten auch eigene APIs


        Jeder Hinz und Kunz hatte sowas.
        Und jetzt atmen wir alle tief durch und denken über den tieferen Sinn von DirectX oder OpenGL nach. Aaaaahhhh!
      • Von exxe Komplett-PC-Aufrüster(in)
        hätten nVidia und ATi ja auch machen können.
        3dfx waren ja auch nicht die einzigen, PowerVR und Rendition z.B. hatten auch eigene APIs
      • Von OctoCore Lötkolbengott/-göttin
        Kunststück, wenn man ein API hat, das weiß, was die Hardware glücklich macht. Die Anderen wissen nix von der Hardware, da geht bestimmt schon eine Menge Arbeit dafür drauf, um vom Treiber die Fähigkeiten abzufragen.
      • Von exxe Komplett-PC-Aufrüster(in)
        unreal Engine1
        also der unterbau für Unreal und UT99

        Code für Glide: 1500 Zeilen
        Code für OpenGL: 3500 Zeilen
        Code für D3D: 7000 Zeilen
        mir fehlt aber leider grad die Quellenangabe dazu

        Glide sah also nicht nur besser aus sondern war auch noch schneller und einfacher um zu setzten.
        wenn wer will hab hier n Glide SDK, knapp 10MB
      • Von OctoCore Lötkolbengott/-göttin
        Zitat von Nasenbaer

        Und wer sagt euch, dass das an den unterschiedlichen APIs lag und nicht daran wie gut diese ausgenutzt wurden? Es kostet immerhin Geld und ne Menge Zeit ein Spiel zu entwickeln. Vielleicht haben sie mit Glide-Support die Porduktion begonnen und D3D erst später mitgenutzt, weil es die Marktlage erforderte. Das ist sicher ein plausible Erklärung warum die Effekte unter Glide besser aussahen als unter D3D.
        Das ist allerdings auch nur eine Vermutung. Rausfinden werden wir das wohl nie.


        Ich gehe mal davon aus, das bei dem genannten Spiel, immerhin eine Multimillionen-Produktion, darauf Wert gelegt wurde, beide APIs angemessen zu bedienen. Ist ja nicht so, dass es von MS dazu keine Hilfe gibt, wenn man mit der API nicht klarkommt. Oder glaubst du, dass MS einen großen Spielehersteller in der Telefonschleife hängen lässt? Die wollen schließlich auch, das ihre API gut aussieht.
        Ich hätte auch noch andere Beispiele auf Lager, aber das erspare ich uns allen.
        Ansonsten sind die Gründe ziemlich egal, wichtig ist, was hinten raus kommt und daran misst der Verbraucher, was taugt oder nicht. Das Gegacker zu Pro und Contra DX9/10/11 zeigt es wohl deutlich genug.
  • Print / Abo
    Apps
    PC Games Hardware 01/2017 PC Games 12/2016 PC Games MMore 01/2016 play³ 01/2017 Games Aktuell 12/2016 buffed 12/2016 XBG Games 11/2016
    PCGH Magazin 01/2017 PC Games 12/2016 PC Games MMORE Computec Kiosk On the Run! Birdies Run
article
685643
Neue Technologien
Microsofts Multimedia-API im Rückblick
Microsofts DirectX ist seit Jahren der de-facto-Standard in Sachen Multimedia-API. Inklusive DirectX 10.1 ist die API bereits über zehnmal aktualisiert und auf den neuesten Stand der Technik gebracht worden. PC Games Hardware wirft einen Blick zurück. Heute im Fokus: DirectX 8.
http://www.pcgameshardware.de/Neue-Technologien-Thema-71240/Specials/Microsofts-Multimedia-API-im-Rueckblick-685643/
31.05.2009
http://www.pcgameshardware.de/screenshots/medium/2009/05/directxlogo.jpg
directx
specials