ParaView can now be rendered inside a zSpace device through a new Windows-only plugin already available in ParaView master ! It will be released in ParaView 5.10.
For the best viewing experience, it is meant to be used with Crystal Eyes stereoscopic 3D support. Please note that it is necessary to compile ParaView to access this plugin as it is not available in the binary release of ParaView.
What is zSpace
zSpace is a technology firm based in San Jose, California. Their device combines elements of virtual and augmented reality in a computer. zSpace allows people to interact with simulated objects in virtual environments as if they were real. zSpace is known for its progressive developments in human-computer interaction.
A zSpace device is composed of a stereo display, glasses, stylus and tracking systems.
The zSpace display is a stereo display. In order to display in stereo, at a 120 Hz refresh-rate, 60 fps for each eye, it relies on a needed quad-buffered GPU like a NVIDIA Quadro, using the Cristal Eyes stereo mode.
The stereo glasses enable users to see into the virtual world with a depth perception. As you tilt your head to look around an object, the zSpace device tracks it and can dynamically update its display to the correct perspective.
The stylus is also tracked by the zSpace system and has three buttons, a LED light and vibration capabilities. It allows users to interact with the virtual world.
First, download the zSpace SDK version 4.0.
Then, you need to enable the zSpace plugin by compiling ParaView with the CMake variable
PARAVIEW_PLUGIN_ENABLE_zSpace set to ON. CMake will try to locate the installed SDK by setting the two variables
If it is not found, set these variables manually. For example, depending on the location of the zSpace SDK :
zSpace_INCLUDE_DIR = "C:/zSpace/zSpaceSdks/184.108.40.206/Inc"
zSpace_LIBRARY = "C:/zSpace/zSpaceSdks/220.127.116.11/Lib/x64/zSpaceApi64.lib"
To enable stereo support with Crystal Eyes, make sure you have a Quad-buffer graphic card. You may need to enable stereo through the NVIDIA Control Panel or the AMD Catalyst Control Center. Then, launch ParaView with command-line option
--stereo --stereo-type=”Crystal Eyes”
Load the zSpace plugin through the “Tools >> Manage Plugins…” menu in ParaView depicted in the figure 1.
A new view named zSpaceView is now available, as seen in the figure below (you may need to create a new layout) :
Once opened, the view can be configured with various properties under the advanced panel of the View Properties visible in figure 4.
You can control the space between left and right eye images with the “Inter Pupillary Distance” property. This is the distance in meters, between the two pupils. This is useful to ensure a better stereo comfort.
- Turn around the scene, zoom in or out by moving your head : the zSpace device tracks the glasses to modify the camera viewpoint. This interaction enhances the depth perception and allows you to look at details in your data.
- You can observe the direction of the stylus in the 3D virtual world while moving it. This direction is drawn with an infinite red ray if the property “Draw Stylus” is ON. If “Interactive Picking” is ON, then at each frame, we check if the ray intersects a geometry. If something is hit, the ray becomes green. In case you load some heavy data, it can be useful to disable this property to gain performance.
- Grab an actor with the middle button :
You can reset all transformations applied with the middle button of the stylus by clicking on the “Reset User Transforms” button.
- Move various widgets such as
PlaneWidget or BoxWidgetto manipulate filters with the right button :
- Perform a pick at the location of the ray with the left button. You can choose to pick cells or points by setting the property “Picking Field Association”. After picking, the cell / point picked is highlighted and its information is displayed at the bottom left of the screen :
This work was supported by EDF (Electricité de France)
The zSpace technology is developed by the zSpace Company
Developments were done by Kitware Europe, France