Discussion in 'Article Discussion' started by bit-tech, 11 Oct 2018 at 11:02.
So there's probably a simple answer but i don't have the time to read reams of Google results: How is VKRay different than FireRays 2.0? Is VKRay needed because Nvidia hardware doesn't 'understand' FireRays or are the two completely different things and if they are how so.
VKRay is a vendor extension for Vulkan, specifically for supporting the RT cores in Nvidia's Turing (and future RT-enabled) GPUs. Radeon Rays/FireRays is an acceleration library which can use Vulkan as its backend, but can also use OpenCL or Embree. FireRays, as it stands, does not support RT cores - though it will happily accelerate ray tracing workloads on a Turing board by using the CUDA cores instead.
Basically: if you're writing a ray tracing application and you want hardware acceleration on as wide a range of devices as possible, use FireRays. If you're writing a game which already uses Vulkan and you want ray tracing via Turing's RT cores, use VKRay (when/if it comes out).
That's always been the problem with openGL and now Vulkan - it's all vendor extensions and the standard only catches up many years too late. Now everyone who develops ray tracing for Vulkan is going to use an Nvidia extension meaning it won't work for AMD or Intel. DX12 for all it's closed source MS control is at least gpu vendor agnostic - AMD will be able to implement the DX12 raytracing functions and have all existing DX12 games with ray tracing work.
So if I've understood correctly Radeon Rays/FireRays doesn't support the specific commands needed to make use of RT cores, but if that's so why didn't Nvidia just submit (or whatever it's called) a request to add that support to Radeon Rays/FireRays as isn't it open source.
Like DdD says isn't this just going to add another extension.
Because nobody's developing games for FireRays; lots of people are developing games for Vulkan. There are no game engines using FireRays (as far as I'm aware, happy to be corrected here); they all use Vulkan. It's basically the difference between asking a game developer to start again from scratch or just do a bit more work on the build she's already using.
And, of course, Nvidia will be all too happy to support you in adding Nvidia-only ray tracing to your games, so there's that.
Separate names with a comma.