Hello. I am a Senior Visualization Researcher with The Renaissance Computing Insitute at UNC-Chapel Hill (www.renci.org). I have recently begun working with a couple of groups at UNC, including Brian Kuhlman's in conjunction with the Rosetta protein design and prediction project, to enable them to run PyMOL on our Ultra-high resolution stereo display. Our display consists of 2 Sony 4k (4xHD resolution) projectors set up for rear projection. The projectors fully overlap, and use circularly polarizing filters to achieve passive stereo. We are running on Windows XP.

So far, without touching any code, I can get it running in our environment by dragging the window to the top-left corner of the display (would prefer a borderless window positioned at (0,0), but moving the left edge just off the screen works), and calling viewport 7860,2160 (the total resolution of the two projectors, side-by-side). I can then turn on wall-eye stereo, load a file, and view it in stereo.

There are a number of issues with this approach, however:

1. I need to manually move the window just off the left edge of the screen. I'm aware that I can set the window position as a command line argument, but this will set the window border to the top-left corner, which is not quite what I want. Glut will not let us get a borderless window (it supports fullscreen mode, but this will only fullscreen to the primary monitor on windows, and the 2 projectors are seen as 8 monitors by Windows). However there is a hack to get around this. Calling glutPositionWindow(0, 0) after creating the window will move the client area of the window to (0, 0), which is what we want (I have tested this with p_glutPositionWindow(0, 0) from within PyMOL).

2. The internal gui is problematic. We basically need need both projectors to project the same image, except for the difference in viewpoint for the stereo model. Pushing the internal gui off the side of the display gives correct stereo rendering, but makes the gui unusable. Bringing the internal gui back onto the screen by changing the view width moves the stereo images out of alignment. The ideal solution here would be to fully replicate the internal gui in both the left and right halves of the screen. This way, the two stereo images would line up correctly, and both the left and right eyes would see a consistent view of the internal gui. It would be nice if both copies of the interal gui could be manipulated, as then it wouldn't matter which half of the screen your mouse happened to be on. A similar thing (replicate for left and right views) could also be done for the command line at the bottom of the screen.

3. A lesser problem is the fact that due to the ultra-high resolution of our displays, the text (both in the guis and in the 3D view) can be hard to read. It would be nice to be able to adjust this.



I was hoping to get some feedbackregarding what you think might be the best approach to tackle these issues (especially #2) and integrate these changes into PyMOL. I think such a stereo mode could be a nice contribution to PyMOL, as this type of dual-display stereo is quite common, and I'd be happy to make any changes available to the PyMOL community.

I hope this all makes sense, and thanks in advance for any feedback.


David Borland






Reply via email to