Új hozzászólás Aktív témák

  • Abu85

    HÁZIGAZDA

    válasz Egon #34571 üzenetére

    A ray-tracinget egyáltalán nem nehéz leprogramozni. Ez az egyik vonzó tényező a sugárkövetésben. Sokkal nehezebb valamilyen raszterizációs trükköt kialakítani rá. A DXR-nél nem az a nehézség, hogy nem lehet könnyen ray-tracing effektet írni. Ilyet igazából DXR nélkül is lehet csinálni, hiszen a compute shadert ezért hozták létre. A DXR is egy specifikus kiegészítés, ami végeredményben a DirectX 12 DirectCompute felületén fut, vagyis effektíve compute shader. A probléma a Microsoft specifikációja, ugyanis a DirectX 12 a wave programozás szempontjából "mindent vagy semmit" elvet követ. Ergo nem az a DXR nehézsége, hogy írsz pár shadert rá, amit majd az API átalakít compute IR-ré és IHV-specifikus kódokká, hanem az adja a problémát, hogy ebben a módban a rendszer csak DXIL IR-t fogad el, amihez pedig az adott motorba írt összes shadert újra kell írni, ami azért egy jó 300-400 ezer sor egy modern játéknál. Ez a fő oka, amiért az AMD például egy saját megoldást csinált a Vulkan API-hoz, mert szerintük erre a fejlesztők 1%-a ha hajlandó lesz. A Radeon Rays megoldás annyiban más, hogy ott C++-ban kell programozni a sugárkövetést, és a meglévő shaderekhez nem kell hozzányúlni, az Anvil a háttérben mindent elintéz, majdnem plug&play a modell. De ugye náluk meg az a probléma, hogy az Anvil nem egy kiemelten támogatandó projekt az Intel és az NV részéről, tehát ha mondjuk igényel valami olyan AMD kiterjesztést, amit a konkurensek implementációja pont nem támogat, akkor para van és nem fut le az effekt. De leprogramozni ezt sem nehéz, sőt a DXR-rel ellentétben, át sem kell írni több százezer sornyi meglévő kódot.
    A probléma sokkal inkább az, hogy bármelyiket is választja egy fejlesztő, valamilyen szempontból mindkettőnek vannak mélytorkozós részei. És akkor most kinek hiányzik a mai világban beleállni egy mélytorkozásba úgy, hogy DXR-rel kizár mindenkit, aki nem Redstone 5-ös Windows 10-et futtat, vagy Vulkan esetén potenciálisan szopat mindenkit, aki Anvilra nem optimalizál Vulkan implementációt???

Új hozzászólás Aktív témák

Hirdetés