Vulkan Working Group member James Jones, Principal Software Engineer at NVIDIA, has written a Khronos Blog on using Vulkan Timeline Semaphores in Vulkan 1.2. The new timeline semaphore synchronization API shipping as VK_KHR_timeline_semaphore, and a core feature of Vulkan 1.2, defines a primitive containing a superset of both the original VkSemaphore and VkFence primitives, while simultaneously eliminating many of the most painful limitations of the previous APIs. Learn how this new feature in Vulkan 1.2 works with code examples.
The aim of this guide from Codeplay Software is to summarize and analyze the different techniques for deciding what work group size to use for optimal performance, and explain what needs to be considered when choosing an ideal work group size value. The techniques covered in the guide are a summary of the most common ones used across the GPGPU industry, not just for SYCL.
This is a part 2 in a series exploring Granite‘s Vulkan backend. See part 1 for an introduction. Part 2 dives into code, and starts with the basics. The focus will be to discuss object lifetimes and how Granite deals with the Vulkan rule that you cannot delete objects which are in use by the GPU.
The focus of this NVIDIA tutorial and the provided code is to showcase a basic integration of ray tracing within an existing Vulkan sample, using the VK_NV_ray_tracing extension. Note that for educational purposes all the code is contained in a very small set of files. A real integration would require additional levels of abstraction.
If you’re coding 3D visualizations with Three.js, sooner or later you’ll want to move beyond using the library’s basic native shapes to using complex custom 3D shapes wrapped in UV mapped material. Since Three.js dropped support of its Blender exporter plugin in favor of relying on its glTF loader, exporting via the popular and versatile glTF file format is now the way to go for bringing Blender objects into your Three.js projects. This tutorial will walk through each step from creating a Three.js-compatible UV-wrapped 3D object in Blender to loading the object into a Three.js scene.
This mini-tutorial presents a simple use-case the new VK_EXT_conditional_rendering extension. With the new VK_EXT_conditional_rendering extension, Vulkan gains the possibility to execute certain rendering and dispatch commands conditionally, based on values stored in a dedicated buffer. So instead of having to rebuild command buffers if the visibility of objects change it’s now to possible to just change a single buffer value and the to control if the rendering commands for that object are executed without the need to touch any command buffers.
Intel has introduced the next part of their Vulkan API-related series of articles. In the Introduction to Vulkan* tutorial, they taught the most important basics. This part of the tutorial will show you how to use your current knowledge to display more complicated scenes.
The 52nd tutorial from ogldev.org on rendering a triangle in Vulkan has been published. In the previous tutorial we learned how to clear the window and were introduced to a couple of Vulkan entities that are key parts of that operation - the swap chain and the command buffer. This will require the introduction of four new Vulkan entities - the image view, render pass, framebuffer and the pipeline.
Magic Leap released a handful of tutorials and assets files that will help developers get a head-start in creating mixed reality content on Magic Leap One. Magic Leap said that Unity and Unreal already offer optimizations for Magic Leap hardware. The headset has full support for OpenGL 4.5 and OpenGL ES 3.1, but Magic Leap recommends building applications with the Vulkan API for the best performance.
A new GPUOpen has posted a new blog tutorial on reducing Vulkan API call overhead. This article looks at costs associated with complex applications that may end up calling Vulkan functions tens or hundreds of thousands of times per frame, and ways to reduce these calls. The technical read is from author Arseny Kapoulkine, who has worked on game technology for the past decade.
AMD is announcing the release of V-EZ, a middleware layer that significantly reduces the house-keeping overhead of Vulkan making it easier to use and more accessible to a broader base of developers. V-EZ will still retain the most powerful capabilities of Vulkan but with a simplified API that can be mixed with standard Vulkan where needed. Read on to learn more about some of V-EZ’s key technical features.