Microsoft, Direct3D 9 komutlarını Direct12D 3'ye çevirmek için kullanılan D9D3On12 katmanının kaynak kodunu yayınladı.

Microsoft'tan müjdeli haber geldi ve bu son zamanlarda bilinir kıldı bir blog yazısı aracılığıyla D3D9On12 katmanının kaynak kodunu açma Direct3D 9 (D3D9) komutlarını Direct3D 12 (D3D12) komutlarına çeviren DDI (Aygıt Sürücü Arayüzü) aygıtının uygulanmasıyla.

Microsoft'un bu hamlesi, geliştiricilerin oyunları için DirectX11'den DirectX12'ye geçişini artık hiç olmadığı kadar kolaylaştıracak. DX12 çeviri katmanı, temel olarak, grafiksel kavramları ve komutları DX11 tarzı bir etki alanından bir DX12 stili etki alanına çevirmek için bir yardımcı kitaplıktır.

D3D9On12 haritalama katmanından en son bahsettiğimizden bu yana epey zaman geçti. Hızlı bir güncelleme olarak, D3D9 komutlarını D3D12 Aygıt Sürücüsü Arabirimi (DDI) olarak işlev gören D3D9'ye eşler. Bu eşleme katmanına sahip olmak, eski D3D9 uygulamalarının D3D9 sürücüsü olmayan modern sistemlerde çalışmasına olanak tanır. Son blog gönderisinden bu yana, Alpha to Coverage uzantıları için destek ekledik, bazı hataları düzelttik ve açık kaynak kod tabanını temizledik.

Bu şüphesiz iyi bir haber ve katmanla çalışan çeşitli projeler artık yararlanabilir, çünkü eski uygulamaların yalnızca D3D12'yi destekleyen ortamlarda çalışmasına izin verir, yani örneğin bu, projelere dayalı olarak D3D9'u uygulamak için faydalı olabilir vkd3d ve VKD3D-Protonçünkü bunlar, Linux için D3D12 çağrılarını Vulkan grafik API'sine çevirerek çalışan bir Direct3D 12 uygulaması sunar.

D3D9On12, D3D9'dan D3D12'ye grafik komutları eşleyen bir katmandır. D3D9On12, D3D9 API'sinin bir uygulaması değil, daha çok D3D9 DDI (Aygıt Sürücü Arayüzü) kullanıcı modunun bir uygulamasıdır. Bu, d3d9.dll adlı bir ikili dosya olmadığı, bunun yerine d3d9on12.dll olduğu anlamına gelir.

Bir uygulama bir D3D9 cihazı oluşturduğunda, yerel bir D3D9 cihazı yerine D12D3On9 cihazı olmayı seçebilirler. Bu olduğunda, d3d9on12.dll, D3D9 çalışma zamanı tarafından yüklenir ve başlatılır. Uygulama render komutlarını çağırdığında, D3D9 bu komutları doğrulayacak ve ardından bu komutları DDI D3D9'a dönüştürecek ve herhangi bir D3D9 sürücüsü gibi D12D3On9'ye gönderecektir.

D3D9On12 bu komutları alacak ve D3D12 çalışma zamanı tarafından ayrıca doğrulanan, isteğe bağlı olarak D3D12 hata ayıklama katmanı da dahil olmak üzere, daha sonra D3D12 DDI'ya dönüştürülen ve D3D12 sürücüsüne gönderilen D3D12 API çağrılarına dönüştürecektir.

Ayrıca bahsedilmektedir proje, Windows 10'da bulunan benzer bir alt sistemin koduna dayanmaktadır. D3D9On12 kodunun yayınlanmasının bir fırsat sağlayacak Böylece topluluk temsilcileri hata düzeltmelerine katılmak ve optimizasyonlar eklemek, ve ayrıca D3D9 DDI sürücülerinin uygulanmasını incelemek için bir örnek ve D3D12'deki çeşitli grafik API'lerinin çevirileri için bu tür katmanları oluşturmak için bir çerçeve olarak hizmet edebilir.

Neden açık kaynak?
D3D9On12, birkaç yıldır Windows 10'un bir parçası ve bu süre zarfında kararlılık ve kullanılabilirlik açısından büyüdü. Açık kaynak yapın:

Topluluğun ek hata düzeltmelerine veya performans iyileştirmelerine katkıda bulunmasına izin verin.
D3D12TranslationLayer'ın nasıl kullanılacağına dair başka bir örnek teşkil eder
ilgilenenlere bir D3D9 DDI uygulamasının nasıl göründüğüne bir göz atın

Aynı zamanda, DXBC dosyalarını imzalayabilmeyi sağlayan bir DXBC İmzalayıcı paketi yayınlandı. üçüncü taraf araç setleri tarafından keyfi olarak oluşturulur. D3D9On12, gölgelendiricileri yeni bir modele dönüştürerek oluşturulan DXBC'leri imzalamak için bu paketi kullanır.

Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsan, Microsoft'un kendi blogunda yaptığı yayının detaylarını inceleyebilirsiniz. Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.