Opened 8 years ago

Closed 7 years ago

#709 closed enhancement (fixed)

Better sequential stereo rendering parameters

Reported by: Tom Goddard Owned by: Tom Goddard
Priority: major Milestone:
Component: Graphics Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: spsmith5@wisc.edu Platform: all
Project: ChimeraX

Description

The current sequential stereo camera parameters are a bit weird, making the models move further away and closer as you zoom, instead of just scaling in place. For this to work well the eye separation camera parameter needs to be chosen to match the size of the viewed structure which is awkward. Should consider more friendly parameterization and zooming for sequential stereo.

On Jun 5, 2017, at 6:01 PM, Tom Goddard wrote:

Hi Simon,

The ChimeraX —stereo option was unfortunately not hooked up, it didn’t even ask for a stereo OpenGL format. I fixed that just now and tested it on Windows 7 and an ancient Nvidia Quadro FX 2700 using Nvidia 3D Vision LCD glasses and emitter. Worked nicely. It required using the —stereo option, and starting from a shell, I was using a cygwin bash shell on Windows:

$ ChimeraX/bin/ChimeraX.exe —stereo

If it fails to start you can also use the —debug option, it will say it can’t get an OpenGL stereo context if you don’t have the driver settings right.

$ ChimeraX/bin/ChimeraX.exe —stereo —debug

It hasn’t been used much, it was hooked up 12 months ago for a short time and I tried it some then, we mostly focus on VR headsets. The sequential stereo zooming behavior and eye separation parameters are a bit wacky. Here are the docs on the camera command that sets the parameters.

https://www.rbvi.ucsf.edu/chimerax/docs/user/commands/camera.html

The two stereo parameters are "eyeSeparation <e>” and “pixelEyeSeparation <p>”. The eye separation is the distance between the eyes in the scene, ie in Angstroms, default 5, and the pixelEyeSeparation is the distance between your physical eyes in screen pixels, default 200 since typical screen is about 100 pixels per inch with eyes about 2 inches apart. When you zoom Chimera 1 and probably every other stereo display system makes the model bigger or smaller without getting farther away, but in ChimeraX it simply moves it closer or further from you. I tested on a 150 Angstrom diameter structure (PDB 1oel) and with eye separation at 5 Angstrom that makes the structure 30 times my eye width so it is going to have to be 5 or 10 feet away to all be in view (with 30 degree field of view) which is way way behind the screen. So I needed to change the eye separation to 50 Angstroms to have it floating close to the screen.

camera eyeSep 50

This is a bit awkward having to adjust your eye separation in scene units to be a good match for the size of the structure you are looking at. Chimera 1 parameterizes things differently with a focal plane distance that avoids this weirdness. We will improve this as need demands.

Tom

Change History (1)

comment:1 by Tom Goddard, 7 years ago

Resolution: fixed
Status: assignedclosed

Changed zooming in sequential stereo about a year ago to follow the Chimera 1 behavior where the eye-separation is changed so the apparent depth of the models relative to the screen remains the same. By holding a modifier key zooming by moving the models closer or further away can be done. These changes make sequential stereo zooming work as good as Chimera 1.

Note: See TracTickets for help on using tickets.