{"id":110484,"date":"2020-03-17T18:44:09","date_gmt":"2020-03-17T18:44:09","guid":{"rendered":"http:\/\/gamefromscratch.com\/post.aspx?id=8d92ed58-426a-44f2-b3ba-71a0864c8fb4"},"modified":"2020-03-17T18:44:09","modified_gmt":"2020-03-17T18:44:09","slug":"vulkan-raytracing-launched","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2020\/03\/17\/vulkan-raytracing-launched\/","title":{"rendered":"Vulkan Raytracing Launched"},"content":{"rendered":"<p>Today at not-GDC, Khronos Group announced the release of Vulkan Ray Tracing, with initial support via beta drivers to NVidia cards.<\/p>\n<p>Details from the <a href=\"https:\/\/www.khronos.org\/news\/press\/khronos-group-releases-vulkan-ray-tracing\">Vulkan announcement<\/a>:<\/p>\n<blockquote>\n<p>Vulkan Ray Tracing consists of a number of Vulkan, SPIR-V, and GLSL extensions, some of which are optional. The primary <a href=\"https:\/\/www.khronos.org\/registry\/vulkan\/specs\/1.2-extensions\/html\/vkspec.html#VK_KHR_ray_tracing\">VK_KHR_ray_tracing<\/a> extension provides support for acceleration structure building and management, ray tracing shader stages and pipelines, and ray query intrinsics for all shader stages. <a href=\"https:\/\/www.khronos.org\/registry\/vulkan\/specs\/1.2-extensions\/html\/vkspec.html#VK_KHR_pipeline_library\">VK_KHR_pipeline_library<\/a> provides the ability to provide a set of shaders which can be efficiently linked into ray tracing pipelines. <a href=\"https:\/\/www.khronos.org\/registry\/vulkan\/specs\/1.2-extensions\/html\/vkspec.html#VK_KHR_deferred_host_operations\">VK_KHR_deferred_host_operations<\/a> enables intensive driver operations, including ray tracing pipeline compilation or CPU-based acceleration structure construction to be offloaded to application-managed CPU thread pools.<\/p>\n<p>Vulkan Ray Tracing shaders are SPIR-V binaries which use two new extensions. The <a href=\"https:\/\/htmlpreview.github.io\/?https:\/\/github.com\/KhronosGroup\/SPIRV-Registry\/blob\/master\/extensions\/KHR\/SPV_KHR_ray_tracing.html\">SPV_KHR_ray_tracing<\/a> SPIR-V extension adds support for ray tracing shader stages and instructions; <a href=\"https:\/\/htmlpreview.github.io\/?https:\/\/github.com\/KhronosGroup\/SPIRV-Registry\/blob\/master\/extensions\/KHR\/SPV_KHR_ray_query.html\">SPV_KHR_ray_query<\/a> adds support for ray query shader instructions. Developers can generate those binaries in GLSL using two new GLSL extensions, <a href=\"https:\/\/github.com\/KhronosGroup\/GLSL\/blob\/master\/extensions\/ext\/GLSL_EXT_ray_tracing.txt\">GLSL_EXT_ray_tracing<\/a> and <a href=\"https:\/\/github.com\/KhronosGroup\/GLSL\/blob\/master\/extensions\/ext\/GLSL_EXT_ray_query.txt\">GLSL_EXT_ray_query<\/a>, which are supported in the open source <a href=\"https:\/\/github.com\/KhronosGroup\/glslang\/\">glslang<\/a> compiler. Engineers at Khronos member companies, including NVIDIA, have also <a href=\"https:\/\/devblogs.nvidia.com\/bringing-hlsl-ray-tracing-to-vulkan\/\">added support for the SPIR-V<\/a> extensions to <a href=\"https:\/\/github.com\/microsoft\/DirectXShaderCompiler\">DXC<\/a>, Microsoft&#8217;s open source HLSL compiler, enabling Vulkan Ray Tracing SPIR-V shaders to be authored in HLSL using the syntax defined by Microsoft, with minimal modifications.<\/p>\n<\/blockquote>\n<p>Beta drivers are available from <a href=\"https:\/\/developer.nvidia.com\/vulkan-driver\">NVidia here<\/a> although it should be cautioned, these drivers are very much for developers only!&nbsp; You can read more about the announcement in this <a href=\"https:\/\/www.khronos.org\/assets\/uploads\/apis\/Vulkan-Ray-Tracing-Launch-Mar20.pdf\">20 page pdf presentation<\/a>, as well as a more in-depth technical overview of raytracing support in <a href=\"https:\/\/www.khronos.org\/blog\/ray-tracing-in-vulkan\">this blog post<\/a>.<\/p>\n<p>You can learn more about raytracing support in Vulkan in the <a href=\"https:\/\/youtu.be\/bzE3cxg4Uek\">video<\/a> below.<\/p>\n<p align=\"center\">[embedded content] <\/p>\n<p class=\"under\"> <span class=\"categories\"><a href=\"https:\/\/www.gamefromscratch.com\/category\/GameDev-News.aspx\">GameDev News<\/a><\/span> <span class=\"tags\"><a href=\"https:\/\/www.gamefromscratch.com\/?tag=\/3D\" rel=\"tag\">3D<\/a><\/span> <\/p>\n<hr>\n<p> &lt;!&#8211;<\/p>\n<p>&#8211;&gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today at not-GDC, Khronos Group announced the release of Vulkan Ray Tracing, with initial support via beta drivers to NVidia cards. Details from the Vulkan announcement: Vulkan Ray Tracing consists of a number of Vulkan, SPIR-V, and GLSL extensions, some of which are optional. The primary VK_KHR_ray_tracing extension provides support for acceleration structure building and [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71],"tags":[72],"class_list":["post-110484","post","type-post","status-publish","format-standard","hentry","category-game-development","tag-gamedev-news"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/110484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=110484"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/110484\/revisions"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=110484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=110484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=110484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}