Cuda Education
Cuda Education
  • 93
  • 55 764
VULKAN API DISCUSSION | Ray Tracing 8.0 | Ray Tracing Command Buffer | vkCmdTraceRaysKHR()
We investigate the command buffer in the ray tracing context.
Learn computer graphics through the Vulkan API.
If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials to get Vulkan running on your machine (with sample applications).
Vulkan API Tutorial #1: amzn.to/3I0Ep7l
Vulkan API Tutorial #13: amzn.to/3PTUHRi
Vulkan API Tutorial Series: amzn.to/3CfrUQJ
The code is courtesy of Sascha Willems:
github.com/SaschaWillems/Vulkan/blob/master/examples/raytracingbasic/raytracingbasic.cpp
www.saschawillems.de
DISCLAIMER: Use at your own risk! This code and/or instructions are for teaching purposes only. Cuda Education does not guarantee the accuracy of this code or instruction in any way. The code and instructions on this site may cause hardware/software damage and/or instability in your system. This code and/or instructions should not be used in a production or commercial environment.
Any liabilities or loss resulting from the use of this code and/or instructions, in whole or in part, will not be the responsibility of Cuda Education. All rights reserved.
THE SOFTWARE/INSTRUCTION IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE/INSTRUCTION OR THE USE OR OTHER DEALINGS IN THE SOFTWARE/INSTRUCTION.
Переглядів: 50

Відео

VULKAN API DISCUSSION | Ray Tracing 4.2 | Shader Binding Table vkGetRayTracingShaderGroupHandlesKHR
Переглядів 27День тому
We continue to further investigate the shader binding table, and how it interacts with the ray tracing pipeline, shaders, and acceleration structures. Learn computer graphics through the Vulkan API. If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials to get Vulkan running on your machine (with sample applications). Vulkan API Tutorial #1: amzn.to/...
VULKAN API DISCUSSION | Ray Tracing 6.1 | Ray Tracing Pipeline | Attach Shader Groups to Pipeline
Переглядів 4314 днів тому
We continue to further developing our ray tracing pipeline by attaching the shader groups, then we actually initiate the pipeline with a lower-case vk function! (vkCreateRayTracingPipelinesKHR) We also briefly discuss maxPipelineRayRecursionDepth which is an interesting variable that we need to investigate further! Learn computer graphics through the Vulkan API. If you have a Windows-based mach...
VULKAN API DISCUSSION | Ray Tracing 7.4 | Hit Shader | Miss Shader | hitValue | hitAttributeEXT
Переглядів 2014 днів тому
We investigate how a hit is processed through a specific ray. How a miss is processed through a specific ray, and what happens when you play around with the processing. compileshaders.py: github.com/SaschaWillems/Vulkan/blob/master/shaders/glsl/compileshaders.py SPIR-V Visualizer: www.khronos.org/spir/visualizer/ Learn computer graphics through the Vulkan API. If you have a Windows-based machin...
VULKAN API DISCUSSION | Ray Tracing 7.3 | Ray Generation | Ray Payload | hitValue | rayPayloadEXT
Переглядів 2514 днів тому
When a ray is generated, a payload/variable is associated with it. This payload/variable records all the events that happens as the ray traverses the scene. A common event could be an intersection with an object/geometry. In this example, the object/geometry is a triangle. We play around with this payload/variable to see what happens, and learn in the process. The location of the variable is ve...
VULKAN API DISCUSSION | Ray Tracing 7.2 | Equidistant from a point is a sphere | tmin tmax
Переглядів 4421 день тому
Equidistant from a point is a sphere! So...our camera is actually a sphere, and if objects intersect that sphere, then that is what we see. If objects are outside of the sphere, then we don't see it. This is why when we gradually zoom in with our camera, we might only see the center of the triangle at first (the outer tip of the sphere touches the center of the triangle), but as we zoom in furt...
VULKAN API DISCUSSION | Ray Tracing 7.1 | Validating & Invalidating Ray Intersections! | tmin tmax
Переглядів 6921 день тому
How do we go about validating and invalidating rays? compileshaders.py: github.com/SaschaWillems/Vulkan/blob/master/shaders/glsl/compileshaders.py SPIR-V Visualizer: www.khronos.org/spir/visualizer/ Learn computer graphics through the Vulkan API. If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials to get Vulkan running on your machine (with sample...
VULKAN API DISCUSSION | Ray Tracing 7 | Shader Groups
Переглядів 6121 день тому
Talkin' shader groups compileshaders.py: github.com/SaschaWillems/Vulkan/blob/master/shaders/glsl/compileshaders.py SPIR-V Visualizer: www.khronos.org/spir/visualizer/ Learn computer graphics through the Vulkan API. If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials to get Vulkan running on your machine (with sample applications). Vulkan API Tuto...
VULKAN API DISCUSSION | Ray Tracing 6 | Ray Tracing Pipeline
Переглядів 3528 днів тому
Talkin' ray tracing and the ray tracing pipeline! Learn computer graphics through the Vulkan API. If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials to get Vulkan running on your machine (with sample applications). Vulkan API Tutorial #1: amzn.to/3I0Ep7l Vulkan API Tutorial #13: amzn.to/3PTUHRi Vulkan API Tutorial Series: amzn.to/3CfrUQJ The code...
VULKAN API DISCUSSION | Ray Tracing 5 | Descriptor Sets
Переглядів 26Місяць тому
Talkin' ray tracing and descriptor sets! Really cool ray traced scene: ua-cam.com/video/jkhBlmKtEAk/v-deo.htmlsi=h1ISfnsOL8uS48Hn Learn computer graphics through the Vulkan API. If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials to get Vulkan running on your machine (with sample applications). Vulkan API Tutorial #1: amzn.to/3I0Ep7l Vulkan API Tu...
VULKAN API DISCUSSION | Ray Tracing 4.1 | Shader Binding Table | Shader Group Handle Size | SPH
Переглядів 32Місяць тому
My 2nd video in tackling the topic of the Shader Binding Table in the Vulkan API. I discuss Shader Group Handle Size, and Shader Program Header, among other things. Wish me good luck! Learn computer graphics through the Vulkan API. If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials to get Vulkan running on your machine (with sample applications)....
VULKAN API DISCUSSION | Ray Tracing 4 | Shader Binding Table
Переглядів 67Місяць тому
My first video in tackling the topic of the Shader Binding Table in the Vulkan API. Learn computer graphics through the Vulkan API! If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials to get Vulkan running on your machine (with sample applications). Vulkan API Tutorial #1: amzn.to/3I0Ep7l Vulkan API Tutorial #13: amzn.to/3PTUHRi Vulkan API Tutoria...
VULKAN API DISCUSSION | Ray Tracing 3.1 | Storage Image vs. Swapchain Image (PART 2)
Переглядів 40Місяць тому
In Vulkan Ray Tracing, why is a storage image used instead of writing directly to the swapchain image? This is the 2nd video in the series. Reddit post: www.reddit.com/r/vulkan/comments/1gi2wtw/in_ray_tracing_is_using_a_storage_image_instead/ Learn computer graphics through the Vulkan API! If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials. Vulka...
VULKAN API DISCUSSION | Ray Tracing 3 | Storage Image vs. Swapchain Image, why an intermediate step?
Переглядів 25Місяць тому
In Vulkan Ray Tracing, why is a storage image used instead of writing directly to the swapchain image? Learn computer graphics through the Vulkan API! If you have a Windows-based machine with a Vulkan-capable GPU, please check out these two tutorials. Vulkan API Tutorial #1: amzn.to/3I0Ep7l Vulkan API Tutorial #13: amzn.to/3PTUHRi Vulkan API Tutorial Series: amzn.to/3CfrUQJ The code is courtesy...
VULKAN API DISCUSSION | Ray Tracing 2.1 | Acceleration Structure | Top-Level & Bottom-Level
Переглядів 62Місяць тому
Added an additional video to further discuss the link between the top-level acceleration structure and the bottom-level acceleration structure. Basically, what happens when the link is broken between the top-level acceleration structure and the bottom-level acceleration structure. Learn computer graphics through the Vulkan API! If you have a Windows-based machine with a Vulkan-capable GPU, plea...
VULKAN API DISCUSSION | Ray Tracing 2 | Acceleration Structure | Top-Level & Bottom-Level
Переглядів 30Місяць тому
VULKAN API DISCUSSION | Ray Tracing 2 | Acceleration Structure | Top-Level & Bottom-Level
VULKAN API DISCUSSON | Ray Tracing 1 | Acceleration Structures | Binding Table Ray Tracing Pipeline
Переглядів 187Місяць тому
VULKAN API DISCUSSON | Ray Tracing 1 | Acceleration Structures | Binding Table Ray Tracing Pipeline
VULKAN API DISCUSSION | triangle.cpp PART 3 | Fences | Computer Graphics | Cuda Education
Переглядів 9810 місяців тому
VULKAN API DISCUSSION | triangle.cpp PART 3 | Fences | Computer Graphics | Cuda Education
VULKAN API DISCUSSION | triangle.cpp PART 2 | Semaphores | Computer Graphics | Cuda Education
Переглядів 11910 місяців тому
VULKAN API DISCUSSION | triangle.cpp PART 2 | Semaphores | Computer Graphics | Cuda Education
Vulkan API Discussion | triangle.cpp PART 1 | Fences & Semaphores | Whiteboard | Cuda Education
Переглядів 17510 місяців тому
Vulkan API Discussion | triangle.cpp PART 1 | Fences & Semaphores | Whiteboard | Cuda Education
Vulkan API Discussion | Fences & Semaphores | Cuda Education
Переглядів 4110 місяців тому
Vulkan API Discussion | Fences & Semaphores | Cuda Education
Vulkan API Discussion | Computer Graphics | GLTF 3D Assets & Models | Cuda Education
Переглядів 3910 місяців тому
Vulkan API Discussion | Computer Graphics | GLTF 3D Assets & Models | Cuda Education
Vulkan API Discussion | Computer Graphics | GLTF Sample Viewer | Cuda Education
Переглядів 7510 місяців тому
Vulkan API Discussion | Computer Graphics | GLTF Sample Viewer | Cuda Education
Vulkan API Discussion | pipelines.cpp 4 | setupDescriptorSet() Part 2 | Cuda Education
Переглядів 2410 місяців тому
Vulkan API Discussion | pipelines.cpp 4 | setupDescriptorSet() Part 2 | Cuda Education
Vulkan API Discussion | pipelines.cpp 3 | setupDescriptorPool() setupDescriptorSet | Cuda Education
Переглядів 2010 місяців тому
Vulkan API Discussion | pipelines.cpp 3 | setupDescriptorPool() setupDescriptorSet | Cuda Education
Vulkan API Discussion | pipelines.cpp 2 | preparePipelines() | Cuda Education
Переглядів 4610 місяців тому
Vulkan API Discussion | pipelines.cpp 2 | preparePipelines() | Cuda Education
Vulkan API Discussion | pipelines.cpp 1 | Render Area, Viewport, Scissor | Cuda Education
Переглядів 16111 місяців тому
Vulkan API Discussion | pipelines.cpp 1 | Render Area, Viewport, Scissor | Cuda Education
Vulkan API Discussion | gears.cpp 7 | buildCommandBuffers() | Cuda Education
Переглядів 26311 місяців тому
Vulkan API Discussion | gears.cpp 7 | buildCommandBuffers() | Cuda Education
Vulkan API Discussion | gears.cpp 6 | updateUniformBuffers() | Cuda Education
Переглядів 3511 місяців тому
Vulkan API Discussion | gears.cpp 6 | updateUniformBuffers() | Cuda Education
Vulkan API Discussion | gears.cpp 5 | setupDescriptorSets() | Cuda Education
Переглядів 4311 місяців тому
Vulkan API Discussion | gears.cpp 5 | setupDescriptorSets() | Cuda Education

КОМЕНТАРІ

  • @mexicano1891
    @mexicano1891 16 днів тому

    🎉

  • @badrakhariunchimeg1031
    @badrakhariunchimeg1031 Місяць тому

    Constrain random with lod0

  • @romualdovillalobos9690
    @romualdovillalobos9690 2 місяці тому

    Thank you man!! Continue the great work!

  • @kichapps
    @kichapps 2 місяці тому

    What do you mean it doesn't make it faster. If I have a higher shared memory through cooperative group tile serving as a larger threadblock, of course it would reduce my speedup time because I don't have to segment my kernels to handle when data > shared memory. I am confused about your statement.

  • @naveenraj9026
    @naveenraj9026 3 місяці тому

    That was really helpful

  • @cheesemanzombie9151
    @cheesemanzombie9151 4 місяці тому

    Appreciate all of your videos man

  • @cheesemanzombie9151
    @cheesemanzombie9151 4 місяці тому

    Thank you for helping so much with my study 🙏

  • @flocela
    @flocela 6 місяців тому

    Could you tell us why the items were named as such? What two things does the Binding bind? For set layout, why use the word layout?

  • @mexicano1891
    @mexicano1891 6 місяців тому

    🎉

  • @pablolupo78
    @pablolupo78 8 місяців тому

    Amazing!!!

  • @sehzadeselim863
    @sehzadeselim863 9 місяців тому

    Thanks!

  • @mexicano1891
    @mexicano1891 9 місяців тому

    🎉

  • @mexicano1891
    @mexicano1891 10 місяців тому

    🎉

  • @noahlederer8587
    @noahlederer8587 10 місяців тому

    THANK YOU!

  • @codingjq
    @codingjq 11 місяців тому

    Thanks for the content, bud!

  • @waqasahmad3614
    @waqasahmad3614 Рік тому

    Best and the only tutorial that actually explains the Vulkan concepts rather showing hours long code writing in visual studio code.

  • @linyuzqlby2590
    @linyuzqlby2590 Рік тому

    looking forward🥀

  • @malnormalulo-_-
    @malnormalulo-_- Рік тому

    Thanks

  • @jsierra88
    @jsierra88 Рік тому

    I've tried raster & ray tracing pipeline. I wanna try this one and I'm excited about it. Thanks for your time!

  • @jsierra88
    @jsierra88 Рік тому

    58:52 best moment on recording. Good explanation!

  • @AkimboFennec
    @AkimboFennec 2 роки тому

    I swear this is the best tutorial on Vulkan i have ever seen. This is an analog to Directx12 as well, since both apis are almost identical, except for the names of functions.

  • @AkimboFennec
    @AkimboFennec 2 роки тому

    Would you be willing to do the same tutorial series for Directx12? There is no book on the subject apart from Frank Luna book, but i find Frank Luna”s book difficult to understand

  • @saschawillems
    @saschawillems 2 роки тому

    It's "queue families" and not "family queues". Might want to change that as it might confuse viewers.

  • @DasAntiNaziBroetchen
    @DasAntiNaziBroetchen 2 роки тому

    You're selling your tutorial? Lmao you gotta be shittng me. After seeing the quality of your explanation, I can just expect it to be shit.

  • @acho8387
    @acho8387 2 роки тому

    Amazing explanation.

  • @jakebaker5944
    @jakebaker5944 2 роки тому

    This is great content! Just wanted to show my appreciation for the series! Please keep it up!

  • @raghul1208
    @raghul1208 2 роки тому

    excellent

  • @BinodKumar-rg6md
    @BinodKumar-rg6md 2 роки тому

    Hi I have been trying from a long to convert yuv image to rgb using vulkan instead of Renderscript but didn't get any solution. It would be realy helpful if you make video on YUV2RGB conversion using VK_KHR_sampler_ycbcr_conversion. Thank you

  • @AlericResident
    @AlericResident 2 роки тому

    Preparation goes a long way. This gives the impression that you don't really know it either🙄

    • @Sir_Pickle
      @Sir_Pickle 2 роки тому

      Just because he's doing it on a white board? Maybe if you listened to what was being said. Also looks like you don't really know that everyone can see your playlists..... looks like your obsessed with young boys (singers)....... Gross

  • @yusufketen4674
    @yusufketen4674 3 роки тому

    Please keep going, great series!

  • @007LvB
    @007LvB 3 роки тому

    I'm curious why you don't talk about present capabilities of the graphics queue - is that support always guaranteed? As I understand, picking the physical device is closely correlated to its ability to communicate with the WSI surface, or am I wrong? (I'm quite new to this)

  • @FerchoNossa
    @FerchoNossa 3 роки тому

    Beautiful.

  • @serealMuadid
    @serealMuadid 3 роки тому

    First

  • @keborgan
    @keborgan 3 роки тому

    Thanks, most tutorials don't give an overlook of what fences and semaphores do in Vulkan API.

  • @mathusuthanvenkatesan
    @mathusuthanvenkatesan 4 роки тому

    thanks, very useful

  • @fatima-oz3ne
    @fatima-oz3ne 4 роки тому

    This work if i have cuda 10.2 and visual studio 2017 ???

    • @cudaeducation
      @cudaeducation 4 роки тому

      fatima I don’t know. Maybe you can try it.

  • @nehapande6015
    @nehapande6015 5 років тому

    Its really helpful! Thanks a lot...

    • @cudaeducation
      @cudaeducation 5 років тому

      Neha Pande Thank you! Please remember to subscribe to the UA-cam channel. Have a great day!

  • @penggou9988
    @penggou9988 5 років тому

    this kernel is not the fastest one , use shared memory speed up

  • @DanielSzalko
    @DanielSzalko 5 років тому

    There is an error in your example code, just like in mine. There is the red marking on the right side at line 91. "expected an expression". Could you give as a hint how to get rid of that?

  • @whoseai3397
    @whoseai3397 5 років тому

    great job!

    • @cudaeducation
      @cudaeducation 5 років тому

      Thank you for the compliment. Please subscribe to the UA-cam channel and ring the bell. Have a great day!

    • @whoseai3397
      @whoseai3397 5 років тому

      @@cudaeducation Done!

  • @mikaellong44
    @mikaellong44 5 років тому

    So much great info thank you been searching for days now. Mikael

    • @cudaeducation
      @cudaeducation 5 років тому

      Mikael Long Thanks! Please subscribe to the channel and share with your friends. Have a great day!

  • @IgorAherne
    @IgorAherne 5 років тому

    Thank you man!

  • @Elektro768
    @Elektro768 5 років тому

    I appreciate your work ! I will follow your channel cause I started learning cuda toolkit. Its very helpful knowledge for C++ programmers.

  • @Elektro768
    @Elektro768 5 років тому

    Fantastic ! Canst stop doing this man ! So, More videos about creating simply applications with cuda maybe? I mean about a more coding in videos.