Subsets of Animation Frames

Subset_Start_Frame=nSet subset starting frame to n
Subset_Start_Frame=0.nSet subset starting frame to n percent
Subset_End_Frame=nSet subset ending frame to n
Subset_End_Frame=0.nSet subset ending frame to n percent
+SFn or +SF0.nSame as Subset_Start_Frame
+EFn or +EF0.nSame as Subset_End_Frame

When creating a long animation, it may be handy to render only a portion of the animation to see what it looks like. Suppose you have 100 frames but only want to render frames 30 through 40. If you set Initial_Frame=30 and Final_Frame=40 then the clock would vary from 0.0 to 1.0 from frames 30 through 40 rather than 0.30 through 0.40 as it should. Therefore you should leave Initial_Frame=1 and Final_Frame=100 and use Subset_Start_Frame=30 and Subset_End_Frame=40 to selectively render part of the scene. POV-Ray will then properly compute the clock values.

Usually you will specify the subset using the actual integer frame numbers however an alternate form of the subset commands takes a float value in the range 0.0 <=n.nnn <=1.0 which is interpreted as a fraction of the whole animation. For example, Subset_Start_Frame=0.333 and Subset_End_Frame=0.667 would render the middle 1/3rd of a sequence regardless of the number of frames.

Cyclic Animation

Cyclic_Animation=boolTurn cyclic animation on/off
+KCTurn cyclic animation on
-KCTurn cyclic animation off

Many computer animation sequences are designed to be run in a continuous loop. Suppose you have an object that rotates exactly 360 degrees over the course of your animation and you did rotate 360*clock*y to do so. Both the first and last frames would be identical. Upon playback there would be a brief one frame jerkiness. To eliminate this problem you need to adjust the clock so that the last frame does not match the first. For example a ten frame cyclic animation should not use clock 0.0 to 1.0. It should run from 0.0 to 0.9 in 0.1 increments. However if you change to 20 frames it should run from 0.0 to 0.95 in 0.05 increments. This complicates things because you would have to change the final clock value every time you changed Final_Frame. Setting Cyclic_Animation=on or using +KC will cause POV-Ray to automatically adjust the final clock value for cyclic animation regardless of how many total frames. The default value for this setting is off.

Field Rendering

Field_Render=boolTurn field rendering on/off
Odd_Field=boolSet odd field flag
+UFTurn field rendering on
-UFTurn field rendering off
+UOSet odd field flag on
-UOSet odd field flag off

Field rendering is sometimes used for animations when the animation is being output for television. TVs only display alternate scan lines on each vertical refresh. When each frame is being displayed the fields are interlaced to give the impression of a higher resolution image. The even scan lines make up the even field, and are drawn first (i. e. scan lines 0, 2, 4, etc.), followed by the odd field, made up of the odd numbered scan lines are drawn afterwards. If objects in an animation are moving quickly, their position can change noticeably from one field to the next. As a result, it may be desirable in these cases to have POV-Ray render alternate fields at the actual field rate (which is twice the frame rate), rather than rendering full frames at the normal frame rate. This would save a great deal of time compared to rendering the entire animation at twice the frame rate, and then only using half of each frame.

By default, field rendering is not used. Setting Field_Render=on or using +UF will cause alternate frames in an animation to be only the even or odd fields of an animation. By default, the first frame is the even field, followed by the odd field. You can have POV-Ray render the odd field first by specifying Odd_Field=on, or by using the +UO switch.

Section 6.2.2
Output Options

General Output Options

Height and Width of Output

Height=nSet screen height to n
Width=nSets screen width to n pixels
+HnSame as Height=n (when n > 8)
+WnSame as Width=n

These switches set the height and width of the image in pixels. This specifies the image size for file output. The preview display, if on, will generally attempt to pick a video mode to accommodate this size but the display settings do not in any way affect the resulting file output.

Partial Output Options

Start_Column=nSet first column to n
Start_Column=0.nSet first column to n percent of width
+SCn or +SC0.nSame as Start_Column
Start_Row=nSet first row to n pixels
Start_Row=0.nSet first row to n percent of height
+SRn or +SnSame as Start_Row=n
+SR0.n or +S0.nSame as Start_Row=0.n
End_Column=nSet last column to n pixels
End_Column=0.nSet last column to n percent of width
+ECn or +EC0.nSame as End_Column
End_Row=nSet last row to n pixels
End_Row=0.nSet last row to n percent of height
+ERn or +EnSame as End_Row=n
+ER0.n or +E0.nSame as End_Row=0.n

When doing test rendering it is often convenient to define a small, rectangular sub-section of the whole screen so you can quickly check out one area of the image. The Start_Row, End_Row, Start_Column and End_Column options allow you to define the subset area to be rendered. The default values are the full size of the image from (1,1) which is the upper left to (w,h) on the lower right where w and h are the Width=n and Height=n values you have set.

Note if the number specified is greater than 1 then it is interpreted as an absolute row or column number in pixels. If it is a decimal value between 0.0 and 1.0 then it is interpreted as a percent of the total width or height of the image. For example: Start_Row=0.75 and Start_Column=0.75 starts on a row 75% down from the top at a column 75% from the left. Thus it renders only the lower-right 25% of the image regardless of the specified width and height.

The +SR, +ER, +SC and +EC switches work in the same way as the corresponding INI-style settings for both absolute settings or percentages. Early versions of POV-Ray allowed only start and end rows to be specified with +Sn and +En so they are still supported in addition to +SR and +ER.

Interrupting Options

Test_Abort=boolTurn test for user abort on/off
+XTurn test abort on
-XTurn test abort off
Test_Abort_Count=nSet to test for abort every n pixels
+XnSet to test for abort every n pixels on
-XnSet to test for abort off (in future test every n pixels)

On some operating systems once you start a rendering you must let it finish. The Test_Abort=on option or +X switch causes POV-Ray to test the keyboard for keypress. If you have pressed a key, it will generate a controlled user abort. Files will be flushed and closed but only data through the last full row of pixels is saved. POV-Ray exits with an error code 2 (normally POV-Ray returns 0 for a successful run or 1 for a fatal error).

When this option is on, the keyboard is polled on every line while parsing the scene file and on every pixel while rendering. Because polling the keyboard can slow down a rendering, the Test_Abort_Count=n option or +Xn switch causes the test to be performed only every n pixels rendered or scene lines parsed.

Resuming Options

Continue_Trace=boolSets continued trace on/off
+CSets continued trace on
-CSets continued trace off
Create_Ini=fileGenerate an INI file to file
Create_Ini=trueGenerate file.ini where file is scene name.
Create_Ini=falseTurn off generation of previously set file.ini
+GIsssSame as Create_Ini=sss

If you abort a render while it's in progress or if you used the End_Row option to end the render prematurely, you can use Continue_Trace=on or +C option to continue the render later at the point where you left off. This option reads in the previously generated output file, displays the partial image rendered so far, then proceeds with the ray-tracing. This option cannot be used if file output is disabled with Output_to_file=off or -F.

The Continue_Trace option may not work if the Start_Row option has been set to anything but the top of the file, depending on the output format being used.

POV-Ray tries to figure out where to resume an interrupted trace by reading any previously generated data in the specified output file. All file formats contain the image size, so this will override any image size settings specified. Some file formats (namely TGA and PNG) also store information about where the file started (i. e. +SCn and +SRn options), alpha output +UA, and bit-depth +FNn, which will override these settings. It is up to the user to make sure that all other options are set the same as the original render.

The Create_Ini option or +GI switch provides an easy way to create an INI file with all of the rendering options, so you can re-run files with the same options, or ensure you have all the same options when resuming. This option creates an INI file with every option set at the value used for that rendering. This includes default values which you have not specified. For example if you run POV-Ray with...

POVRAY +Isimple.pov MYOPTS +GIrerun.ini MOREOPTS

POV-Ray will create a file called rerun.ini with all of the options used to generate this scene. The file is not written until all options have been processed. This means that in the above example, the file will include options from both myopts.ini and moreopts.ini despite the fact that the +GI switch is specified between them. You may now re-run the scene with...


or resume an interrupted trace with


If you add other switches with the rerun.ini reference, they will be included in future re-runs because the file is re-written every time you use it.

The Create_Ini option is also useful for documenting how a scene was rendered. If you render waycool.pov with Create_Ini=on then it will create a file waycool.ini that you could distribute along with your scene file so other users can exactly re-create your image.

Next Section
Table Of Contents