2013-03-06 24 views
11

Ich weiß, es gibt mehrere Themen zu dieser Frage, aber ich möchte angeben, was ich suche.Learning DirectX im Jahr 2013

So lernte ich OpenGL und bekam die Grundlagen von Shadern (programmierbare Pipeline), Vertex-Puffer, Index-Puffer, alle zusammen sogenannten "Modern OpenGL".

Ich bin interessiert, ob ein solcher Begriff für DirectX existiert.

Es gibt verschiedene Meinungen darüber, welche DirectX-Version zu wählen ist. 9 läuft auf fast allen Windows-PCs, während 11 auf neuere GPUs und Windows Vista + beschränkt ist.

Meine GPU unterstützt 9, während mein OS 11 unterstützt. Sollte ich Software Accelerated 11 oder Hardware Accelerated 9 wählen?

Ist DirectX9 so etwas wie veraltetes OpenGL? Also, wenn ich DirectX9 anstelle von 11 lerne, ist es verschwendete Zeit oder ist es brauchbar? Mit anderen Worten. Bietet DirectX9 was moderne OpenGL bietet?

Wenn ja, welche Quellen (Tutorials/Bücher/Videos) sollte ich verwenden, um die grundlegenden Fähigkeiten der Verwendung von Shadern, Puffer usw. in DirectX zu bekommen? Zum Beispiel habe ich in einem Tutorial folgende Zeile gefunden: d3dDevice-> BeginScene(); Und es hat mich sehr an veraltete OpenGL erinnert. Ich möchte nicht das neueste DirectX lernen, aber ich möchte einen guten Trade zwischen Kompatibilität und modernen Konzepten machen.

In einem anderen Thread fand ich dieses Buch: http://www.amazon.com/dp/1598220160/?tag=stackoverfl08-20

Aber Iam ein wenig Angst, wenn ich meine Zeit auf veralteten alten Sachen verschwenden.

Um zusammenzufassen, brauche ich etwas Hilfe, ich kann wirklich nicht ein Bild von dem Weg zu gehen.

Ich hoffe, Sie bekommen meine Punkte.

Antwort

8

Ich würde Ihnen empfehlen, die DirectX SDK June 2010 herunterladen.

In DirectX können Sie auswählen, welche Version von DirectX Sie beim Erstellen des Geräts verwenden möchten. Machen Sie sich deswegen keine Sorgen.

Dies ist in der D3D11CreateDeviceAndSwapChain in der D3D_FEATURE_LEVEL getan.

Ein Zeiger auf ein Feld von D3D_FEATURE_LEVELs, die die Reihenfolge von Merkmale Ebenen bestimmen, zu schaffen, um zu versuchen.

Ich würde Ihnen empfehlen, das DirectX SDK Juni 2010 herunterzuladen und einige der mitgelieferten Beispiele zu testen. Dann solltest du entscheiden, wie du vorwärts gehen willst.

Für Bücher würde ich Introduction to 3D Game Programming with DirectX 11 oder DirectX 10 oder Directx 9 empfehlen. Für welche Version du dich entscheidest.

+1

Ich werde mit der Version 9.0c des Buches gehen. Vielleicht nicht die professionellste Wahl, aber ich werde sowieso nicht auf High-End-Grafiken abzielen, also sollte 9.0c die Aufgabe erfüllen. – DonCalito

2

Ich würde nicht versuchen, DirectX 11 mit einer CPU zu programmieren, die keine Hardwareunterstützung dafür hat. Es wird alles andere als eine angenehme Erfahrung sein. Stattdessen würde ich entweder eine neue Grafikkarte kaufen (muss nicht sehr teuer sein) oder in DirectX 9 codieren.

Die Rückseite zur Codierung in DirectX 9 ist, dass es sich sehr von 10/11 unterscheidet. Also, 9 zu lernen macht dir wirklich nicht viel, wenn du eines Tages 10/11 lernen willst, außer den echten Grundlagen.