The Persistence of Vision Ray-Tracer™, or POV-Ray, is a free ray tracing program available for a variety of computer platforms. It was originally based on DKBTrace, written by David K. Buck and Aaron A. Collins. There are also influences from the earlier Polyray raytracer contributed by its author Alexander Enzmann. It is freeware, and although it is not open source, the source code is available under the POV-Ray License. According to the documentation for the Windows version:

Without a doubt, POV-Ray is the world's most popular raytracer. From our website alone we see well over 100,000 downloads per year, and this of course doesn't count the copies that are obtained from our mirror sites, other internet sites, on CD-ROM, or from persons sharing their copies.

Table of contents
1 Features
2 Current Version
3 Development and Maintenance
4 Caveats
5 External Links

Features

POV-Ray has matured substantially since it was created. Recent versions of the software include some of the following features:

  • A Turing-complete scene description language that supports macros and loops.
  • Support for Constructive Solid Geometry modeling
  • Library of ready-made scenes, textures, and objects
  • Support for a number of geometric primitives
  • Several different kinds of light sources
  • Atmospheric effects such as fog and smoke
  • Reflections, refractions, and light caustics using photon mapping
  • Surface patterns such as wrinkles, bumps, and ripples, for use in procedural textures and bumpmapping
  • Robust image format support for textures and render output: TGA, PNG, JPEG (only input), just to name a few.
  • Excellent documentation

One of POV-Ray's main attractions is its large collection of third party support. A large number of tools, textures, models, scenes, and tutorials can be found on the web. It is also a useful reference for those wanting to learn how raytracing and related geometry and graphics algorithms work.

POV-Ray primitives

POV-Ray, in addition to ordinary shapes like tori, spheres and heightfields supports exotic mathematically defined primitives such as the isosurface (a finite approximation of an arbitrary function), the polynomial primitive (an infinite object defined by a 15th order or lower polynomial), the julia fractal (a 3-dimensional slice of a 4-dimensional fractal), the superquadratic elipsoid (a cross between a sphere and a square), and the parametric primitive (using equations that represent its surface, rather than its interior).

POV-Ray internally represents objects using their mathematical definition; all POV-Ray primitive objects can be described by a mathematical function. This is somewhat in contrast to many other 3D computer modeling packages, which typically use triangle meshes to compose all objects.

This fact provides POV-Ray with several advantages over other rendering / modeling systems. POV-Ray primitives are often smoother and more mathematically accurate than their polygonal counterparts. Objects that can be described in terms of spheres, planar surfaces, cylinders, tori and the like are perfectly smooth and mathematically accurate in POV-Ray renderings, whereas polygonal artifacts may be visible in mesh-based modeling software. POV-Ray primitives are also simpler to define than most of their polygonal counterparts. In POV-Ray, a sphere is described simply by its center and radius; in a mesh-based environment, a sphere must be described by a multitude of small polygons.

Current Version

The current official version of POV-Ray is 3.5. Some of the main features of this release:

Development and Maintenance

Official modifications to the POV-Ray source tree are done and/or approved by the POV-TeamTM. Parties interested in patch submission and/or bug reporting should join the POV-Ray newsgroups on the povray.org news server.

For those impatient for new features, there are unofficial forks and patched versions of POV-Ray available from third parties; however, these are not officially supported by the POV-TeamTM.

Caveats

Official POV-Ray versions currently do not support shader plug-ins. Some features, like radiosity and splines are still in development and may be subject to syntactical change.

External Links

Unofficial Patches