Skip to content
Snippets Groups Projects

ENH: VR support for Vulkan renderer

Merged Nicholas Milef requested to merge NickMilef/iMSTK:VR_Vulkan into master

VR support for Vulkan renderer. This turned out to be a lot of work, but also led to some improvements in the Vulkan renderer and interactor classes.

Status:

  • Corrected image layout transitions
  • Added additional framebuffer images in (low?) dynamic range to send to the headset
  • Headset displays two images now
  • Apply HMD transformation to camera
  • Refactor interactor classes for Vulkan
  • Implement stereo instanced rendering1
  • Update shaders to account to stereo rendering
  • Load/render controllers
  • Calculate the correct the camera position shader variables for VR mode
  • Identify performance bottlenecks and fix
  • Clean up destructor for Vulkan renderer
  • Fixed bug with uploading static mesh data

Known issues:

  • The validation layer is ironically complaining about image layout issues, but I can't identify the images that they affect. This may be internal to OpenVR, and perhaps updating OpenVR can fix these.
  1. uses VK_KHR_multiview, which limits support mainly to PC devices. However, this is the most efficient way to render VR currently. :leftwards_arrow_with_hook:

Edited by Nicholas Milef

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading