Skip to content

Vulkan renderer

Nicholas Milef requested to merge NickMilef/iMSTK:VulkanRenderer into master

Instructions

Make sure that you download the VulkanSDK. I'm using version 1.0.46.0.

In CMake, enable Vulkan. This will replace the VTK renderer files with the Vulkan counterparts. The VulkanSDK should be found automatically.

It's recommended that you put a breakpoint in the Vulkan validation file in case something messes up. You must be in debug mode for this to work.

Shaders

Shaders are in the binary SPIR-V, but they are compiled through CMake, so they aren't on the repo. The GLSL source files are on the repo, however.

Features included in Vulkan (+)/missing but in VTK (-)

  • (+) Tessellation via PN Triangles: will not be added to VTK version unless VTK upgrades to OpenGL 4.0 (or adds an optional path for this)
  • (+) Separable Subsurface Scattering: will be added to VTK version eventually, but is related to both the material editor and the multipass architecture
  • (+) PBR lighting models: will be added to the VTK version via the material editor
  • (-) Tetrahedral, hexahedral, line meshes, etc.: will be added to the Vulkan version
  • (-) Certain material properties: will be added overtime, but this is also related to the material editor a bit
  • (-) Interactor features: some of the interactor features aren't implemented yet
  • (-) Cubemaps: there isn't support for the traditional variety of cubemaps as implemented in VTK

Issues resolved by this MR:

Edited by Nicholas Milef

Merge request reports