Difference between revisions of "Reference:Scene Parsing Options"

From POV-Wiki
Jump to navigation Jump to search
m (alignment)
m (removed redundant and added link)
Line 114: Line 114:
<p>As POV-Ray has evolved from version 1.0 through to today we have made every
<p>See also: [[Reference:Version Directive|Version Directive]]</p>
effort to maintain some amount of backwards compatibility with earlier
versions. Some old or obsolete features can be handled directly without any
special consideration by the user. Some old or obsolete features can no
longer be handled at all. However <em>some</em> old features can still be
used if you warn POV-Ray that this is an older scene. In the POV-Ray scene
language you can use the <code>#version</code> directive to switch version
compatibility to different settings. See the section [[Reference:Version Directive|Version Directive]]
for more details about the language version directive.
Additionally you may use the <code>Version=</code><em>n.n</em> option or the
<code>+MV</code><em>n.n</em> switch to establish the <em>initial</em>
setting. For example one feature introduced in 2.0 that was incompatible with
any 1.0 scene files is the parsing of float expressions. Setting <code>
Version=1.0</code> or using <code>+MV1.0</code> turns off expression parsing
as well as many warning messages so that nearly all 1.0 files will still
work. Naturally the default setting for this option is the current version number.</p>
<p class="Warning"><strong>Warning:</strong> The version directive and command-line setting no longer provide compatibility with most rendering bugs in versions prior to POV-Ray 3.5. However, compatibility with the scene language is provided for scenes as old as POV-Ray 1.0 just as in all previous versions of POV-Ray. Nevertheless, we strongly recommend you update scenes at least to POV-Ray 3.7 syntax if you plan to use them in future versions of POV-Ray.</p>

Latest revision as of 00:07, 1 October 2018

POV-Ray reads in your scene file and processes it to create an internal model of your scene. The process is called parsing. As your file is parsed other files may be read along the way. This section covers options concerning what to parse, where to find it and what version specific assumptions it should make while parsing it.


Declare=IDENTIFIER=FLOAT Declares an identifier with a float value

You can now declare a constant in an INI file, and that constant will be available to the scene. Since INI file statements may also be laced on the command-line, you can therefore also declare on the command-line (though there is no switch for it).


This would be the same as a #declare MyValue=24; in a scene file. The value on the right-hand side must be a constant float value.

A possible use could be switching off radiosity or photons from command-line:

--in INI-file / on command-line


--in scenefile

global_settings {
  #if (RAD)
    radiosity {

Include File Name

Sets primary include file name to file
Same as Include_Header=file

This option allows you to include a file as the first include file of a scene file. You can for example use this option to always include a specific set of default include files used by all your scenes.

Library Paths

Add path to list of library paths
Same as Library_Path=path

POV-Ray looks for files in the current directory. If it does not find a file it needs it looks in various other library directories which you specify. POV-Ray does not search your operating system path. It only searches the current directory and directories which you specify with this option. For example the standard include files are usually kept in one special directory. You tell POV-Ray to look there with...


You must not specify any final path separators ("\" or "/") at the end.

Multiple uses of this option switch do not override previous settings. If you specify the exact same path twice it is only counted once. The current directory will be searched first followed by the indicated library directories in the order in which you specified them.

Language Version

Set initial language compatibility to version n.n
Same as Version=n.n

See also: Version Directive