# Package org.jmol.g3d

package org.jmol.g3d

Provides a software implementation of complete 3D graphics engine for rendering molecules and associated shapes. basic shapes.

This package implements all graphics primitives used by Jmol. The graphics engine does not use Java3D or OpenGL. It requires no specialized graphics hardware. This allows Jmol and the JmolApplet to run on any machine that has a JVM.

It is a software implementation of a graphics z-buffer. An int[] called pbuf (for pixel buffer) is used to hold ARGB values for pixels. A short[] called zbuf holds the z-depth value.

Shape primitives are provided for drawing spheres, cylinders, triangles, etc. Shading primitives provide lighting/shading support

## Related Documentation

Makes use of javax.vecmath classes.

Class
Description
CircleRenderer
Implements flat circle drawing/filling routines.
G3DRenderer
Graphics3D
Provides high-level graphics primitives for 3D visualization for the software renderers.
HermiteRenderer
Implementation of hermite curves for drawing smoothed curves that pass through specified points.
PrecisionRenderer
Note added 4/2015 BH: Well, it turns out that the calculation of the intermediate pixel z value in all methods involving rasterization of lines is incorrect and has been incorrect since Jmol's inception.
SphereRenderer
Implements high performance rendering of shaded spheres.
TriangleRenderer
renders triangles