„Microsoft“ išleido D3D9On12 sluoksnio, naudojamo „Direct3D 9“ komandoms išversti į „Direct3D 12“, šaltinio kodą

„Microsoft“ paskelbė gerų naujienų ir tai yra neseniai paviešino per tinklaraščio įrašą atidarant D3D9On12 sluoksnio šaltinio kodą diegiant DDI (Device Driver Interface) įrenginį, kuris „Direct3D 9“ (D3D9) komandas paverčia „Direct3D 12“ (D3D12) komandomis.

Šis „Microsoft“ žingsnis dabar leis kūrėjams lengviau nei bet kada pereiti iš „DirectX11“ į „DirectX12“ savo žaidimams. DX12 vertimo sluoksnis iš esmės yra pagalbinė biblioteka, skirta grafinėms sąvokoms ir komandoms išversti iš DX11 stiliaus domeno į DX12 stiliaus domeną.

Praėjo nemažai laiko, kai paskutinį kartą paminėjome D3D9On12 kartografavimo sluoksnį. Kaip greitas atnaujinimas, jis susieja D3D9 komandas su D3D12, veikiančia kaip D3D9 įrenginio tvarkyklės sąsaja (DDI). Turint šį atvaizdavimo sluoksnį, senesnės D3D9 programos gali veikti šiuolaikinėse sistemose, kuriose gali nebūti D3D9 tvarkyklės. Nuo paskutinio tinklaraščio įrašo prie aprėpties plėtinių pridėjome „Alpha“ palaikymą, ištaisėme kai kurias klaidas ir išvalėme atvirojo kodo kodo bazę.

Tai neabejotinai gera žinia ir tai yra Įvairūs su sluoksniu dirbantys projektai dabar gali būti naudingi, nes tai leidžia senoms programoms veikti aplinkoje, kuri palaiko tik D3D12, tai yra pavyzdžiui, tai gali būti naudinga įgyvendinant D3D9 pagal projektus vkd3d ir VKD3D-Protonnes jie siūlo „Direct3D 12“ diegimą „Linux“, kuris veikia išversdamas D3D12 skambučius į „Vulkan“ grafikos API.

„D3D9On12“ yra sluoksnis, vaizduojantis grafines komandas nuo D3D9 iki D3D12. „D3D9On12“ nėra D3D9 API diegimas, o veikiau D3D9 DDI (įrenginio tvarkyklės sąsaja) vartotojo režimo įgyvendinimas. Tai reiškia, kad tai nėra dvejetainė programa, vadinama d3d9.dll, ji vadinama d3d9on12.dll.

Kai programa sukuria D3D9 įrenginį, ji gali pasirinkti D3D9On12 įrenginį, o ne vietinį D3D9 įrenginį. Kai tai atsitiks, d3d9on12.dll įkeliamas vykdant D3D9 ir inicijuojamas. Kai programa iškviečia atvaizdavimo komandas, D3D9 patvirtins šias komandas, tada konvertuos šias komandas į DDI D3D9 ir išsiųs į D3D9On12, kaip ir bet kuri D3D9 tvarkyklė.

„D3D9On12“ imsis šių komandų ir konvertuos jas į D3D12 API iškvietimus, kuriuos toliau patvirtina „D3D12“ vykdymo laikas, pasirinktinai įtraukiant D3D12 derinimo sluoksnį, kurie vėliau konvertuojami į DDI D3D12 ir siunčiami į D3D12 tvarkyklę.

Taip pat minima, kad projektas grindžiamas panašaus posistemio kodu, įtrauktu į „Windows 10“. Pažymėtina, kad kodo D3D9On12 paskelbimas suteiks galimybę kad bendruomenės atstovai dalyvauti taisant klaidas ir pridedant optimizavimą, jis taip pat gali būti pavyzdys, kaip ištirti D3D9 DDI tvarkyklių diegimą ir sistemą, leidžiančią sukurti tokius sluoksnius įvairių grafinių API vertimams D3D12.

Kodėl atviro kodo?
„D3D9On12“ jau kelerius metus yra „Windows 10“ dalis ir per tą laiką išaugo stabilumas ir patogumas. Padarykite jį atviru kodu:

Leiskite bendruomenei prisidėti prie papildomų klaidų taisymų ar našumo patobulinimų.
yra dar vienas D3D12TranslationLayer naudojimo pavyzdys
sudomintiems pasižiūrėkite, kaip atrodo D3D9 DDI diegimas

Tuo pačiu metu buvo išleistas „DXBC Signer“ paketas, leidžiantis pasirašyti DXBC failus savavališkai sukurtas trečiųjų šalių įrankių rinkinių. „D3D9On12“ naudoja šį paketą pasirašyti DXBC, sukurtus konvertuojant šešėlius į naują modelį.

Pagaliau jei norite sužinoti daugiau apie tai, galite patikrinti išsamią publikacijos, kurią „Microsoft“ paskelbė savo tinklaraštyje, informaciją Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.