[Home] | [Articles Index]

Persistance of Vision Raytracer: A Program Worth Exploring

by Ted Kuik

Some of the best things in life are free. The Persistance of Vision Raytracer is is one of those things. POVRay, a powerful as well as versatile 3d graphics creation program, is available from the fine folks at POVRay.org as a free download. Although free, POVRay has many of the features and capabilities you would expect in an expensive 3d graphics program. Using the vast array of shapes, textures, lighting sources, and commands available, you type in the code to create anything from a simple geometric object to a complex scene, tell the program to render the scene, and watch the graphics appear. It's fun. It's addictive. It's hard to tear yourself away for mundane things like sleep.

As with most programs of this nature, however, getting started requires a bit of time and effort. Computer programmers will probably have a shorter learning curve than others, as the "scene description language" POVRay uses is somewhat similar to other programming languages. Until late 2005, I had dabbled in POVRay a few times over the years (it's been around a long time) but never put forth the effort to get beyond simple scenes. Wanting to do more, however, I bit the bullet and spent maybe ten or fifteen hours over a couple of weeks to gain greater skill and understanding in the program. I regard the time and effort very well spent as it didn't seem like too long before I was "over the hump" and able to create some really neat scenes. Once you gain a certain level of skill with POVRay, you have a powerful tool to create a lot with relatively few lines of code.

A Simple Scene Rendered In POVRay A More Complex Rendered In POVRay

I am definitely NOT claiming to have mastered ALL of the capabilities of POVRay - There are many levels to which you can take your skill with the program. Take the area of textures. The program comes with a vast collection of metal, stone, wood, and other textures you can use in the objects you create. I have enjoyed trying a great many of them, experimenting with how they look under different lighting conditions, and so forth. One thing I have not tried doing (yet!) is to create my own textures, which can certainly be done using POVRay. And while I've done all sorts of things with boxes, cylinders, cones, spheres, and even "sphere sweeps" and "height fields", there are still many other objects I have yet to explore. The neat thing about POVRay is that you can make great scenes without knowing everything there is to know about the program, but if you want the more advanced features, they are there, waiting to be used.

One feature in POVRay which I would definitely recommend mastering fairly early on is "constructive geometry". This is simply a set of commands that POVRay uses to combine simple objects to build more complex objects, much like the role of subroutines in other programming languages. So if I want to create, say, a medieval tower I could combine a cylinder object with a cone object using the "union" operation, designate textures appropriate for stone walls and roof, and presto I have my own user-defined "tower" object. Of course I could get fancier, perhaps using the "difference" operation to hollow out the tower with a slightly smaller cylinder, punch out spaces for door and windows with boxes, etc. One could easily spend a lot of time and effort making a very fancy tower. Once the effort has been put forth, though, the "Fancy Tower Object" can be quickly and easily deployed in many scenes (or in many instances in the same scene).

I find I vastly prefer the text-based environment of POVRay to some of the graphic scene creation software I have tried. For those of you who must have a graphic environment, however, there is a graphical shareware wire-frame modeller designed especially to work with POVRay called Moray. Whichever your preference, happy modeling!

 
 

Last Revised March 13, 2006

© Copyright 2006, Ted Kuik/Kuik Computer Services. All rights reserved.