Tag Virtual

SPIR-V reflection and Virtual Reality support at PasVulkan

PasVulkan now has SPIR-V reflection built in directly, without any external third-party dependencies, in other words, it is really pure Object Pascal code that parses the SPIR-V code and extracts information from it.

The new TpVulkanShaderModule.GetReflectionData API parses the SPIR-V code and then returns information about the types, specialization constants and variables used there as a TpvVulkanShaderModuleReflectionData data structure that can be used for example to automatically create Vulkan pipelines and render passes from it.

This is now especially useful for data-driven rendering concepts and dynamic material systems, which will be exactly the next steps at PasVulkan too.

And by the way, PasVulkan now also has Virtual Reality support (which currently uses the VK_KHR_multiview extension and the OpenVR/SteamVR API), see PasVulkan.VirtualReality.pas unit.

Hand controller tracking at my PasOpenVR project is also working now

Hand controller tracking at my PasOpenVR project is also working now 🙂

And not to mention the unreliability of camera-based controller tracking on WMR VR headsets in dark rooms where it has no reliability reference visual tracking points then.

New side-project PasOpenVR - OpenVR-based Virtual Reality with Object Pascal

My new side-project "PasOpenVR" OpenVR-based Virtual Reality with Object Pascal, compatible with Delphi >= 10.2 and FreePascal >= 3.0.4.

The next step is to implement the tracking of the hand controllers