Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address issues related to integration with VTK 9.1 #91

Closed
jcfr opened this issue Mar 22, 2022 · 4 comments · Fixed by #131
Closed

Address issues related to integration with VTK 9.1 #91

jcfr opened this issue Mar 22, 2022 · 4 comments · Fixed by #131
Assignees
Labels

Comments

@jcfr
Copy link
Contributor

jcfr commented Mar 22, 2022

The following content was copied from #90 (comment)


(1) Retrieval of last position associated with generic tracker

Retrieval of last position associated with generic tracker in
vtkVirtualRealityViewInteractor::GetTrackedDevicePose given
the index is not possible.

⚠️ TODO: Handle retrieval of tracker position associated with generic tracker associated with index.

Background:

Add support for generic tracker originally contributed in these commits:

  • Kitware/VTK@6083532cf8 (ENH: Exposing the generic tracker openvr device type to downstream projects)
  • 59b7d1bf3 (Adding interface and logic to maintain MRML transforms for each generic VR tracker)

but removed following the refactoring done in these commits:

(2) RecognizeComplexGesture is not virtual anymore in base VTK class

⚠️ TODO: Assess with this function should still be overriden with VTK 9.1

Background: The function became non virtual in Kitware/VTK@af0fab486 (Clean up VR and OpenVR classes)

API changes

vtkEventData API changes:

  • vtkEventDataButton3D -> vtkEventDataDevice3D

RenderWindow API changes

  • GetNumberOfTrackedDevicesForDevice -> GetNumberOfDeviceHandlesForDevice
  • GetTrackedDeviceIndexForDevice -> GetDeviceHandleForDevice
  • GetTrackedDeviceModel -> GetModelForDevice
  • GetTrackedDeviceIndexForDevice -> GetDeviceHandleForDevice

InteractorStyle API changes

  • PositionProp sinature updated to include "lwpos" and "lwori"
@jcfr jcfr changed the title Address issue related to integration with VTK 9.1 Address issues related to integration with VTK 9.1 Mar 22, 2022
@cpinter
Copy link
Collaborator

cpinter commented Apr 6, 2022

I just got around to try the latest versions. The biggest issues I encounter are:

@cpinter
Copy link
Collaborator

cpinter commented Apr 8, 2022

@lassoan had the idea to check if volume rendering shows up with CPU rendering. It does not.

@lassoan
Copy link
Collaborator

lassoan commented Apr 8, 2022

Sometimes you need to disable and re-enable depth peeling to make volume rendering show up. Does it help?

You can also try to disable volume rendering in all views except in the VR view, add breakpoints in the volume rendering mapper and see if it gets called.

@cpinter
Copy link
Collaborator

cpinter commented Apr 13, 2022

Sometimes you need to disable and re-enable depth peeling to make volume rendering show up. Does it help?

You can also try to disable volume rendering in all views except in the VR view

These two didn't work. I'll debug into the mapper once the build succeeds (but on the VR computer the debug build failed many times due to an external data timeout. I updated and started the build again. Update: it keeps failing, this time with this download, the interesting part is that from the browser I can download it but the build always fails on one or another)

jcfr added a commit to jcfr/Slicer that referenced this issue Oct 13, 2022
See KitwareMedical/SlicerVirtualReality#91

Copied from "Fix projection matrix computation in VR" commit:

> Fix all mappers that use the VCDC matrix, e.g. GPUVolume, PointGaussian;
>
> The VCDC matrix must be transposed before being sent to the GPU.
> Also make sure that GetKeyMatrices is idempotent, and remove useless calls
> to it.


List of VTK changes:

$ git shortlog 73ca81bb4..97a187572 --no-merges
Lucas Gandel (1):
      [Backport MR-9620] Fix projection matrix computation in VR

Co-authored-by: Lucas Gandel <[email protected]>
jcfr added a commit to Slicer/Slicer that referenced this issue Oct 13, 2022
See KitwareMedical/SlicerVirtualReality#91

Copied from "Fix projection matrix computation in VR" commit:

> Fix all mappers that use the VCDC matrix, e.g. GPUVolume, PointGaussian;
>
> The VCDC matrix must be transposed before being sent to the GPU.
> Also make sure that GetKeyMatrices is idempotent, and remove useless calls
> to it.


List of VTK changes:

$ git shortlog 73ca81bb4..97a187572 --no-merges
Lucas Gandel (1):
      [Backport MR-9620] Fix projection matrix computation in VR

Co-authored-by: Lucas Gandel <[email protected]>
jcfr added a commit to jcfr/Slicer that referenced this issue Jan 30, 2023
…alReality

References:
* KitwareMedical/SlicerVirtualReality#109
* KitwareMedical/SlicerVirtualReality#91

List of changes:

$ git shortlog 465e9dff6a..6efd97c519 --no-merges
Jean-Christophe Fillion-Robin (1):
      [Backport MR-9892] ENH: Re-introduce support for custom logic handling VR complex gesture
jcfr added a commit to Slicer/Slicer that referenced this issue Jan 30, 2023
…alReality

References:
* KitwareMedical/SlicerVirtualReality#109
* KitwareMedical/SlicerVirtualReality#91

List of changes:

$ git shortlog 465e9dff6a..6efd97c519 --no-merges
Jean-Christophe Fillion-Robin (1):
      [Backport MR-9892] ENH: Re-introduce support for custom logic handling VR complex gesture
jcfr added a commit to lassoan/Slicer that referenced this issue Feb 21, 2023
…alReality

References:
* KitwareMedical/SlicerVirtualReality#109
* KitwareMedical/SlicerVirtualReality#91

List of changes:

$ git shortlog 465e9dff6a..6efd97c519 --no-merges
Jean-Christophe Fillion-Robin (1):
      [Backport MR-9892] ENH: Re-introduce support for custom logic handling VR complex gesture
@jcfr jcfr added the bug label Jun 14, 2023
@jcfr jcfr closed this as completed Dec 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants