DirectX/C++ 3D-Engine-Programmierung: Lernen Sie jetzt, oder warten Sie für DirectX 12?
Ich bin noch relativ ok-ish-Programmierer, aber mein Hauptaugenmerk wurde in der Entwicklung von Anwendungen mit C# so weit. Ich habe fast null Erfahrung mit Spiele-Entwicklung und 3d-engines - ich habe zu Lesen begonnen, wie 3d-Engines arbeiten im Allgemeinen, z.B. es war ein wunderbarer guide, zu erklären, wie die Entwicklung eines sehr einfachen software-basierten 3D-engine in C#. Sehr hilfreich, aber das ist ziemlich viel fasst meine ganze Erfahrung mit dem Thema.
Auch habe ich bisher nicht wirklich die Arbeit mit C++ viel, so weit (obwohl ich bin mir bewusst, der die grundlegenden konzeptionellen Unterschiede zu C# und würde erwägen, bis mindestens eine "ausreichende" Geschwindigkeit in dieser Sprache überschaubar).
Also trotzdem, aus reinem persönlichen Interesse, ich würde gerne spielen, um mit der Entwicklung - oder vielmehr, zu lernen, wie zu entwickeln, - einfache DirectX-basierte 3d-Grafik-Engines für pädagogische Zwecke.
Ich bin einfach nur interessiert in den Grafiken Teile (kein sound/animation/game-Staaten/networking oder was auch immer, nur sehr rudimentär Eingang). Bei der Wiedergabe einige einfache geometrie, und dann schrittweise zu lernen, wie erweitern diese mit moderner Beschattung Techniken wäre in Ordnung.
Fand ich schon einige große Ressourcen für diese. Aber bevor ich tief in das Thema: ich weiß DirectX12 ist um die Ecke, und zu sehen, wie viel es scheint sich das system, ich bin mir wirklich nicht sicher, ob es gehen zu viele wichtige änderungen am API. Oder in anderen Worten: ich habe Angst, dass ich anfangen, zu lernen, DirectX 11 Zeug jetzt, und in ein paar Monaten werden Sie alle werden nutzlos, da DirectX 12 arbeitet in einer wesentlich unterschiedlichen Art und Weise, vom Standpunkt der Programmierung.
Ich bin mir nicht sicher, wie viel von dem bereits bekannt ist, oder wenn es gibt Entwickler vorherigen breiten öffentlichkeit zugänglich zu schon. Aber, wenn möglich, seine schon sagen: Würde Euch empfehlen, mich warten auf DX12, oder beginnen Sie mit der v11, da die Entwicklung sehr ähnlich sein wird in der Zukunft sowieso?
Für das Protokoll, ich weiß natürlich, dass lernen DX11 wird nicht Schaden, in jedem Fall. Aber ich bin nicht in Eile, und wenn die Hälfte dessen, was ich lernen jetzt veraltet, in ein paar Monaten würde ich es vorziehen, einfach nur zu warten, bis dann langsam loszulegen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Denke DX12 als "DirectX ohne Stützräder, ohne Bremsen, und im moment vielleicht ohne Reifen".
Wird es mehr als ein 'paar Monate' für DirectX 12 haben eine reiche Reihe von tutorials, support-Bibliotheken, best practices, rock-solid-Treiber, und der weit verbreiteten Unterstützung in das Betriebssystem auf Endbenutzer-Maschinen. Es ist "Anschnitt-Rand" rechts jetzt, und am besten verbraucht die GPU-Grafik-Programmierung-Experten, die aktiv an der Titel und die Motoren von heute, die wollen, um sicherzustellen, es funktioniert alles.
Für alle anderen, lernen, DirectX-11-zumindest für das nächste Jahr oder so, und möglicherweise länger, je nach den Bedürfnissen Ihrer app, die Ihren persönlichen Fähigkeiten und den Fokus von dem, was Sie versuchen zu lernen, in der Zwischenzeit.
Was ich sagen kann ist, dass das lernen zu Programmieren, DirectX 11 mit der älteren DirectX-SDK Sachen wie D3DX ist eine Sackgasse für DX12. Konzentrieren Sie sich stattdessen auf DirectX 11 mit der 'moderne' Helfer wie DirectX-Tool-Kit und DirectXMath für C++.
UPDATE: DirectX-Tool-Kit für DirectX 12 ist jetzt verfügbar zusammen mit einigen tutorials. Das heißt, es ist am besten zu lernen, Direct3D, 11 zunächst als Direct3D 12 ist eine API, konzipiert für den Grafik-Experten und ist ziemlich nachtragend, für Neulinge.
Meiste, was Sie lernen, mithilfe von DirectX 11 werden angewendet, wenn Sie wechseln auf die version 12.
In der Tat, für Ihre Zwecke, man kann nicht immer wechseln müssen. DirectX 12 im wesentlichen trades aus einfach zu verwenden und CPU-Leistung. Es erfordert auch Windows 10, es wird also mehr sein, als nur ein paar Monate, bevor es zu weit verbreitet.
DirectX 9 ist immer noch weit verbreitet für, Spiele zu machen, trotz seines Alters. Ich würde nicht empfehlen es wenn Sie von vorne anfangen, obwohl.
Oh, und was auch immer Sie tun, wählen Sie nicht DirectX 10. DirectX 11 können alles tun, die gleichen Dinge auf die gleiche Grafik-Karten und Betriebssystemen.