org.jmol.g3d
Date: 2019-10-22

# Package org.jmol.g3d

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

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  G3DRenderer |

- Class Summary
  Class | Description
  --- | ---
  CircleRenderer | Implements flat circle drawing/filling routines.
  CylinderRenderer | Draws shaded cylinders in 3D.
  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.
  LineRenderer |
  Pixelator |
  PixelatorScreened | A class to create a "screened" translucent effect by discarding pixels in a checkerboard fashion.
  PixelatorShaded | A class to do Z Shading of pixels.
  PixelatorT | Handle pixels in Pass 2 - Translucency
  Platform3D | Specifies the API to an underlying int[] buffer of ARGB values that can be converted into an Image object and a short[] for z-buffer depth.
  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.
  TextRenderer | implementation for text rendering
  TextString |
  TriangleRenderer | renders triangles

## Package org.jmol.g3d Description

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.