Persistance Of Vision Raytracer is a freeware application for making photorealistic images. It is generally considered one of the best raytracers around, and has many advanced features commonly only found in very expensive graphics software, such as caustics, radiosity, isosurfaces and much more.


POV-Ray has its roots in a raytracer called DKBTrace, written by David K Buck for the Amiga in 1986. Aaron Collins had it ported to the PC and added some more features to DKBTrace.

By 1989 DKBTrace had turned into the first version of POV-Ray, thanks to David K Buck's suggestion of forming a development team for improving the program. The name "Persistance Of Vision Raytracer" was chosen because, in the words of David K Buck:

"It was the result of a persistent vision of the developers, it was a reference to the Salvadore Dali work which depicted a distorted but realistic world, and the term "persistance of vision" in biology referred to the ability to see an image that was presented briefly - almost an after image."


POV-Ray offers the standard features one might expect from a raytracing application (polygon rendering, phong highlights, point lights, etc.) and the following:

POV-Ray uses mathematical primitives with parameters for modelling, such as spheres, boxes, torii, cylinders and such. Also included are height fields and different types of meshes, splines and parametric objects (objects that are described by a set of equations).

Many utilites have been written for translating various 3D graphics formats into the POV-Ray scene description language. In general it is fairly painless and easy to translate such formats with really good results.

Although POV-Ray is a very capable 3D graphics renderer, it does not have an internal 3D modeller as most other 3D graphics packages. There are third party applications that fill this role quite well, such as Moray, a dedicated modelling application that uses POV-Ray directly as a renderer and also has support for inverse kinematics and texture editing. Many other modellers and tools are being and have been developed, and many commercial 3D graphics packages can export into the POV-Ray format.

Scene Description Language

The POV-Ray scene description language is surprisingly easy to come to grips with. At first it might seem awkward to type in your scenes in text by hand, but after a while it comes quite naturally. An example:

camera {
  location <0, 2, -4>
  look_at  <0, 1,  0>

light_source {
  <-5, 10, -4>
  color rgb<1, 1, 0.95>
  point_at <0, 0, 0>
  radius 8
  falloff 12

plane {
  y, 0
  pigment {
    checker rgb<1, 1, 1>, <0, 0, 0>
  finish {
    specular 0.9
    roughness 0.01
    reflection 0.1

sphere {
  <0, 1, 0>, 1
  pigment {
    color rgb<1, 0, 0>
  finish {
    specular 0.95
    roughness 0.02
    reflection 0.3

This will create a red, shiny, reflective sphere on a checkered surface, illuminated by a spotlight

The SDL of POV-Ray has a structure similar to C, and has support for variable declarations (#declare). It is easy and very convenient to make macros for various tasks, such as recursive structures (i.e fractals) and for keeping a well defined structure of the scene description source files; the main scene might be in one file, textures in another and custom objects in a third one.

Many people have written include files for POV-Ray for making all sorts of things, such as gels, chains, cities, explosions and smoke.


POV-Ray is officially released with binaries on MS-DOS, Windows, Linux, Macintosh, Amiga and SunOS, with the most recent versions currently being available on Windows, Macintosh and Linux.

The source code can be downloaded for free for making custom compiles for any platform. The generic sources are written in ANSI C, so compiling is in most cases very easy.

The Windows and Macintosh versions come with a nice graphical user interface that features a source code editor with syntax highlighting, automatic indentation, macros and much more. The Unix and Linux versions are currently command-line-only, even though some third party user interfaces have been written for X. The Windows version can be used without the GUI as well.

POV-Ray has an active user community and many people make custom versions of POV-Ray, such as MegaPov, thanks to the source code being freely available. Some of these custom versions become patches and get included in the official POV-Ray distribution as it evolves.

Source: The POV-Ray manual.

POV-Ray homepage: