Scroll to navigation

POV-Ray(1) Version 3.8.0 POV-Ray(1)


povray - POV-Ray: The Persistence of Vision Ray Tracer


povray [+Ooutput_file] [+/-option ...] [input_file]

povray [+Iinput_file] [+Ooutput_file] [+/-option ...] [INI_file]


POV-Ray is a free, full-featured ray tracer, written and maintained by a team of volunteers on the Internet. On the UNIX platform POV-Ray can be compiled with support for preview capabilities using the Simple DirectMedia Layer V1.2 library (

This manual page only lists the basic POV-Ray and UNIX specific features and command-line options for this version of POV-Ray. For a complete description of the features of POV-Ray and its scene description language (a.k.a. POV-Ray SDL), or for a better explanation of the meaning of the command-line and INI file options, please consult the online documentation at or the documentation capture that should accompany all versions of POV-Ray. The documentation is installed in PREFIX/share/doc/povray-3.8, where PREFIX is /usr/local by default, or a path specified when configuring the source package for compilation and installation.

Some of the UNIX-specific features are:

ASCII graphics in the text-mode version allow a basic view of the current rendering on text-only terminals.
An interrupt handler allows rendering to be interrupted in a safe way, so that any data not currently written to disk will be saved before exiting. Control-C or SIGINT will cause a user abort, and save the current rendering, before exiting. See kill(1) for more information.
Platform and architecture-independent rendering means that the same scene will render in the same way on all computers and operating systems (with the exception of the rendering speed, of course).


Options can be specified with either a leading '+' or a leading '-'. Many options are switches, meaning a '+' turns the option on, and a '-' turns the option off. For other options, it doesn't matter if a '+' or a '-' is used. Most options cannot have spaces in them so you should specify +FN rather than +F N, and combining options is not allowed, so +SC is very different from +S +C. Options are not case sensitive.

The command-line options are shown below with their corresponding INI file options. If the same option is specified multiple times, whether in INI files or on the command-line, the last such option overrides any previous ones, with the exception of the +L or Library_Path option, which is cumulative.

Parsing options:

Specifies the input file to use. Only real files are supported. Using '-' as the input file name, to read from the standard input, is deprecated.
Specifies a file as the first include file of a scene file. This can be used to always include a specific set of default include files used by all your scenes.
Specifies a directory to search for input files, include files, fonts, and image maps, if the specified file is not in the current directory. This may be specified multiple times to increase the number of directories to search.
Treat scene files as if they were version n.n instead of the current version. This may be overridden from within the scene file.
Split bounded CSG unions if children are finite. This allows automatic bounding of CSG objects to take place.
Remove unnecessary bounding objects. This allows automatic bounding of older scene files to take place.
Enable BVH (Bounding Volume Hierarchy) bounding (the default).
Enable BSP (Binary Space Partitioning) tree bounding.

Output options:

The image should be n pixels high.
The image should be n pixels wide.
Start the rendering at row n from the top of the screen.
Start the rendering n percent from the top of the screen.
End the rendering at row n from the top of the screen.
End the rendering at n percent from the top of the screen.
Start the rendering at column n from the left of the screen.
Start the rendering at n percent from the left of the screen.
End the rendering at column n from the left of the screen.
End the rendering at n percent from the left of the screen.
Continue a previously interrupted scene trace.
Create trace state file needed to later continue an interrupted scene trace.
If previewing, pause when the rendering is complete before closing the window.
Output verbose status messages on the progress of the rendering.
Set warning level to n.

Output options - display related:

Turns graphic display on/off, if program built with Simple DirectMedia Layer library.
Start mosaic preview with blocks n pixels square.
End mosaic preview with blocks n pixels square.
Draw vista rectangles before rendering has been deprecated.

Output options - file related:

Store the rendered image using one of the available formats, namely BMP, Compressed TGA, OpenEXR, Radiance High Dynamic-Range, JPEG, PNG, PPM, and TGA given all the image libraries are available. If no image output option specified, output defaults to (PNG).
Write the output to the file named output_file, or the standard output if '-' is given as the output file name.
Sets the allowable size of the output image cache in megabytes.

Tracing options:

Use automatic bounding slabs if more than n objects are in the scene.
Render at quality n. Qualities range from 0 for rough images and 9 for complete ray-tracing and textures, and 10 and 11 add radiosity.
Do antialiasing on the pixels until the difference between adjacent pixels is less that 0.n, or the maximum recursion depth is reached.
Specify the method of antialiasing used, non-adaptive (n = 1), or adaptive antialiasing (n = 2).
Specify maximum radius, in pixels, that antialiased samples should be jittered from their true centers.
Set the maximum recursion depth for antialiased pixel sub-sampling.
Use alpha channel for transparency mask.
Use light buffer to speed up rendering has been deprecated.
Use vista buffer to speed up rendering has been deprecated.

Animation options:

Render a single frame of an animation with the clock value n.n.
Specify the initial frame number for an animation.
Specify the final frame number for an animation. This must be set at a value other that 1 in order to render multiple frames at once.
Specify the clock value for the initial frame of an animation.
Specify the clock value for the frame final of an animation.
Render a subset of frames from an animation, starting at frame n.
Render a subset of frames from an animation, starting n percent into the animation.
Render a subset of frames from an animation, stopping at frame n.
Render a subset of frames from an animation, stopping n percent into the animation.
Generate clock values for a cyclic animation.
Rendering alternate frames using odd/even fields has been deprecated.
Starting a field rendered animation on the odd field rather than the even field has been deprecated.

Redirecting options:

Write all INI parameters to a file named after the input scene file, or one with the specified name.
Write the stream to the console and/or the specified file. The streams are All_File (except status), Debug_File, Fatal_File, Render_File, Statistics_File, and the Warning_File.

Exit status:

0 if OK,
1 if minor problems (e.g. invalid options),
>1 if serioues trouble (e.g. Sementation fault).


POV-Ray for UNIX allows a povray.ini file in the current directory to override the individual setting in $HOME/.povray/3.8/povray.ini. POV-Ray looks for initial configuration information, like the Library_Path settings, which gives the location for the standard include files, first in the environment variable $POVINI, then in ./povray.ini, then in $HOME/.povray/3.8/povray.ini, then in PREFIX/etc/povray/3.8/povray.ini. The PREFIX directory can be changed at compile-time using the --prefix option of the configure script. For backward compatibility with POV-Ray version 3.5 and earlier, the $HOME/.povrayrc and $PREFIX/etc/povray.ini files are also searched for when none of the above files were found.

Since version 3.5 POV-Ray features an I/O Restriction mechanism. I/O Restrictions attempt to at least partially protect a machine running POV-Ray from having files read or written outside of a given set of directories. The settings are defined in two configuration files, a system-level PREFIX/etc/povray/3.8/povray.conf file and an user-level $HOME/.povray/3.8/povray.conf file with more restrictive settings. As of POV-Ray v3.6 the format of these configuration files has changed, and no backward compatibility is retained with the configuration files in POV-Ray 3.5. See the documentation for further details and examples of I/O Restriction settings.


kill(1) and Full documentation at:


Persistence of Vision Ray Tracer ('POV-Ray') version 3.7. Copyright (c) 1991-2017 Persistence of Vision Raytracer Pty. Ltd.

POV-Ray is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

POV-Ray is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <>.


The terms Persistence of Vision Ray Tracer, POV-Team and POV-Ray are trademarks of Persistence of Vision Raytracer Pty. Ltd.

UNIX is a registered trademark of The Open Group in the US and other countries.


Before reporting a bug to our bug-tracking system you should make sure you have the latest version of the software, in case the bug has already been fixed. There are a large number of POV-Ray users on the POV-Ray newsserver available by a web interface at: You should try to find help and assistance in there before lodging a bug report.


Primary POV-Ray v3.8 Architects/Developers: (Alphabetically)

Chris Cason Christoph Lipka

With Assistance From: (Alphabetically)

Jerome Grimbert James Holsenback William F. Pokorny

Past Contributors: (Alphabetically)

Steve Anger Eric Barish Dieter Bayer
David K. Buck Nicolas Calimet Chris Cason
Aaron A. Collins Chris Dailey Steve Demlow
Andreas Dilger Alexander Enzmann Dan Farmer
Thorsten Froehlich Mark Gordon Jerome Grimbert
James Holsenback Christoph Hormann Mike Hough
Chris Huff Kari Kivisalo Nathan Kopp
Lutz Kretzschmar Christoph Lipka Jochen Lippert
Pascal Massimino Jim McElhiney Douglas Muir
Juha Nieminen Ron Parker William F. Pokorny
Bill Pulver Eduard Schwan Wlodzimierz Skiba
Robert Skinner Yvo Smellenbergh Zsolt Szalavari
Scott Taylor Massimo Valentini Timothy Wegner
Drew Wells Chris Young

Other contributors are listed in the documentation at:


POV-Ray is based on DKBTrace 2.12 by David K. Buck and Aaron A. Collins.

July 2021 POV-Team