|
As POV-Ray has evolved from version 1.0 through 3.5 we have made every
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 some old features can still be
used if you warn POV-Ray that this is an older scene. The
#version
directive can be used to switch version compatibility to
different setting several times throughout a scene file. The syntax is:
VERSION_DIRECTIVE: #version FLOAT;
Note: there should be a semi-colon after the float expression in a
#version
directive. This semi-colon is introduced in POV-Ray version
3.1. If omitted, it generates a warning and some macros may not work
properly.
Additionally you may use the Version=
n.n option or
the +MV
n.n switch to establish the initial
setting. See "Language Version" for details. For example one
feature introduced in 2.0 that was incompatible with any 1.0 scene files is
the parsing of float expressions. Using #version 1.0
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
#version 3.5
.
Note: Some obsolete or re-designed features are totally unavailable in POV-Ray 3.5 REGARDLES OF THE VERSION SETTING. Details on these features are noted throughout this documentation.
The built-in float identifier version
contains the current setting of the version compatibility option. See
"Built-in Float Identifiers".
Together with the built-in version
identifier the #version
directive allows you to save and restore the previous values of this
compatibility setting. The new #local
identifier option is
especially useful here. For example suppose mystuff.inc
is in
version 1 format. At the top of the file you could put:
#local Temp_Vers = version; // Save previous value #version 1.0; // Change to 1.0 mode ... // Version 1.0 stuff goes here... #version Temp_Vers; // Restore previous version
Future versions of POV-Ray may not continue to maintain full backward
compatibility even with the #version
directive. We strongly
encourage you to phase in 3.5 syntax as much as possible.
|