integrate the interactive features of a legacy
application may require major architectural changes.
The following observations can be made from the
effort to port PyMOL:
• PyMOL's use of the OpenGL rendering
pipeline provided a direct means to extend
the molecular visualizations to an
immersive platform using CAVELib
TM
.
• Thread-safety was a key issue. Without
PyMOL's existing thread-safe architecture
the immersive extension would have been
vastly more complicated.
• Being based on an embedded Python
interpreter, commands strings were easily
distributed across a cluster.
• Some object selection schemes designed for
two-dimensional pointing devices do not
scale well for three dimensional pointing
devices.
• Although PyMOL provided molecular
editing capabilities, these were not
designed to support the interactivity
necessary in an IVE.
Much work remains before the immersive PyMOL
will be fully capable of supporting rational drug
design. The ability to select molecules, bonds, and
atoms using a three-dimensional pointing device will
be critical to the success of the project. New data
structures will need to be added to PyMOL to
support this ability. Additionally, the performance of
PyMOL must be improved to reach the frame rates
necessary for interaction with large macromolecules.
Since PyMOL was not architected for rendering to
multiple windows, all OpenGL rendering must be
done in immediate mode. We are currently
investigating options for improving performance,
such as allowing display lists to be used in the
presence of multiple rendering contexts. Finally,
since PyMOL's internal GUIs are rendered using
OpenGL, we have begun investigating the
possibility of directly rendering them in the
immersive environment. Although we do not aim to
replicate all of PyMOL's functionality within the
IVE, this should improve the overall usability of the
immersive port.
ACKNOWLEDGEMENTS
This project was supported by a University of
Colorado Butcher Award and by equipment
donations from NVIDIA. We would like to thank
Geoffery Dorn, Gwen Pech, and Mick Coady of the
University of Colorado at Boulder, BP Center for
Visualization for their assistance, support and
advice. We are most grateful to the members of the
research groups who participated in the pilot study.
Professor Pardi was especially helpful in defining
the early stages of this project.
REFERENCES
Ai, Z. and Frohlich, T., 1998. Molecular Dynamics
Simulation in Virtual Environments. Computer
Graphics Forum. 17(3), 267-275.
Arns, L., Cook, D., Cruz-Neira, C., 1999. The benefits of
statistical visualization in an immersive virtual
environment. In Proceedings of IEEE Virtual Reality
1999. IEEE Press, 88-95.
Bowman, D.A., Kruijff, E., LaViola, J., Poupyrev, I.,
2005. 3D user Interfaces: Theory and Design.
Addison-Wesley.
DeLano, W.L., 2002. The PyMOL Molecular Graphics
System. DeLano Scientific, San Carlos, CA, USA.
http://www.pymol.org
Gruchalla, K., 2004. Immersive Well-Path Editing:
Investigating the added value of immersion. In
Proceedings of IEEE Virtual Reality 2004, IEEE
Press, 157-164.
Haase, H., Strassner, J., and Dai, F., 1996. VR techniques
for the investigation of molecule data. Computers &
Graphics, 20(2), 1996, 207-217.
Ihlenfeldt, W., 1997. Virtual Reality in Chemistry. Journal
of Molecular Modeling 3, 386-402.
Moshell, J.M., and Hughes, C.E., 2002. Virtual
environments as a tool for academic learning. In:
Stanney, K.M., (ed.) Handbook of Virtual
Environments. Lawrence Erlbaum Associates:
Mahwah, NJ. Chapter 45. pp 893-910.
Pausch, R., Proffitt, D., Williams, G., 1997. Quantifying
Immersion in Virtual Reality. Proceedings of the 24th
annual conference on computer graphics and
interactive techniques, 13-18.
Ranson, N., Farr, G., Roseman, A., Gowen, B., Fenton,
W., Horwich, A., Saibil, H., 2001. ATP-Bound States
of Groel Captured by Cyro-Electron Microscopy. Cell.
107. 869.
Swan, J., Gabbard, J., Hix, D., Schulman, R., and Kim, K.,
2003. A Comparative Study of User Performance in a
Map-Based Virtual Environment. Proceedings of
IEEE Virtual Reality 2003, IEEE Press, 259-266.
GRAPP 2007 - International Conference on Computer Graphics Theory and Applications
184