In diesem Beitrag haben wir einige gute Nachrichten für Microsoft-Entwickler – der Translation Layer ist jetzt Open Source. Dies macht es für Entwickler einfacher denn je, von DirectX11 auf DirectX12 für ihre Spiele umzusteigen. Der DX12-Translation Layer ist im Wesentlichen eine Hilfsbibliothek zur Übersetzung von Grafikkonzepten und Befehlen von einer Domain im DX11-Stil in eine Domain im DX12-Stil. Zusätzlich haben sie auch die offene D3D11on12, einen Mapping-Layer, welcher Grafikbefehle von DX11 auf DX12 abbildet.
Warum werden Mapping Layer verwendet? Damals, während der Entwicklung von Windows 10 und DX12, hatte das Windows-Grafikteam einen großen Satz von DX11-Inhalten, die während des Designs und der Implementierung von DX12-Laufzeit- und Treibermodellen verwendet wurden. Um diesen Inhalt zu nutzen, entwickelten sie den Mapping-Layer D3D11onD12. Da dies so erfolgreich war, schufen sie einen weiteren Mapping-Layer, D3d9on12. 11On12 wurde anschließend in zwei Teile refaktorisiert:
- Implementierung von DX11-spezifischen Konzepten.
- Übersetzung traditionellerer Grafikkonstrukte in einen Low-Level-DX12-API-Consumer.
Dieser letzte Teil wurde zum DX12 Translation Layer. Zudem wird der Code derzeit von den D3D11on12- und D3D9on12-Mapping-Layer als Teil von Windows verwendet.
Der nächste Teil bringt Ihnen mehr Klarheit:
Was bedeutet dies für Entwickler.
- Das bedeutet, dass der Übergang von DirectX11 bei der Portierung bestehender Arbeiten auf DirectX12 viel schneller erfolgen wird.
- Entwickler können ihren eigenen Mapping-Layer aus Grafiken erstellen oder die API auf DX12 berechnen, indem sie einen IHV DX12-Treiber mit einem benutzerdefinierten DX12-Wrapper verwenden.
- Die Entwicklung auf dem DX12 Translation Layer kann potenziell auch viel schneller erfolgen, da eine größere Community von Entwicklern wieder zu Windows beitragen kann, wobei Verbesserungen in zukünftige Versionen von Windows 10 implementiert werden.
Der Grund dafür ist, dass Microsoft erkannt hat, dass der Translation Layer Probleme lösen kann, die nicht nur bei 11on12 und 9on12 auftreten. Zudem fehlt es momentan an Entwicklern, die von DX11 auf DX12 umsteigen.
Sie können sowohl den D3D12 Translation Layer als auch D3D11on12 auf GitHub sofort herunterladen.
Vielen Dank für Ihren Besuch.