Jön a sugárkövetés a Vulkan API-ba is

Ezt ugyan nem a Khronos Group, hanem az AMD szállítja, de az új API-ban megteremtett lehetőségek miatt teljesen szabványos.

Az AMD bejelentette, hogy kiegészítik a Vulkan API-t a sugárkövetéssel, így a Microsoftnak nem kellett sokat várni egy DirectX Raytracing konkurensre. A Khronos Groupnak ugyan az újításhoz nincs közvetlenül köze, de közvetve ők teremtették meg a működés lehetőségét a Vulkan 1.1-es API-n és a SPIR-V 1.3-as reprezentációs felületen belül. Az AMD ugyanis azt csinálta, hogy a korábban megjelent ProRender motor, Radeon Rays nevű alapját (ennek is a 2.0-s verzióját) OpenCL-ről átportolták a Vulkan API-ra, méghozzá az Anvil keretrendszert is bevetve. Ez nem is volt különösebben nehéz, mivel a Khronos Group a Google, a Codeplay, illetve az Adobe közreműködésével kidolgozott egy olyan nyílt forráskódú eszközt, amely lehetővé teszi az OpenCL C nyelv egy nagyobb részhalmazának SPIR-V-re történő fordítását, így az AMD-nek minimális módosítással kellett élnie a kód átalakítása szempontjából.

Az így kialakított, Vulkan API-n futó ProRender gyakorlatilag bevethető a játékfejlesztőknek a tartalmak elkészítésére, vagy akár valós idejű effekt is tervezhető rá, ez mind egyéni preferencia kérdése. A lényeg az, hogy az egész rendszer teljesen jól érzi magát a Vulkan API raszterizációs futószalagja mellett, hasonlóan a DirectX Raytracing és DirectX 12 kapcsolatához. Ezzel pedig technikai értelemben ugyanazt a hibrid leképezési modellt lehet alkalmazni a Microsoft és az AMD megoldásával is, legalábbis addig a pontig, amíg a sugárkövetést a hardverek teljesítménye engedi. Utóbbi lesz igazából a döntő tényező, és ez tényleg nagyon függ attól, hogy ki milyen módon akar építeni az új lehetőségekre.

A Vulkan API-n futó ProRender egyébként – annak ellenére, hogy az AMD szállítja – teljesen szabványos, pont úgy, ahogy a DirectX Raytracing is. Utóbbi ugye DirectCompute API meglétét követeli meg a hardverek felől, míg az AMD megoldása a Vulkan 1.1 API-nak a támogatását. Ha ez megvan, akkor a megírt kód akármilyen gyártótól származó hardveren futni fog.

A DirectX Raytracing és a Vulkan API-n futó ProRender között igazából a legfőbb különbség az, hogy amíg a Microsoft megoldása zárt, és a Windows 10 operációs rendszerhez van kötve, addig a ProRender nyílt forráskódú projekt, valamint minden olyan operációs rendszeren megoldható a futtatása, amelyik támogatja a Vulkan API-t, ezen belül is a legújabb 1.1-es verziót. A GDC-n egyébként kiderült az is, hogy az Apple Mac és iOS operációs rendszereken is elérhető lehet a ProRender hibrid módon történő használata, amint a MoltekVK megoldja a legújabb Vulkan specifikáció kezelését.

A Khronos Groupnak a ProRender nagyon jól jött, ugyanis, ahogy anno a DirectX 12 API-ra, úgy most a DirectX Raytracingre sem volt bekészített válaszuk. Emiatt született meg az AMD Mantle API-jából a Vulkan, de szerencsére a ProRender esetében nincs különösebb igény a gyártók közvetlen beavatkozására, mivel maga az újdonság olyan formában is szabványos, hogy nem a Khronos Group birtokolja.

A fejlesztők választása egyébként eléggé logikus lesz, mivel amelyik stúdió a Vulkan API-n képzeli el a jövőt, az a ProRender felé tud menni, míg a DirectX 12-t favorizáló rétegnek a DirectX Raytracing az egyetlen út. A felhasználók szempontjából ennek nincs túl nagy jelentősége, mert a ma elérhető grafikus vezérlők a megfelelő meghajtó mellett mindkét irányt tudják kezelni.

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés