paraview / VTK for dome projection?

I am not yet a Paraview user but we are considering to include it as a tool in our new 6m hemispherical projection dome. It has five projectors, but the geometry is a bit different to a CAVE. Warp matrices and edge blend masks are provided by a VIOSO system that provides the extrinsic calibration of projectors. Those are available e.g. as plain text or MPCDI/XML.
We will also have an optitrack tracking system.

  1. Can this be done?
  2. Has this been done?
  3. What is required to achieve this?

Many Thanks!
Tom

Hi Tom,
I’m not sure if it fits your need but we will add very soon the support of hemispherical (or even full sphere) rendering.
The MR for VTK is here : https://gitlab.kitware.com/vtk/vtk/merge_requests/4709 and for ParaView there : https://gitlab.kitware.com/paraview/paraview/merge_requests/2798
At the moment, the result is a single projected image but the internal step compute five (for the hemispherical) or six (for full sphere) images.

Hi Michael,
Kudos - this is exactly what we are looking for as the system can capture fisheye renders as two synchronous, 60 Hz, 4Kx4K renders for stereo viewing.

  1. I trust you will include a parameter to arbitrarily set the vertical FOV so you can see “below” the horizon when projecting into a 180° dome, and provide Altitude adjustments for tilted dome screens?
  2. Will this work for stereo setups and motion tracking?
  3. Are there any corner issues to be expected when rendering e.g. volumetrics across frustum edges?
    If possible, please let me know by the time this becomes available!

Thanks, Tom

  1. The FOV angle will be configurable and the altitude adjustment is set with the camera direction always pointing to the center of the dome.
  2. Stereo and motion tracking should work with VR plugin.
  3. Structured volume rendering works fine (does not work with OSPRay though).

This should be available next week.

Michael

@kwasnitschka the feature is merged in ParaView and VTK master

Hello Michael, I did a master checkout and updated to PV5.6.0 RC 3. Yet, it seems I don’t have in the source code the relevant files, for example those in VTK/Rendering/OpenGL2/ like vtkPanoramicProjectionPass.cxx.
Any suggestions of what I could do to fix this?
Thank you
Manuel

You may have forgot to update the submodules.

go to paraview source and run
git submodule update --init --recursive

Hi Mathieu and thanks for replying - I did the submodule update as you said, and did afterwards a clean make, but the situation hasn’t changed. I should perhaps also say that from the beginning, during running make I couldn’t connect to the paraview site server and downloaded manually http://www.paraview.org/files/v5.6/ParaView-v5.6.0-RC3.tar.xz , which I copied then in the superbuild downloads folder.
Best, Manuel

Hi Manu,
The feature is not available on v5.6.0-RC3.
You can easilly test it in the nightly builds.
https://www.paraview.org/download/ and select Nightly -> Latest

Thanks for tip Michael, I have it installed now.

Hi Michael,
Should this be useful, here’s a quick feedback on the Panoramic Projection Plugin:

  • there seems to be an issue with transparency - modifying the opacity of an object, results initially in that object changing position (and possibly scale), and being partially not displayed. At subsequent modifications of opacity though, the object remains in the same state/position and only transparency changes
  • it also appears that outputting a video or image sequence - it is not possible to achieve the desired dimension in pixels. I worked around this with a Python script in which “SaveScreenshot” was called at each time step, SaveScreenshot did get the right resolution (4K).
    Best, Manuel

Hi Manu,
Thank you for the feedback, this is very useful!

Indeed, I do reproduce the bug with the opacity, I will fix that asap.
Concerning the output in image/video format, this should work, I have tried it several times. Can you be more precise on what is not working?

Hmm, this seems to be happening without the Panoramic Plugin as well on my system: I just tried saving a simple sphere animation and got instead of 4096 x 4096 the resolution 11832 x 6424, saving to JPG.

Yesterday, with the Panoramic Plugin I tried also saving to 4096 x 4096 (AVI and JPG) , but I got both the resolutions: 5916 x 4340 or 11832 x 6656. I’m not able to tell the cause of the different resolutions, it was the same project.
Projection type here was azymuthal, with projection angle 180 and cube resolution 500.
My system is OSX 10.13.6