- POV-Ray
Infobox_Software
name = POV-Ray
caption =
developer = The POV-Team
latest_release_version = 3.6
latest_release_date =October 03 ,2004
latest_preview_version = 3.7.beta.29b
latest_preview_date =october 03 ,2008
operating_system =Cross-platform
genre = Ray tracer
license = POV-Ray License
website = [http://www.povray.org/ www.povray.org]The Persistence of Vision Raytracer, or POV-Ray, is a
ray tracing program available for a variety of computer platforms. It was originally based onDKBTrace , written byDavid Kirk Buck andAaron A. Collins . There are also influences from the earlier Polyray raytracer contributed by its authorAlexander Enzmann . POV-Ray isfreeware with the source code available.History
Some time in the 1980s,
David Kirk Buck downloaded thesource code for aUnix raytracer to hisAmiga . Interested, he played with it for a while, eventually deciding to write his own raytracer, namedDKBTrace after his initials. He posted it to hisbulletin board system , thinking others might be interested in it. In 1987,Aaron A. Collins downloaded DKBTrace and began working on anx86 -based port of it. He and David Buck collaborated to add several more features. When the program proved to be more popular than anticipated, they could not keep up with demand for more features. Thus, in July 1991 David turned over the project to a team of programmers. At the same time, he felt that it was inappropriate to use his initials on a program he no longer maintained. The name "STAR" (Software Taskforce on Animation and Rendering) was considered, but eventually the name became the "Persistence of Vision Raytracer", or "POV-Ray" for short. [ [http://www.povray.org/documentation/view/3.6.0/7/ POV-Ray: Documentation: 1.1.5 The Early History of POV-Ray ] ]POV-Ray was the first ray tracer to render an image in orbit, rendered by
Mark Shuttleworth inside theInternational Space Station . [ [http://www.oyonale.com/iss.php Reach for the stars ] ]Features of the application and a summary of its history are discussed in an interview with David Kirk Buck and Chris Cason on episode 24 of
FLOSS Weekly [ [http://twit.tv/floss24 The TWiT Netcast Network with Leo Laporte ] ] .Features
POV-Ray has matured substantially since it was created. Recent versions of the software include the following features:
* A Turing-complete scene description language (SDL) that supports macros and loops. [See the SCC3 page at http://local.wasp.uwa.edu.au/~pbourke/modelling_rendering/scc3/final/ for an example of complete POV-Ray images made with no more than 256 bytes of SDL, several of which use recursion and macros to compress the code]
* Library of ready-made scenes, textures, and objects
* Support for a number ofgeometric primitive s andconstructive solid geometry
* Several kinds oflight source s
*Atmospheric effect s such asfog and media (smoke ,clouds )
* Reflections,refraction s, and light caustics usingphoton mapping
* Surface patterns such aswrinkle s,bump s, andripple s, for use inprocedural textures andbump mapping
*Radiosity
* Image format support fortexture s and rendered output, including TGA, PNG,JPEG (only input) among others
* Extensiveuser 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
ray tracing and related geometry and graphics algorithms work.Current version
The current official version of POV-Ray is 3.6. Some of the main features of this release:
* ExtendsUV-mapping to more primitives.
* Adds 16 and 32 bit integer data to density file.
* Variousbugfix es andspeed-up s.
* Improved 64 bitcompatibility .Beta-testing of version 3.7 is underway as of July 2008. The main improvement over 3.6 will be SMP support to allow the renderer to take advantage of multiple processors. Additionally, support has been added for HDRI, including the
OpenEXR and Radiance file formats, and improved bounding using BSP trees.In July 2006,
Intel corporation started using the beta version to demonstrate their new dual-core Conroe processor due to the efficiency of the 3.7 beta's SMP implementation. [http://www.intel.com/performance/desktop/extreme/high_end_rendering.htm]Primitives
POV-Ray, in addition to standard
geometric shapes like tori,sphere s andheightfield s, supports mathematically defined primitives such as theisosurface (a finite approximation of an arbitrary function), thepolynomial 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 ellipsoid (intermediate between a sphere and a cube), and theparametric primitive (using equations that represent its surface, rather than its interior).POV-Ray internally represents objects using their mathematical definitions; all POV-Ray primitive objects can be described by mathematical functions. This is different from many 3D computer modeling packages, which typically use triangle meshes to compose all objects.
This fact provides POV-Ray with several advantages and disadvantages over other rendering / modeling systems. POV-Ray primitives are more 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.
On the other hand, primitive-, script-based modeling is not always a practical method to create objects such as realistic characters or complex man-made artifacts like cars. Those objects have to be created in mesh-based modeling applications such as
Wings 3D or Blender and then converted to POV-Ray's own mesh format.Examples of the Scene Description Language
The following is an example of the scene description language used by POV-Ray to describe a scene to render. It demonstrates use of the camera, lights, a simple box shape and the transforming effects of scaling, rotation and translation.
The following script fragment shows the use of variable declaration, assignment, comparison and the while loop construct:
Development and maintenance
Official modifications to the POV-Ray source tree are done and/or approved by the POV-Team. Most patch submission and/or bug reporting is done in the POV-Ray newsgroups on the povray.org news server. Since POV-Ray's source is available there are unofficial forks and patched versions of POV-Ray available from third parties; however, these are not officially supported by the POV-Team.
Official POV-Ray versions currently do not support
shader plug-ins [for such an implementation, see e.g. http://www.aetec.ee/fv/vkhomep.nsf/pages/povman2] . Some features, likeradiosity and splines are still in development and may be subject to syntactical change.Platform Support
POV-Ray is distributed in compiled format for
Macintosh , Windows andLinux .Support forIntel Mac s is not available in theMacintosh version, but sinceMac OS is a version ofUnix the Linux version can be compiled on it. POV-Ray also could be ported to any platform which has compatibleC++ compiler.People with Intel Macs can use
MegaPOV though, as that is compiled asUniversal Binary .Licensing
POV-Ray is distributed under the POV-Ray License, which permits free distribution of the program source code and binaries, but restricts commercial distribution and the creation of derivative works other than fully functional versions of POV-Ray.
Although the
source code is available for modification, due to specific restrictions, it is notopen source according to the OSI definition of the term. One of the reasons that POV-Ray is not licensed under the free softwareGNU General Public License (GPL), or other open source licenses, is that POV-Ray was developed before the GPL-style licenses became widely used; the developers wrote their own license for the release of POV-Ray, and contributors to the software have worked under the assumption that their contributions would be licensed under the POV-Ray License.The whereabouts of some of the contributors to the
source code are unknown, and therefore the license cannot be changed, since the permission of all contributors would be required.A complete rewrite of POV-Ray ("POV-Ray 4.0") is currently under discussion, which would use a more liberal license, most likely GPL v3 [cite web
url=http://news.povray.org/povray.general/message/%3C46e091ef%241%40news.povray.org%3E/#%3C46e091ef%241%40news.povray.org%3E
title=Re: Status of Moray? ("The answer is about POVRay")
last=Cason|first=Chris
date=2007-09-06
quote="Now that process has been completed, as a group we feel the GPL3 is the way to go and have informally decided that 4.0 will be GPL3-licensed."
accessdate=2007-12-09] .ee also
*
YafRay (Yet Another Free Raytracer)
*Kerkythea Free ray tracing program with enhanced Sketchup compatibility
*Sunflow an open source rendering system for photo-realistic image synthesis written in Java
*Blender (software) a free and open-source software program for 3D modeling, animation, and renderingReferences
External links
* [http://www.povray.org/ POV-Ray homepage]
* [http://dmoz.org/Computers/Software/Graphics/3D/Animation_and_Design_Tools/POV-Ray/ Category at ODP]
Wikimedia Foundation. 2010.