SIV-1.0

I'm proud to present a new version of SIV, the stereoscopic jps viewer for Linux I published first in SIV - a stereoscopic jps viewer for Linux. SIV is  capable of displaying jps stereo images in different stereo modes. I tried it in fullscreen/windowed mode with anaglyphic and quad buffered stereo mode. Different output devices I tested were my Vuzix VR920 and relevator shutter glasses  on Nvidia Quadro FX 350M and FX 3400. The new version fixes some segfaults, that occured when needed libraries were missing. Furthermore I added a slideshow mode and the possibility to specify a default distance and therefore the possibility to set a default zoom factor. The coolest feature I addedd to the viewer is the headtracking support for the Vuzix VR920 HMD. For this you will need (in addition to the device ;) ) the headtracking driver downloadable on www.mygnu.de

Usage changes:

New commandline options are:

    * -s                                         Enable slideshow mode
    * -t                                         delay Delay for slideshow mode,
      defaults to 10 sec
    * -d                                         distance (values between 0.0 and
      1.0 are senseful)

These new options control the new headtracking support:

    * --vr920                             enable headtracking support for the vuzix vr920 hmd
    * -m                                        non default multicast ip
    * -p                                         non default multicast port

For detailed information on the -m and -p options see the article about the
headtracking driver on www.mygnu.de. They have the corresponding meaning. If
you want to try out the headtracking, enable the headtracking support with the
--vr920 option. You may want to specify the distance to the image with the -d
option. Values between 0.25 and 0.5 seem to have a nice effect when using the
headtracking. When headtracking is active you may press Z to set the zero view
so that with your current head position you will see the center of the image.
If you want to manipulate the view manually press 2 to enable the trackball manipulator and use i.e. the right moue button and up or down movements (with the mouse) to control the distance (zoom in or out). Afterwards press 1 to activate headtracking again.

For more usage documentation see the documentation for the old version, below.

Download:      

I decided to publish the viewer under the creative common license. Make sure you have the OpenSceneGraph library installed before trying to compile or run the viewer. You may download the full source (Eclipse Project) from here: [download#5] or an x86_64 binary from here: [download#6]. More binary formats may be available in the future. Fore the x86_64 binary you'll need OpenSceneGraph-2.8.

Binaries for most linux distributions can be downloaded from www.openscenegraph.org.  Instructions on how to build OpenSceneGraph on gentoo can be found on PlopByte.

Building from source:

For building from source unpack the zip and cd to siv/Release and run make.

Footnote:

If you like the viewer, feel free to link to www.mygnu.de. To request commercial licenses contact us at info(at)mygnu.de. Well, if you just want to support our work on MyGNU.de use the donate button ;)


documentation for V0.1:
----------------------------------------------------------------------------------
Usage:

    Usage: ./siv [options] jpsfile(s)
    Options:
    --CullDrawThreadPerContext                 Select CullDrawThreadPerContext
    threading model for viewer.
    --CullThreadPerCameraDrawThreadPerContext  Select
    CullThreadPerCameraDrawThreadPerCo-
    ntext threading model for viewer.
    --DrawThreadPerContext                     Select DrawThreadPerContext
    threading model for viewer.
    --SingleThreaded                           Select SingleThreaded threading
    model for viewer.
    --accum-rgb                                Request a rgb accumulator buffer
    visual
    --accum-rgba                               Request a rgb accumulator buffer
    visual
    --cc                                       Request use of compile contexts and
    threads
    --clear-color <color>                      Set the background color of the
    viewer in the form "r,g,b[,a]".
    --display <type>                           MONITOR | POWERWALL |
    REALITY_CENTER |
    HEAD_MOUNTED_DISPLAY
    --rgba                                     Request a RGBA color buffer visual
    --samples <num>                            Request a multisample visual
    --screen <num>                             Set the screen to use when multiple
    screens are present.
    --serialize-draw <mode>                    OFF | ON - set the serialization of
    draw dispatch
    --stencil                                  Request a stencil buffer visual
    --stereo                                   Use default stereo mode which is
    ANAGLYPHIC if not overriden by
    environmental variable
    --stereo <mode>                            ANAGLYPHIC | QUAD_BUFFER |
    HORIZONTAL_SPLIT | VERTICAL_SPLIT |
    LEFT_EYE | RIGHT_EYE |
    HORIZONTAL_INTERLACE |
    VERTICAL_INTERLACE | CHECKERBOARD |
    ON | OFF
    --window <x y w h>                         Set the position (x,y) and size
    (w,h) of the viewer window.
    -O <option_string>                         Provide an option string to
    reader/writers used to load
    databases
    -e <extension>                             Load the plugin associated with
    handling files with specified
    extension
    -h or --help                               Display this information
    -l <library>                               Load the plugin

You may notice that most of the options come from osgViewer, which is the base class for the viewer. This gives the advantage, that one can use the "normal" osgViewer controls such as flying around the scene. Try holding the right mouse button and moving the mouse up or down for zooming out or in. Or press F for toggling fullscreen mode or press S for toggling the stats (fps, etc.) display.

You may supply multiple .jps files at the command line.  I.e. ./siv *.jps will display all jps files in the current folder ;)

Once the first image of the list is being displayed you may use CURSOR_UP/DOWN or the mouse wheel to select a different image for being displayed. In future versions I may implement a diashow function...

When displaying an image the filename of the image is displayed in the lower left corner.

Possible Problems:

As default SIF starts in fullscreen quad buffered stereo mode. Thus if your graphics hardware does not support this mode, the viewer will exit with the following error:

    Error: Not able to create requested visual.
    GraphicsWindow has not been created successfully.
    Viewer::realize() - failed to set up any windows

In this case try anaglyphic mode or the apropiate 3D mode for your hardware (see the --stereo option).

Download:

I decided to publish the viewer under the creative common license. Make sure you have the OpenScenegraph library installed before trying to compile or run the viewer. You may download the full source (Eclipse Project)  or an x86_64 binary from www.mygnu.de. More binary formats may be available in the future.

Binaries for most linux distributions can be downloaded from www.openscenegraph.org.  Instructions on how to build OpenSceneGraph on gentoo can be found on PlopByte.

Building from source:

For building from source unpack the zip and cd to siv/Release and run make.
