vtk.js rendering on Hololens

Hello,
I’m trying to display a hologram by launching AR on a web page in vtk.js. The hologram should be displayed on a Hololens 2 device. I currently observe a stereo effect on Hololens, as I am seeing two times the same hologram with a horizontal deformation. Can someone help me to debug it?
Thanks,
Alice

Hi @aliceb, thank you for using vtk.js! Unfortunately we only officially support VR headsets or mobile AR experiences at the moment, hence the behavior that you have observed on Hololens 2. That effort is tracked in the vtk.js WebXR roadmap at XR Feature Support · Issue #2571 · Kitware/vtk-js · GitHub.

If you are interested in contributing to the project, you may be able to add Hololens 2 support with a few changes to the vtk.js OpenGL RenderWindow at vtk-js/index.js at master · Kitware/vtk-js · GitHub. However, note that you may encounter additional issues in regards to WebGL/Direct3D rendering on the Hololens 2 headset.

Hello Tom,

Thanks for your answer. I’ve seen in the roadmap that Hololens 2 is listed in supported hardware, so I was a bit confused. Can you clarify in which way it is supported? Or not? Did you already invest some time in supporting it, or not?

Regards,

Alice Borbath

Hi @aliceb ,

No, at the moment the HoloLens 2 is not supported and is listed as an incomplete “Stretch Goal” in the vtk.js WebXR roadmap. We plan to look into adding the HoloLens 2 as a supported platform in the next few months.

Hi Alice,

It looks like your previous message may not have posted. But, as you may have already noticed, a few resources aligned and we were able to revisit support for AR HMDs earlier than expected. Those changes have now been merged as of vtk-js#2824 and the HoloLens 2 headset will be available in the next vtk.js release.

Once the vtk.js example website refreshes (around 30 minutes from now) you should be able to launch any of the vtk.js VR examples in the Edge browser on your HoloLens device. In testing the volume rendering examples can be a bit heavy for the mobile processor, so I would recommend starting with the “VR” or “GeometryViewer” examples.

Please update with a screenshot here if you continue to experience issues with the HoloLens headset. You can take a screenshot on the HoloLens 2 by pressing both volume buttons at the same time.

Thanks!

Hi Tom,

My previous message was telling that we saw your pull request of last week. In the meantime, we tested it and it’s perfectly working. Thanks a lot!

However, it seems the VTK examples are not updated yet. We still have the stereo effect for this example: vtk.js.

In the meantime, we tested it and it’s perfectly working.

Excellent!

However, it seems the VTK examples are not updated yet. We still have the stereo effect for this example: vtk.js.

In our testing the HoloLens 2 headset is treated by the WebXR API as a VR headset rather than AR. It currently is unclear whether this is as intended. Unfortunately that is beyond the scope of VTK.js to address, but in the meantime VR examples are expected to render correctly on the HoloLens 2.

Does the corresponding VTK.js VR example appear correctly on your HoloLens 2 headset? See our note on the AR example.

You can visit the WebXR Samples page to determine whether VR and/or AR sessions are supported by a given device.

Thanks for your reactivity. Yes, it is working perfectly, I didn’t see the AR note sorry. However, I still have a problem of interaction with the objects displayed. When I touch them, they slide to the right and become smaller. Is it a known problem?

However, I still have a problem of interaction with the objects displayed. When I touch them, they slide to the right and become smaller. Is it a known problem?

Yes, thanks for highlighting the issue. When viewing VR examples with a VR headset with a dedicated controller, the controller can be used for movement around the scene. I believe the behavior you’ve described is a bug where that control is not mapping properly to the HoloLens 2 hand tracking interaction scheme. I’ve entered an issue to track: [Bug] VR Example: Flight interactions are nonintuitive / nonfunctional on HoloLens 2 headset · Issue #2838 · Kitware/vtk-js · GitHub