From: John Stone (
Date: Fri Dec 01 2006 - 10:49:26 CST

  No, OpenGL requires a front clipping plane, it's part of the
OpenGL rendering architecture. If you scale up the molecule without also
translating it away from you, it will eventually pierce the front
clipping plane and geometry will be clipped. You can easily translate
the molecule back, and then scale up, or you could use an orthographic
projection if you want to zoom in far without seeing perspective distortion
etc. In general you don't want to scale your molecules such that they are
near the front clip plane with a clip value as low as 0.01, primarily because
the OpenGL depth buffer doesn't encode depth linearly, and if you set the
front clipping plane down to 0.01 you'll end up greatly reducing the
depth buffer accuracy for objects only a small distance from the front
clipping plane, which can cause various odd looking rendering glitches
to occur, particularly on low-end game-oriented graphics accelerators
that use 16-bit or 24-bit integer depth buffers. I'd stick with a front
clipping plane setting of 0.5 or larger, which is a reasonable trade-off
between hidden surface removal accuracy and view volume constraints.
About the only case I know of where one really needs to have a very small
near clipping plane is when running in the CAVE or other VR systems, but
most people tend to use graphics boards with floating point depth buffers
for such systems, which are much less sensitive to the non-linear encoding
of depth used by OpenGL.

  John Stone

On Fri, Dec 01, 2006 at 04:26:29PM +0100, wrote:
> As one zooms in towards a rendered protein, a lot of nearby structures
> (lipids and other parts of the protein) start dissapearing even with a
> near clip of 0.01. Is there any way to prevent this ? Thank you !
> -H

NIH Resource for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
Email:                 Phone: 217-244-3349
  WWW:      Fax: 217-244-6078