The Raster3D molecular graphics package consists of a core program
and a number of ancillary programs that read atomic coordinates from
PDB (Protein Data Bank) files to produce scene descriptions for input to render.
Raster3D can also render images composed using other programs such as
Raster3D uses a fast Z-buffer algorithm to produce high quality pixel images
featuring one shadowing light source, additional non-shadowing light sources,
specular highlighting, transparency, and Phong shaded surfaces.
Output is in the form of a pixel image with 24 bits of color
information per pixel plus one matte channel.
Raster3D does not depend on graphics hardware. The rendering program currently
supports output to files in AVS, JPEG, TIFF, PNG and SGI libimage format.
To actually view or manipulate the images produced, you must also have installed
an image viewing package (e.g. John Cristy's ImageMagick or the SGI libimage utilities).
The Raster3D rendering program can be integrated with ImageMagick to
expand the flexibility of output formats and interactive use.
Ancillary programs are provided for the generation of object
descriptions based on atomic coordinates stored in PDB format.
Although Raster3D is not intended as a general purpose ray-tracing package,
nothing in the rendering process is specific to molecular graphics.
Some of the algorithms used have been chosen for speed rather than generality,
however. They work well for molecular graphics images, but possibly
would produce odd results if used for very different types of image.
Raster3D currently supports rendering six object types: spheres,
triangles, planes, smooth-ended cylinders, round-ended cylinders,
and quadric surfaces. It also supports the definition of material
properties (transparency, bounding planes, color, reflectivity)
that apply to groups of objects within the rendered scene.
Version 2.1 added support for additional "object types" which are
really modifiers for characteristic properties of existing objects.
These have since been expanded to include the specification of
explicit surface normals, colors, and transparency at the vertices
of the current object.
Version 2.2 added support for transparency.
Version 2.3 added support for
file indirection, additional anti-aliasing options, internal
light sources, and a separate alpha blend (matte) channel in the rendered image.
There is a new shell script, stereo3d
to automatically generate a side-by-side stereo pair from a Raster3D input file.
Version 2.4 added support for
generalized quadric surfaces (ellipsoids, cones, etc).
Input lines beginning with '#' are treated as comments.
It introduced the utility program rastep
which generates "thermal ellipsoid" representations of atoms based on the
Biso or Uij entries in a PDB file (ANISOU cards). The option of coloring
based on B values was added here and elsewhere.
Version 2.5 added support for Z-clipping, output to a JPEG image
file on stdout, piped output to ImageMagick for automatic conversion to
additional image types, and file indirection of header records.
It also upgraded support for handling labels (object types
10,11,12) using PostScript. See
r3dtops and label3d
Version 2.6 adds support for bounding planes, and removes the
previous limit on stacking transparent objects. The installation process
has been modified so that all user-configurable options are collected into
the files parameters.incl and Makefile.template.
Using only programs included in the Raster3D distribution one can create and
render space-filling models, ball-and-stick models, ribbon models, and figures
composed of any combination of these. The following set of commands would
produce a composite figure of an Fe-containing metalloprotein with a smoothly
shaded ribbon representation of the protein and spheres drawn for the Fe atoms:
# Draw smooth ribbon with default color scheme 2,
# save description (with header records) in ribbon.r3d
cat protein.pdb | ribbon -d2 > ribbon.r3d
# Extract Fe atoms only, and draw as spheres.
# Color info is taken from colorfile.
# Save description (with no header records) in irons.r3d
grep ``FE'' protein.pdb | cat colorfile - | balls -h > irons.r3d
# combine the two descriptions and render as AVS image file
cat ribbon.r3d irons.r3d | render > picture.x
One can alternatively use Molscript to produce a Raster3D
input file by using the -r switch. Integrated use of
Molscript/Raster3D/ImageMagick allows one to describe, render, and view 3D
representations of existing Molscript figures.
molscript -r < infile.dat | render | display avs:-
A similar example using xv as an image viewer, and assuming that
TIFF support has been built into the render program:
molscript -r < infile.dat | render -tiff image.tif
The same image rendered as a side-by-side stereo pair:
molscript -r < infile.dat | stereo3d -border -png stereo_pair.png
Raster3D distribution also includes a filter utility which will convert the
24-bit color output stream from render into a dithered black & white
render < description.r3d | avs2ps > picture.ps
- anonymous ftp site:
- ftp.bmsc.washington.edu /pub/raster3d/
- via WWW:
- Ethan A Merritt
Dept of Biological Structure
University of Washington,
Seattle WA 98195-7742
Required for full installation:
- Support for direct output of PNG images requires prior installation of the
libpng and libz libraries. If these are not distributed with
your operating system you can get the source from
PNG files allow transparent backgrounds and alpha blending, and can be
viewed using a web browser.
- In order to build in support for the direct output of TIFF image files,
you must separately obtain and install a copy of the TIFF library
(libtiff.a). Several implementations are available, including one by
Sam Leffler which may be obtained via anonymous ftp from
sgi.com. Some recent TIFF libraries
no longer support LZW compression due to concerns about patent enforcement by
Unisys. This makes TIFF much less useful than it used to be. Consider using PNG
format instead, as it has most of the good features of TIFF and also can be
viewed by web browsers.
- In order to build in support for output of JPEG images you must have a
copy of the JPEG library. If your system does not already have this
library installed, you can obtain it directly from the Independent JPEG Group
development project via anonymous ftp from
- In order to view the rendered images on a workstation screen you must
also obtain and install an image viewer.
Two commonly available viewers are John Christy's
(also available via anonymous ftp from
and John Bradley's xv.
- Used only by the label-processing tools
r3dtops and label3d.
Some other programs with direct Raster3D output modes:
- Figures composed in Molscript can be rendered in Raster3D rather than
being printed as PostScript images. The features of Raster3D version
2.0 are supported by Moslcript version 1.4 (with a couple of additional
patches that come in the Raster3D distribution). To obtain Molscript
please contact Per Kraulis directly (Email:
firstname.lastname@example.org). There is now a
Molscript web page at
- ORTEP and the small molecule world
- ORTEX V7 (an interactive descendent of Carroll Johnson's ORTEP program)
now supports Raster3D as an output mode. ORTEX runs under DOS/Windows,
and is available from
Another small molecule package running under Windows and incorporating
Raster3D rendering options is WinGX, available from
- an X11-based front-end (GUI) for the Raster3D programs developed by
Hillary Gilson at NIST,
- Biomolecular visualization tool from the Theoretical Biophysics group
at the University of Illinois,
- Figure generation and analysis tool for RNA and DNA structures.
X3DNA Web site:
- General crystallographic model building, map fitting, and
analysis program by Duncan McRee, available in both academic and
Several auxiliary programs are available from the ftp site above which may be
useful, though they have not been kept up to date with the current Raster3D
version. These include two attempts to aid in the composition of Raster3D
images (atoms, preras3d) and tools for conversion to half-toned monochrome
images and annotation and display of the images (viewtools). Most of the code
was written specifically for SGI workstations, and may not transport well to
Originally written by David J. Bacon and Wayne F. Anderson. Ancillary programs
by Mark Israel, Stephen Samuel, Michael Murphy, Albert Berghuis, and Ethan A
Merritt. Extensions, revisions, and modifications by Ethan A Merritt.
If you use the package to prepare figures for publication,
please give proper credit to the authors; the proper citation for the
most recent version of the package is Merritt & Bacon (1997) as given below.
Bacon, D.J., & Anderson, W.F. (1988) ``A Fast Algorithm for Rendering
Space-Filling Molecule Pictures''. (abstract of paper presented at the Seventh
Annual Meeting of the Molecular Graphics Society). J. Molec. Graphics 6,
Kraulis, P.J. (1991) ``MOLSCRIPT: a program to produce both detailed and
schematic plots of protein structures''. J. Appl. Cryst. 24, 946-950.
Merritt, E.A. & Murphy, M.E.P. (1994) ``Raster3D Version 2.0 - A Program
for Photorealistic Molecular Graphics''. Acta Cryst. D50, 869-873.
Merritt, E.A. & Bacon, D.J. (1997) ``Raster3D
Photorealistic Molecular Graphics''. Methods in Enzymology 277, 505-524.
Back to top