SlideShare a Scribd company logo
1 of 11
© The Khronos® Group Inc. 2020 - Page 1
This work is licensed under a Creative Commons Attribution 4.0 International License
Vulkan Ray Tracing
January 2021
Daniel Koch, NVIDIA
Vulkan Ray Tracing Chair
© Khronos® Group 2020
© The Khronos® Group Inc. 2020 - Page 2
This work is licensed under a Creative Commons Attribution 4.0 International License
Vulkan Ray Tracing Development Timeline
March 2020
Provisional Extension
Specifications
January 2018
Vulkan Ray Tracing
Subgroup Created
Review and Integration of IHV and
Developer Feedback
Streamline layering of DXR over
Vulkan Ray Tracing
Multiple Usability Tweaks
November 2020
Final Extension
Specifications
Conformance Test
Development
Multiple
Implementations
Added support for
Provisional Spec to DXC
HLSL compiler
December 2020
Vulkan SDK with
Ray Tracing
Updated Samples
© The Khronos® Group Inc. 2020 - Page 3
This work is licensed under a Creative Commons Attribution 4.0 International License
Vulkan Ray Tracing Design
• The industry’s first open, cross-vendor, cross-
platform standard for ray tracing acceleration
- Coherent ray tracing framework with flexible merging
of rasterization and ray tracing
- Set of extensions to Vulkan, SPIR-V, and GLSL
- seamlessly integrates ray tracing into Vulkan 1.X
- Familiar to users of existing proprietary ray tracing APIs
but also introduces new implementation flexibility
- Hardware agnostic – can be accelerated on existing
GPU compute and dedicated ray tracing cores
- Primary focus on meeting desktop market demand
for both real-time and offline rendering today – but
designed to encourage mobile ray tracing too
© The Khronos® Group Inc. 2020 - Page 4
This work is licensed under a Creative Commons Attribution 4.0 International License
Step 1: Create Efficient Scene Geometry
• Ray tracing may use a huge numbers of rays
- Specialized data structures for interrogating scene
geometry are necessary for efficient acceleration
• Acceleration Structures
- Contains low-level 3D geometry to be ray traced
and high-level references into the geometry
- Opaque internal organization details
Each vendor can optimize for processing for their
hardware
- E.g., Bounding Volume Hierarchy (BVH) for rapidly
determining if there is any geometry in the path of
a ray
• Build Acceleration Structure
- Vulkan driver integrates supplied geometry
into its two-level Acceleration Structure
Using a BVH data structure to enable
efficient ray tracing through a 3D scene
© The Khronos® Group Inc. 2020 - Page 5
This work is licensed under a Creative Commons Attribution 4.0 International License
VK_KHR_acceleration_structure
• Create, build, and manage acceleration
structures (AS)
• Opaque, implementation-defined data
structures, placed on a buffer
• Two-level acceleration structure
- Bottom-level contains triangles or AABBs
- Top-level refers to bottom-level
• Reference to bottom-level AS includes
transform and shading properties
• Top-level AS is accessed from the
shader either as a descriptor binding
or by device address
Bottom Level AS Bottom Level AS
Vertex & Index Buffers
Top Level Acceleration Structure (AS)
Transform &
Properties
… …
Instance Buffer
Acceleration Structure Hierarchy
© The Khronos® Group Inc. 2020 - Page 6
This work is licensed under a Creative Commons Attribution 4.0 International License
Step 2: Scene Traversal
• Ray tracing pipelines
- Application compiles a set of shaders into the
pipeline to provide desired ray and material
processing
- Application launches grid of rays into scene
- Implicit management of ray intersections
• Ray Queries
- Any type of shader can launch a ray at any time
- Shader can process intersection data however it
wishes
- Shader controls how traversal proceeds
Bottom Level AS Bottom Level AS
Shader Binding Table (SBT) Buffers
Shading Info … …
Graphics, Compute or
Ray Tracing Pipeline
RayQuery
Acc. Structure
Traversal
Confirm Hit, Generate
Details, or Terminate
Proceed?
Handle
Result
Explicit Ray Management
within Single Shader
Vertex & Index Buffers
Top Level Acceleration Structure (AS)
Transform &
Properties
… …
Instance Buffer
Acceleration Structure Hierarchy
Intersection
Any Hit
Recursion
Ray Tracing Pipeline
RayGen Shader
Acc. Structure
Traversal
Miss
Closest Hit
Hit?
Implicit Ray and Shader
Execution Management
© The Khronos® Group Inc. 2020 - Page 7
This work is licensed under a Creative Commons Attribution 4.0 International License
VK_KHR_ray_tracing_pipeline
• Provides ray tracing shaders and pipelines
- SPV_KHR_ray_tracing / GLSL_EXT_ray_tracing
- Support for ray tracing shader stages, builtins, storage
classes, and instructions
• vkCmdTraceRaysKHR launches ray generation
shader with launch grid and shader addresses
- traceRayEXT(...) from a shader starts acceleration
structure traversal
• Traversal invokes intersection and any hit
shaders as needed to control traversal
- Upon completion, traversal invokes a miss or closest hit
shader
- Hit attributes store hit information between intersection
and hit shaders
- Ray payloads store control and result information
• Shader binding table provides shading info
- Shader group handle for each type of shader
- Optional shader buffer record for instance-specific data
(e.g., buffer device addresses or descriptor indices)
Shader Binding Table (SBT) Buffers
Shading Info … …
Intersection
Any Hit
Recursion
Ray Tracing Pipeline
RayGen Shader
Acc. Structure
Traversal
Miss
Closest Hit
Hit?
Implicit Ray and Shader
Execution Management
© The Khronos® Group Inc. 2020 - Page 8
This work is licensed under a Creative Commons Attribution 4.0 International License
VK_KHR_ray_query
• Enables ray query intrinsics for all shader
stages (graphics, compute, ray tracing)
- SPV_KHR_ray_query / GLSL_EXT_ray_query
- Ray query shader instructions
• Execute ray traversal in any shader
• rayQueryInitializeEXT(...) from a shader
initializes a query with an AS and specific
traversal properties
• Call rayQueryProceedEXT(..) to start or
continue traversal
• Shader must explicitly examine potential
intersections (type, geometry, location), and
specify how it should be handled (generate
intersection details, confirm hit, terminate
ray)
Graphics, Compute or
Ray Tracing Pipeline
RayQuery
Acc. Structure
Traversal
Confirm Hit, Generate
Details, or Terminate
Proceed?
Handle
Result
Explicit Ray Management
within Single Shader
© The Khronos® Group Inc. 2020 - Page 9
This work is licensed under a Creative Commons Attribution 4.0 International License
VK_KHR_pipeline_library
• Ray tracing pipelines can use
many shaders
- Potentially orders of magnitude more
shaders (1000s) than traditional
applications to handle diverse tracing
techniques and material types
• Compilation bottleneck
- Compiling many shaders in a ray
tracing pipeline can be
computationally intensive and cause
application bottlenecks and stuttering
• Pipeline library
- Enables a library of SPIR-V shaders to
be incrementally compiled into an
existing Ray Tracing Pipeline saving
significant processing load
Primary Ray + Ambient Light
Reflection + Direct Local light / Shadow
Indirect Bounce
Indirect Sun Light / Shadow
Multiple shaders used to build complex lighting in a Quake 2 scene
© The Khronos® Group Inc. 2020 - Page 10
This work is licensed under a Creative Commons Attribution 4.0 International License
Host Offload of Setup Operations
• Ray tracing setup workloads can be compute
intensive
- AS builds and compiling ray tracing pipelines
- Two mechanisms to offload and control setup workloads on
the host CPU(s) for smoother, faster rendering
• Build Acceleration Structure on Host
- Use the host to build AS in host memory and then copy to the
GPU - rather than build directly on the GPU
- Final size of AS is known before copying to the GPU -
enabling optimized GPU memory allocation
• VK_KHR_deferred_host_operations
- Driver returns deferred work handle to application for later
execution
- Application controls work execution and can chose to
distribute onto multiple cores and background threads
- Can asynchronously use multiple CPU cores to build
Acceleration Structures on the host
Using Deferred Host Operations to build a
complex Acceleration Structure using
multiple CPU cores to offload the work from
the GPU for faster, smoother framerates
HOST
HOST
GPU
GPU
© The Khronos® Group Inc. 2020 - Page 11
This work is licensed under a Creative Commons Attribution 4.0 International License
Developer Vulkan Ray Tracing Resources
Production Vulkan Drivers with
Vulkan Ray Tracing are shipping
AMD Radeon Adrenalin 20.11.3 drivers for
Radeon RX 6000 Series
NVIDIA R460 drivers for
All RTX GPUs
GeForce GTX 1660 with 6GB+ of memory
GeForce GTX 1060+ with 6GB+ of memory
Intel Xe-HPG GPUs, available in 2021
Vulkan Ray Tracing Samples
Vulkan Ray Tracing Guide
How to use the Vulkan Ray Tracing extensions
Exploring deeper technical details of the
Vulkan Ray Tracing specifications
Best practices for blending Vulkan
rasterization and ray tracing techniques
Khronos Member Materials
Deep dive Vulkan Ray Tracing Tutorial
How to use Vulkan Ray Tracing to
Create a complete mini-path tracer
A Vulkan-based glTF ray tracing viewer
with open source on GitHub
New textbook, and
here, on principles and
history of ray tracing
by Jon Peddie Khronos welcomes developer feedback
on Vulkan GitHub issues tracker

More Related Content

What's hot

Substanceテクスチャワークフロー XXX編
Substanceテクスチャワークフロー XXX編Substanceテクスチャワークフロー XXX編
Substanceテクスチャワークフロー XXX編Satoshi Kodaira
 
Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Tiago Sousa
 
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술Ki Hyunwoo
 
Weighted Blended Order Independent Transparency
Weighted Blended Order Independent TransparencyWeighted Blended Order Independent Transparency
Weighted Blended Order Independent Transparencyzokweiron
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenBenjamin Glatzel
 
Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Unity Technologies
 
Mieszko Zielinski (Epic Games), White Nights 2015
Mieszko Zielinski  (Epic Games), White Nights 2015 Mieszko Zielinski  (Epic Games), White Nights 2015
Mieszko Zielinski (Epic Games), White Nights 2015 White Nights Conference
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意UnityTechnologiesJapan002
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Ki Hyunwoo
 
Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2Philip Hammer
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자Seongdae Kim
 
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Tiago Sousa
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
CryENGINE 3 Rendering Techniques
CryENGINE 3 Rendering TechniquesCryENGINE 3 Rendering Techniques
CryENGINE 3 Rendering TechniquesTiago Sousa
 
SIGGRAPH 2010 Water Flow in Portal 2
SIGGRAPH 2010 Water Flow in Portal 2SIGGRAPH 2010 Water Flow in Portal 2
SIGGRAPH 2010 Water Flow in Portal 2Alex Vlachos
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​KLab Inc. / Tech
 
Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Lighting and Post Processing on PLAYSTATION®3Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Lighting and Post Processing on PLAYSTATION®3Slide_N
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space MarinePope Kim
 

What's hot (20)

Substanceテクスチャワークフロー XXX編
Substanceテクスチャワークフロー XXX編Substanceテクスチャワークフロー XXX編
Substanceテクスチャワークフロー XXX編
 
Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3
 
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
언리얼 서밋 2016 프로젝트 A1의 구형 월드 라이팅 기술
 
Weighted Blended Order Independent Transparency
Weighted Blended Order Independent TransparencyWeighted Blended Order Independent Transparency
Weighted Blended Order Independent Transparency
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the Fallen
 
Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...
 
Mieszko Zielinski (Epic Games), White Nights 2015
Mieszko Zielinski  (Epic Games), White Nights 2015 Mieszko Zielinski  (Epic Games), White Nights 2015
Mieszko Zielinski (Epic Games), White Nights 2015
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1
 
Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
 
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
CryENGINE 3 Rendering Techniques
CryENGINE 3 Rendering TechniquesCryENGINE 3 Rendering Techniques
CryENGINE 3 Rendering Techniques
 
SIGGRAPH 2010 Water Flow in Portal 2
SIGGRAPH 2010 Water Flow in Portal 2SIGGRAPH 2010 Water Flow in Portal 2
SIGGRAPH 2010 Water Flow in Portal 2
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Lighting and Post Processing on PLAYSTATION®3Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Lighting and Post Processing on PLAYSTATION®3
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 

Similar to Vulkan Ray Tracing Update Japan Virtual Open House Feb 2021

Vulkan Update Japan Virtual Open House Feb 2021
Vulkan Update Japan Virtual Open House Feb 2021Vulkan Update Japan Virtual Open House Feb 2021
Vulkan Update Japan Virtual Open House Feb 2021The Khronos Group Inc.
 
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...VMworld
 
IaaS with Software Defined Networking
IaaS with Software Defined NetworkingIaaS with Software Defined Networking
IaaS with Software Defined NetworkingPrasenjit Sarkar
 
Imaging automotive 2015 addfor v002
Imaging automotive 2015   addfor v002Imaging automotive 2015   addfor v002
Imaging automotive 2015 addfor v002Enrico Busto
 
Imaging automotive 2015 addfor v002
Imaging automotive 2015   addfor v002Imaging automotive 2015   addfor v002
Imaging automotive 2015 addfor v002Enrico Busto
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...Edge AI and Vision Alliance
 
SDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeSDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeIntel® Software
 
4th SDN Interest Group Seminar-Session 2-3(130313)
4th SDN Interest Group Seminar-Session 2-3(130313)4th SDN Interest Group Seminar-Session 2-3(130313)
4th SDN Interest Group Seminar-Session 2-3(130313)NAIM Networks, Inc.
 
Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Intel® Software
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source Nitesh Jadhav
 
VMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld 2013: Architecting VMware Horizon Workspace for Scale and PerformanceVMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld 2013: Architecting VMware Horizon Workspace for Scale and PerformanceVMworld
 
"The OpenVX Computer Vision and Neural Network Inference Library Standard for...
"The OpenVX Computer Vision and Neural Network Inference Library Standard for..."The OpenVX Computer Vision and Neural Network Inference Library Standard for...
"The OpenVX Computer Vision and Neural Network Inference Library Standard for...Edge AI and Vision Alliance
 
A Technical Deep Dive on Protecting Acropolis Workloads with Rubrik
A Technical Deep Dive on Protecting Acropolis Workloads with RubrikA Technical Deep Dive on Protecting Acropolis Workloads with Rubrik
A Technical Deep Dive on Protecting Acropolis Workloads with RubrikNEXTtour
 
Return on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataReturn on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataMSDEVMTL
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018harvraja
 
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering SeminarUsman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering SeminarAmazon Web Services Korea
 

Similar to Vulkan Ray Tracing Update Japan Virtual Open House Feb 2021 (20)

Vulkan Update Japan Virtual Open House Feb 2021
Vulkan Update Japan Virtual Open House Feb 2021Vulkan Update Japan Virtual Open House Feb 2021
Vulkan Update Japan Virtual Open House Feb 2021
 
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
VMworld 2013: Designing Network Virtualization for Data-Centers: Greenfield D...
 
IaaS with Software Defined Networking
IaaS with Software Defined NetworkingIaaS with Software Defined Networking
IaaS with Software Defined Networking
 
Imaging automotive 2015 addfor v002
Imaging automotive 2015   addfor v002Imaging automotive 2015   addfor v002
Imaging automotive 2015 addfor v002
 
Imaging automotive 2015 addfor v002
Imaging automotive 2015   addfor v002Imaging automotive 2015   addfor v002
Imaging automotive 2015 addfor v002
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
 
Typesafe spark- Zalando meetup
Typesafe spark- Zalando meetupTypesafe spark- Zalando meetup
Typesafe spark- Zalando meetup
 
SDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeSDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's Stampede
 
4th SDN Interest Group Seminar-Session 2-3(130313)
4th SDN Interest Group Seminar-Session 2-3(130313)4th SDN Interest Group Seminar-Session 2-3(130313)
4th SDN Interest Group Seminar-Session 2-3(130313)
 
TechTalkThai-CiscoHyperFlex
TechTalkThai-CiscoHyperFlexTechTalkThai-CiscoHyperFlex
TechTalkThai-CiscoHyperFlex
 
Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
VMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld 2013: Architecting VMware Horizon Workspace for Scale and PerformanceVMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
 
"The OpenVX Computer Vision and Neural Network Inference Library Standard for...
"The OpenVX Computer Vision and Neural Network Inference Library Standard for..."The OpenVX Computer Vision and Neural Network Inference Library Standard for...
"The OpenVX Computer Vision and Neural Network Inference Library Standard for...
 
A Technical Deep Dive on Protecting Acropolis Workloads with Rubrik
A Technical Deep Dive on Protecting Acropolis Workloads with RubrikA Technical Deep Dive on Protecting Acropolis Workloads with Rubrik
A Technical Deep Dive on Protecting Acropolis Workloads with Rubrik
 
Return on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataReturn on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & Data
 
RCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPcRCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPc
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018
 
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering SeminarUsman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
Usman Shakeel - Cloud Rendering at Scale :: AWS Rendering Seminar
 

More from The Khronos Group Inc.

Vulkan Ray Tracing Update JP Translation
Vulkan Ray Tracing Update JP TranslationVulkan Ray Tracing Update JP Translation
Vulkan Ray Tracing Update JP TranslationThe Khronos Group Inc.
 
OpenCL Overview Japan Virtual Open House Feb 2021
OpenCL Overview Japan Virtual Open House Feb 2021OpenCL Overview Japan Virtual Open House Feb 2021
OpenCL Overview Japan Virtual Open House Feb 2021The Khronos Group Inc.
 
Vulkan ML Japan Virtual Open House Feb 2021
Vulkan ML Japan Virtual Open House Feb 2021Vulkan ML Japan Virtual Open House Feb 2021
Vulkan ML Japan Virtual Open House Feb 2021The Khronos Group Inc.
 
glTF Overview Japan Virtual Open House Feb 2021
glTF Overview Japan Virtual Open House Feb 2021glTF Overview Japan Virtual Open House Feb 2021
glTF Overview Japan Virtual Open House Feb 2021The Khronos Group Inc.
 
Khronos Overview Japan Virtual Open House Feb 2021
Khronos Overview Japan Virtual Open House Feb 2021Khronos Overview Japan Virtual Open House Feb 2021
Khronos Overview Japan Virtual Open House Feb 2021The Khronos Group Inc.
 

More from The Khronos Group Inc. (20)

OpenXR 1.0 Reference Guide
OpenXR 1.0 Reference GuideOpenXR 1.0 Reference Guide
OpenXR 1.0 Reference Guide
 
Vulkan Ray Tracing Update JP Translation
Vulkan Ray Tracing Update JP TranslationVulkan Ray Tracing Update JP Translation
Vulkan Ray Tracing Update JP Translation
 
Vulkan ML JP Translation
Vulkan ML JP TranslationVulkan ML JP Translation
Vulkan ML JP Translation
 
OpenCL Overview JP Translation
OpenCL Overview JP TranslationOpenCL Overview JP Translation
OpenCL Overview JP Translation
 
glTF overview JP Translation
glTF overview JP TranslationglTF overview JP Translation
glTF overview JP Translation
 
Khronos Overview JP Translation
Khronos Overview JP TranslationKhronos Overview JP Translation
Khronos Overview JP Translation
 
OpenCL Overview Japan Virtual Open House Feb 2021
OpenCL Overview Japan Virtual Open House Feb 2021OpenCL Overview Japan Virtual Open House Feb 2021
OpenCL Overview Japan Virtual Open House Feb 2021
 
Vulkan ML Japan Virtual Open House Feb 2021
Vulkan ML Japan Virtual Open House Feb 2021Vulkan ML Japan Virtual Open House Feb 2021
Vulkan ML Japan Virtual Open House Feb 2021
 
glTF Overview Japan Virtual Open House Feb 2021
glTF Overview Japan Virtual Open House Feb 2021glTF Overview Japan Virtual Open House Feb 2021
glTF Overview Japan Virtual Open House Feb 2021
 
Khronos Overview Japan Virtual Open House Feb 2021
Khronos Overview Japan Virtual Open House Feb 2021Khronos Overview Japan Virtual Open House Feb 2021
Khronos Overview Japan Virtual Open House Feb 2021
 
SYCL 2020 Specification
SYCL 2020 SpecificationSYCL 2020 Specification
SYCL 2020 Specification
 
OpenCL 3.0 Reference Guide
OpenCL 3.0 Reference GuideOpenCL 3.0 Reference Guide
OpenCL 3.0 Reference Guide
 
OpenVX 1.3 Reference Guide
OpenVX 1.3 Reference GuideOpenVX 1.3 Reference Guide
OpenVX 1.3 Reference Guide
 
OpenXR 0.90 Overview Guide
OpenXR 0.90 Overview GuideOpenXR 0.90 Overview Guide
OpenXR 0.90 Overview Guide
 
Vulkan 1.1 Reference Guide
Vulkan 1.1 Reference GuideVulkan 1.1 Reference Guide
Vulkan 1.1 Reference Guide
 
SYCL 1.2.1 Reference Card
SYCL 1.2.1 Reference CardSYCL 1.2.1 Reference Card
SYCL 1.2.1 Reference Card
 
OpenCL 2.2 Reference Guide
OpenCL 2.2 Reference GuideOpenCL 2.2 Reference Guide
OpenCL 2.2 Reference Guide
 
OpenGL 4.6 Reference Guide
OpenGL 4.6 Reference GuideOpenGL 4.6 Reference Guide
OpenGL 4.6 Reference Guide
 
glTF 2.0 Reference Guide
glTF 2.0 Reference GuideglTF 2.0 Reference Guide
glTF 2.0 Reference Guide
 
OpenVX 1.2 Reference Guide
OpenVX 1.2 Reference GuideOpenVX 1.2 Reference Guide
OpenVX 1.2 Reference Guide
 

Recently uploaded

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 

Recently uploaded (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Vulkan Ray Tracing Update Japan Virtual Open House Feb 2021

  • 1. © The Khronos® Group Inc. 2020 - Page 1 This work is licensed under a Creative Commons Attribution 4.0 International License Vulkan Ray Tracing January 2021 Daniel Koch, NVIDIA Vulkan Ray Tracing Chair © Khronos® Group 2020
  • 2. © The Khronos® Group Inc. 2020 - Page 2 This work is licensed under a Creative Commons Attribution 4.0 International License Vulkan Ray Tracing Development Timeline March 2020 Provisional Extension Specifications January 2018 Vulkan Ray Tracing Subgroup Created Review and Integration of IHV and Developer Feedback Streamline layering of DXR over Vulkan Ray Tracing Multiple Usability Tweaks November 2020 Final Extension Specifications Conformance Test Development Multiple Implementations Added support for Provisional Spec to DXC HLSL compiler December 2020 Vulkan SDK with Ray Tracing Updated Samples
  • 3. © The Khronos® Group Inc. 2020 - Page 3 This work is licensed under a Creative Commons Attribution 4.0 International License Vulkan Ray Tracing Design • The industry’s first open, cross-vendor, cross- platform standard for ray tracing acceleration - Coherent ray tracing framework with flexible merging of rasterization and ray tracing - Set of extensions to Vulkan, SPIR-V, and GLSL - seamlessly integrates ray tracing into Vulkan 1.X - Familiar to users of existing proprietary ray tracing APIs but also introduces new implementation flexibility - Hardware agnostic – can be accelerated on existing GPU compute and dedicated ray tracing cores - Primary focus on meeting desktop market demand for both real-time and offline rendering today – but designed to encourage mobile ray tracing too
  • 4. © The Khronos® Group Inc. 2020 - Page 4 This work is licensed under a Creative Commons Attribution 4.0 International License Step 1: Create Efficient Scene Geometry • Ray tracing may use a huge numbers of rays - Specialized data structures for interrogating scene geometry are necessary for efficient acceleration • Acceleration Structures - Contains low-level 3D geometry to be ray traced and high-level references into the geometry - Opaque internal organization details Each vendor can optimize for processing for their hardware - E.g., Bounding Volume Hierarchy (BVH) for rapidly determining if there is any geometry in the path of a ray • Build Acceleration Structure - Vulkan driver integrates supplied geometry into its two-level Acceleration Structure Using a BVH data structure to enable efficient ray tracing through a 3D scene
  • 5. © The Khronos® Group Inc. 2020 - Page 5 This work is licensed under a Creative Commons Attribution 4.0 International License VK_KHR_acceleration_structure • Create, build, and manage acceleration structures (AS) • Opaque, implementation-defined data structures, placed on a buffer • Two-level acceleration structure - Bottom-level contains triangles or AABBs - Top-level refers to bottom-level • Reference to bottom-level AS includes transform and shading properties • Top-level AS is accessed from the shader either as a descriptor binding or by device address Bottom Level AS Bottom Level AS Vertex & Index Buffers Top Level Acceleration Structure (AS) Transform & Properties … … Instance Buffer Acceleration Structure Hierarchy
  • 6. © The Khronos® Group Inc. 2020 - Page 6 This work is licensed under a Creative Commons Attribution 4.0 International License Step 2: Scene Traversal • Ray tracing pipelines - Application compiles a set of shaders into the pipeline to provide desired ray and material processing - Application launches grid of rays into scene - Implicit management of ray intersections • Ray Queries - Any type of shader can launch a ray at any time - Shader can process intersection data however it wishes - Shader controls how traversal proceeds Bottom Level AS Bottom Level AS Shader Binding Table (SBT) Buffers Shading Info … … Graphics, Compute or Ray Tracing Pipeline RayQuery Acc. Structure Traversal Confirm Hit, Generate Details, or Terminate Proceed? Handle Result Explicit Ray Management within Single Shader Vertex & Index Buffers Top Level Acceleration Structure (AS) Transform & Properties … … Instance Buffer Acceleration Structure Hierarchy Intersection Any Hit Recursion Ray Tracing Pipeline RayGen Shader Acc. Structure Traversal Miss Closest Hit Hit? Implicit Ray and Shader Execution Management
  • 7. © The Khronos® Group Inc. 2020 - Page 7 This work is licensed under a Creative Commons Attribution 4.0 International License VK_KHR_ray_tracing_pipeline • Provides ray tracing shaders and pipelines - SPV_KHR_ray_tracing / GLSL_EXT_ray_tracing - Support for ray tracing shader stages, builtins, storage classes, and instructions • vkCmdTraceRaysKHR launches ray generation shader with launch grid and shader addresses - traceRayEXT(...) from a shader starts acceleration structure traversal • Traversal invokes intersection and any hit shaders as needed to control traversal - Upon completion, traversal invokes a miss or closest hit shader - Hit attributes store hit information between intersection and hit shaders - Ray payloads store control and result information • Shader binding table provides shading info - Shader group handle for each type of shader - Optional shader buffer record for instance-specific data (e.g., buffer device addresses or descriptor indices) Shader Binding Table (SBT) Buffers Shading Info … … Intersection Any Hit Recursion Ray Tracing Pipeline RayGen Shader Acc. Structure Traversal Miss Closest Hit Hit? Implicit Ray and Shader Execution Management
  • 8. © The Khronos® Group Inc. 2020 - Page 8 This work is licensed under a Creative Commons Attribution 4.0 International License VK_KHR_ray_query • Enables ray query intrinsics for all shader stages (graphics, compute, ray tracing) - SPV_KHR_ray_query / GLSL_EXT_ray_query - Ray query shader instructions • Execute ray traversal in any shader • rayQueryInitializeEXT(...) from a shader initializes a query with an AS and specific traversal properties • Call rayQueryProceedEXT(..) to start or continue traversal • Shader must explicitly examine potential intersections (type, geometry, location), and specify how it should be handled (generate intersection details, confirm hit, terminate ray) Graphics, Compute or Ray Tracing Pipeline RayQuery Acc. Structure Traversal Confirm Hit, Generate Details, or Terminate Proceed? Handle Result Explicit Ray Management within Single Shader
  • 9. © The Khronos® Group Inc. 2020 - Page 9 This work is licensed under a Creative Commons Attribution 4.0 International License VK_KHR_pipeline_library • Ray tracing pipelines can use many shaders - Potentially orders of magnitude more shaders (1000s) than traditional applications to handle diverse tracing techniques and material types • Compilation bottleneck - Compiling many shaders in a ray tracing pipeline can be computationally intensive and cause application bottlenecks and stuttering • Pipeline library - Enables a library of SPIR-V shaders to be incrementally compiled into an existing Ray Tracing Pipeline saving significant processing load Primary Ray + Ambient Light Reflection + Direct Local light / Shadow Indirect Bounce Indirect Sun Light / Shadow Multiple shaders used to build complex lighting in a Quake 2 scene
  • 10. © The Khronos® Group Inc. 2020 - Page 10 This work is licensed under a Creative Commons Attribution 4.0 International License Host Offload of Setup Operations • Ray tracing setup workloads can be compute intensive - AS builds and compiling ray tracing pipelines - Two mechanisms to offload and control setup workloads on the host CPU(s) for smoother, faster rendering • Build Acceleration Structure on Host - Use the host to build AS in host memory and then copy to the GPU - rather than build directly on the GPU - Final size of AS is known before copying to the GPU - enabling optimized GPU memory allocation • VK_KHR_deferred_host_operations - Driver returns deferred work handle to application for later execution - Application controls work execution and can chose to distribute onto multiple cores and background threads - Can asynchronously use multiple CPU cores to build Acceleration Structures on the host Using Deferred Host Operations to build a complex Acceleration Structure using multiple CPU cores to offload the work from the GPU for faster, smoother framerates HOST HOST GPU GPU
  • 11. © The Khronos® Group Inc. 2020 - Page 11 This work is licensed under a Creative Commons Attribution 4.0 International License Developer Vulkan Ray Tracing Resources Production Vulkan Drivers with Vulkan Ray Tracing are shipping AMD Radeon Adrenalin 20.11.3 drivers for Radeon RX 6000 Series NVIDIA R460 drivers for All RTX GPUs GeForce GTX 1660 with 6GB+ of memory GeForce GTX 1060+ with 6GB+ of memory Intel Xe-HPG GPUs, available in 2021 Vulkan Ray Tracing Samples Vulkan Ray Tracing Guide How to use the Vulkan Ray Tracing extensions Exploring deeper technical details of the Vulkan Ray Tracing specifications Best practices for blending Vulkan rasterization and ray tracing techniques Khronos Member Materials Deep dive Vulkan Ray Tracing Tutorial How to use Vulkan Ray Tracing to Create a complete mini-path tracer A Vulkan-based glTF ray tracing viewer with open source on GitHub New textbook, and here, on principles and history of ray tracing by Jon Peddie Khronos welcomes developer feedback on Vulkan GitHub issues tracker

Editor's Notes

  1. Well, speaking of doing amazing things with Vulkan, I'm here to talk to you about Ray Tracing in Vulkan.   1. Hi everyone – I am Daniel Koch and I work on graphics drivers at NVIDIA and am the chair of the Vulkan Ray Tracing Subgroup at Khronos.
  2. 2. The Vulkan Ray Tracing Subgroup was formed in early 2018 and was tasked with bringing a ray tracing solution to Vulkan. In March 2020, the provisional ray tracing extensions were released to gather public feedback and input into the final design of these extensions. In November 2020, the final Vulkan ray tracing extensions were released and shortly after that in December, the Vulkan 1.2.162.0 SDK was released, incorporating support for these extensions and enabling developers to easily integrate Vulkan Ray Tracing into their applications.
  3. 3. The Ray Tracing subgroup received a number of design contributions from hardware vendors; and examined requirements from both software and hardware vendors. Real-time techniques for ray tracing are still being actively researched and so the first version of Vulkan Ray Tracing has been designed to provide a framework, while setting an extensible stage for future developments.   One overarching design goal was to provide a single, coherent cross-platform and multi-vendor framework for ray tracing acceleration that could be easily used together with existing Vulkan API functionality.   Software vendors were also clear—we needed to enable content designed for contemporary proprietary APIs, such as NVIDIA’s OptiX™ or Microsoft’s DirectX Raytracing, to be easily portable to Vulkan. As such, we used a familiar overall architecture, including enabling the re-use of HLSL shaders, while also introducing new functionality and implementation flexibility.   We’ve enabled selected parts of the framework to be optional for deployment flexibility in keeping with the Vulkan philosophy. For this first version, we are primarily aiming to expose the full functionality of modern desktop hardware, but in a way that is hardware agnostic and can be accelerated via existing GPU compute or dedicated ray tracing cores.
  4. 4. So, how do you use Vulkan Ray Tracing? Like many other ray tracing APIs, the first step is to build the scene geometry into an efficient, two-level acceleration structure so searching for ray intersections can be optimized. The precise internal organization of the Vulkan acceleration structure is opaque to the application, so that the hardware vendor can optimize it to match their own architecture.
  5. 5. The VK_KHR_acceleration_structure extension provides the ability to create and build acceleration structures on the GPU, or optionally on the host (more about that later). It also provides acceleration structure management commands, which enable compaction and serialization of acceleration structures.   An acceleration structure is a highly-optimized, implementation-dependent data structure that is built from the application-provided scene geometry, and placed in a buffer. This opaque data structure is used to achieve high performance ray intersections in complex scenes.   The acceleration structure is divided into a two-level hierarchy as shown. The bottom-level acceleration structure, contains the triangles or axis-aligned bounding boxes (AABBs) of custom geometry that make up the scene. Since each bottom level acceleration structure may correspond to what would be multiple draw calls in the rasterization pipeline, each bottom level acceleration structure can contain multiple sets of geometry of a given type. The top-level acceleration structure contains references to a set of bottom-level acceleration structures. Each reference includes shading and transform information for that reference. The bottom-level acceleration structure is only used by reference from the top-level acceleration structure. The top-level acceleration structure is accessed from the shader as a descriptor binding or by device address.
  6. 6. Next, we need to launch rays into the scene to determine how those rays intersect and interact with scene geometry, materials, and light sources – and to process those intersections with programmable flexibility to enable a wide variety of visual effects. Vulkan provides two ways to traverse the scene.   The first method (on the left) uses a new Ray Tracing Pipeline that enables the application to compile a set of shaders into a pipeline to handle any desired ray and material processing, and then launch a grid of rays into the scene with the Ray Tracing Pipeline invoking the appropriate shader when intersections occur, or a miss shader if no hits occur for that ray.   The second technique to fire rays, called Ray Queries, (on the right) is much more explicit and enables any type of shader to launch a ray at any time and process the intersection data however it wishes. This is a very flexible technique as the shader also controls how the traversal proceeds through the scene, but it does place more burden onto the shader author.
  7. 7. The VK_KHR_ray_tracing_pipeline extension adds the new ray tracing shader stages, pipelines, and associated commands. The corresponding SPV_KHR_ray_tracing and GLSL_EXT_ray_tracing extensions define the associated SPIR-V and GLSL constructs.   Ray tracing pipeline work is launched using vkCmdTraceRaysKHR. This command invokes an application-defined set of ray generation threads, which can call traceRaysEXT() from the shader, starting traversal work on the specified acceleration structure. During traversal, if required by the trace and acceleration structure, application shader code in intersection and any hit shaders can control how traversal proceeds. After traversal completes, either a miss or closest hit shader is invoked.   The different shaders can communicate parameters and results using ray payload structures between all traversal shaders and hit attribute structures from the traversal control shaders.   To enable the traversal phase to know which shader to invoke after a given step of traversal to control or respond to the traversal, the implementation uses a shader binding table. Each shader entry in the table consists of a shader group handle plus an optional shader buffer record which the application may use for instance-specific data such as buffer device addresses or descriptor indices. The address for any given shader is computed by the traversal through a combination of parameters to the trace rays API call, parameters to the traceRayEXT shader call, and information stored in the acceleration structure.
  8. 8. The VK_KHR_ray_query extension enables ray queries for all shader stages (including graphics, compute, and ray tracing shaders), and the corresponding SPV_KHR_ray_query and GLSL_EXT_ray_query extensions define the associated SPIR-V and GLSL constructs.   Ray queries can be used to perform ray traversal and get a result back in any shader stage. Other than requiring acceleration structures, ray queries are performed using only the new shader instructions.   Ray queries are initialized using rayQueryInitializeEXT which specifies an acceleration structure to traverse, and various properties of the ray being traced. Next, rayQueryProceedEXT is used to start the traversal. After an intersection candidate is found, the shader can examine properties of the potential intersection and of the ray itself using instructions which are accessible to shader during traversal and specify how the ray should be handled – either by generating intersection details, confirming a hit, or terminating the ray. If the traversal is not finished or the ray terminated, rayQueryProceedEXT can be called again to continue the acceleration structure traversal.
  9. 9. A ray tracing application can use 100s or even 1000s of shaders to process the many types of visual effects in a scene. Compiling that many shaders into a Ray Tracing Pipeline can be intensive enough to cause application stuttering when new scenes are loaded, or when new scene effects are needed. It can be particularly aggravating to discover that a scene suddenly needs a new shader, and that triggers the entire set of shaders being recompiled and reloaded. To avoid that overhead, the VK_KHR_pipeline_library extension enables a library of SPIR-V shaders to be incrementally compiled into an existing ray tracing pipeline - saving the need to recompile everything from scratch.   A pipeline library is a pipeline which includes the normal state and shaders along with an additional flag to indicate that it is not intended to be bound directly to the API but is intended to be used as a library that will be linked with a later pipeline. Pipeline libraries can also be included in multiple ray tracing pipelines, allowing shader compilation results to be reused across pipelines. Ray tracing pipeline creation may include both library pipelines as well as additional ray tracing shaders. All of the compilation state from each pipeline must match to successfully create the final linked pipeline.
  10. 10. Pipeline Libraries can be helpful when dynamically managing the shaders in a scene, but there is still significant setup processing for any ray tracing application – not just compiling shaders but also loading geometry into Acceleration Structures. To help applications use all the available processors in a system for scene setup, we have provided the ability for the host CPU to build Acceleration Structures in host memory for subsequent download to the GPU, enabling the host CPU to perform setup in parallel with the GPU performing other work.   The VK_KHR_deferred_host_operations extension provides a mechanism where the driver returns a deferred work handle to the application for later execution – enabling the application to control work execution and to distribute the work onto multiple cores and background threads. In a ray tracing application, deferred host operations can be used to asynchronously leverage multiple CPU cores to build host Acceleration Structures. They can also be used to parallelize ray tracing shader compilation and pipeline generation.
  11. 11. So this was just a quick overview of the Vulkan Ray Tracing extensions that are now available. Production ray tracing drivers for AMD and NVIDIA GPUs are now shipping and Intel drivers should be available later this year. For more information about Vulkan Ray Tracing, here are a number of links to blog posts, tutorials, and other resources.   Welcome to the era of portable, cross-vendor, cross-platform ray tracing acceleration! We look forward to seeing how you will use it!