Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

11

08.02.2010, 23:18

jemanden unte rden hobbyprogrammierern, der meint ihm reicht directX 9 nicht aus soll bitte vortreten. es reicht 9 vollkommen aus, um sehr viele geile effekte zu realisieren. directX 9 ist sehr weit verbreitet, alle ab windows 2000 können es nutzen und auch sogar windows vista und windows 7 nutzer überraschenderweise.

BlazeX

Alter Hase

Beiträge: 478

Wohnort: DD

Beruf: Maschinenbau-Student

  • Private Nachricht senden

12

08.02.2010, 23:39

Ich hab den Selbstversuch gestartet und bin von D3D9 auf D3D11 umgestiegen. Der Unterschied zwischen D3D9 zu D3D10 ist ziemlich gewöhlnungsbedürftig und erfordert viel Gewöhnung. Von D3D10 zu D3D11 ist es dann garnicht mehr so viel. Da kommen halt nur neue Features hinzu und diese DeviceContext-Geschichte.

Jedenfalls ist der Programming Guide aus dem SDK sehr empfehlenswert. Ich lese den 10er und den 11er. Der 10er erklärt die Gundlagen des "neuen Systems" und der 11er eben die 11er Ausführung mit den neuen Möglichkeiten. Größtenteils ist aus den Namen mit einer 10 nur der gleiche Name mit einer 11 geworden. Es gibt also nicht so viele Unterschiede.

Und die DX11 Features kann man eh nur mit dem Reffi anschauen. Aber das ist nicht so berauschend. Da ich eine 9800 GX² habe, benutze ich von Anfang an das Feature Level 10_0.
Das kann man individuell anpassen.

Diese Enumerationsgeschichte (Adapter, Auflösung) wurde unvollständig in einen neuen Teil geschoben: DXGI. Damit kann man Adapter (=GPU), Output (=Monitor), Videomodes (=Auflösung+RefreshRate+Bauschaum).
Wenn man das hat, kann man sich anhand der Adapters ein Dummy-Device erstellen und die MSAA Counts und Qualities auflisten.
Anisotropische Filterung gibt es jetzt festgelegt bis zu 16fach.

DXGI ist praktisch dafür da, das Bild im BackBuffer auf den Monitor (mit oder ohne Fenster) zu bringen.
Direct3D verwaltet die Resourcen (Device) und ist fürs Rendern zuständig (DeviceContext).
Dein Programm initialisiert D3D korrekt (ist ein Kunstwerk - schlimmer als damals D3D9).

Ich für meinen Teil habe die Enumeration hinter mir. Jetzt geht's ans Initialisieren - bin auch schon fast fertig. Mein "Augenkrebsbeschleuniger" läuft jedenfalls schon.

Was mit immernoch Sorgen bereitet ist diese ResourceView und Bind Geschichte. Da braucht man für nen simplen VertexBuffer: einen Universalbuffer, einen Bufferview um ihn überhaupt nutzen zu können, zich Descs um mal was zu setzen oder zu erstellen. Hör mir auf! Und dann kommt auch noch der IndexBuffer hinzu. Ich freu mich jetzt schon auf meine neue Modellklasse!

Wenn ich mir das jetzt so überlege, war D3D9 komfortabler und irgendwie schöner. Gut, man hat überall auf die Caps achten sollen. Aber entweder es läuft oder halt nicht. Was spielt das im Hobby-Bereich für eine Rolle?