POV-Ray for Unix version 3.7 | ||||
|
||||
Home | POV-Ray for Unix | POV-Ray Tutorial | POV-Ray Reference |
This is a consolidation of the entire syntax for the POV-Ray's Scene Description Language. Note that the syntax conventions used here are slightly different than those used in the user documentation.
The following syntax conventions are used:
ITEM
[ITEM]
ITEM...
[ITEM...]
ITEM ITEM
ITEM | ITEM
ITEM & ITEM
Juxtaposition has precedence over the pipe or ampersand. In the following example, you would select one of the keyword and vector pairs. For that last pair, the keyword itself is optional.
rgb
3D_VECTOR | rgbf
4D_VECTOR | rgbt
4D_VECTOR | [rgbft
] 5D_VECTOR
Some item names are simply descriptive in nature. An indication of the item's type is given by a prefix on the item name, as follows:
F_
I_
V_
V4_
Note: This document provides only the syntax of the Scene Description Language (SDL). The intent is to provide a single reference for all statements and keywords. It does not provide definitions for the numerous keywords nor explain their usage.
SCENE_ITEM...
LANGUAGE_DIRECTIVE | CAMERA | LIGHT | OBJECT | ATMOSPHERIC_EFFECT | GLOBAL_SETTINGS
NUMERIC_TERM [SIGN NUMERIC_TERM]...
+ | -
NUMERIC_FACTOR [MULT NUMERIC_FACTOR]...
* | /
FLOAT_LITERAL | FLOAT_IDENTIFIER | SIGN NUMERIC_EXPRESSION | FLOAT_FUNCTION | FLOAT_BUILT_IN_IDENT |
( FULL_EXPRESSION ) | ! NUMERIC_EXPRESSION | VECTOR.DOT_ITEM | FLOAT_FUNCTION_INVOCATION
[DIGIT...][.]DIGIT...[EXP[SIGN]DIGIT...]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
e | E
abs (FLOAT) | acos (FLOAT) | acosh (FLOAT) | asc (STRING) | asin (FLOAT) | asinh (FLOAT) |
atan (FLOAT) | atanh (FLOAT) | atan2 (FLOAT,FLOAT) | ceil (FLOAT) | cos (FLOAT) |
cosh (FLOAT) | defined (IDENTIFIER) | degrees (FLOAT) | dimensions (ARRAY_IDENTIFIER) |
dimension_size (ARRAY_IDENTIFIER,INT) | div (FLOAT,FLOAT) | exp (FLOAT) |
file_exists (STRING) | floor (FLOAT) | int (FLOAT) | inside (SOLID_OBJECT_IDENT, VECTOR) | ln (FLOAT) | log (FLOAT) |
max (FLOAT,FLOAT[,FLOAT]...) | min (FLOAT,FLOAT[,FLOAT]...) | mod (FLOAT,FLOAT) | pow (FLOAT,FLOAT) |
radians (FLOAT) | rand (FLOAT) | seed (FLOAT) | select (FLOAT,FLOAT,FLOAT,[FLOAT]) | sin (FLOAT) | sinh (FLOAT) | sqrt (FLOAT) |
strcmp (STRING,STRING) | strlen (STRING) | tan (FLOAT) | tanh (FLOAT) | val (STRING) |
vdot (VECTOR,VECTOR) | vlength (VECTOR)
BOOLEAN_KEYWORD | clock | clock_delta | clock_on | final_clock | final_frame |
frame_number | image_height | image_width | initial_clock | initial_frame | pi | version
true | yes | on | false | no | off
LOGICAL_EXPRESSION [? FULL_EXPRESSION : FULL_EXPRESSION]
REL_TERM [LOGICAL_OPERATOR REL_TERM]...
& | |
FLOAT [REL_OPERATOR FLOAT]...
< | <= | = | >= | > | !=
x | y | z | t | u | v | red | green | blue | filter | transmit | gray
FLOAT
BOOLEAN_KEYWORD | LOGICAL_EXPRESSION
VECTOR_TERM [SIGN VECTOR_TERM]...
VECTOR_EXPRESSION [MULT VECTOR_EXPRESSION]...
VECTOR_LITERAL | VECTOR_IDENTIFIER | SIGN VECTOR_EXPRESSION | VECTOR_FUNCTION | VECTOR_BUILT_IN_IDENT |
! VECTOR_EXPRESSION | FLOAT |
VECTOR_FUNCTION_INVOCATION |
COLOR_FUNCTION_INVOCATION |
SPLINE_INVOCATION
< FLOAT, FLOAT [, FLOAT [, FLOAT [, FLOAT ]]] >
min_extent (OBJECT_IDENTIFIER) | max_extent (OBJECT_IDENTIFIER) |
trace (OBJECT_IDENTIFIER,VECTOR,VECTOR[,VECTOR_IDENTIFIER]) |
vaxis_rotate (VECTOR,VECTOR,FLOAT) | vcross (VECTOR,VECTOR) | vrotate (VECTOR,VECTOR) |
vnormalize (VECTOR) | vturbulence (FLOAT,FLOAT,FLOAT,VECTOR)
x | y | z | t | u | v
[color] COLOR_BODY | colour COLOR_BODY
COLOR_VECTOR | COLOR_KEYWORD_GROUP | COLOR_IDENTIFIER
rgb 3D_VECTOR | rgbf 4D_VECTOR | rgbt 4D_VECTOR | [rgbft] 5D_VECTOR | srgb 3D_VECTOR | srgbf 4D_VECTOR | srgbt 4D_VECTOR | srgbft 5D_VECTOR
[COLOR_IDENTIFIER] COLOR_KEYWORD_ITEMS
[red FLOAT] & [green FLOAT] & [blue FLOAT] & [filter FLOAT] & [transmit FLOAT]
FLOAT_USER_FUNCTION | VECTOR_USER_FUNCTION | COLOR_USER_FUNCTION
function { FN_FLOAT } | function (IDENT_LIST) { FN_FLOAT } | function { pattern { PATTERN [PATTERN_MODIFIERS]} }
IDENT_ITEM [, IDENT_LIST]
x | y | z | u | v | PARAM_IDENTIFIER
MAP_PATTERN | brick [BRICK_ITEM] | checker | hexagon | object { LIST_OBJECT }
function { SPECIAL_VECTOR_FUNCTION }
TRANSFORM | SPLINE
function { PIGMENT }
LOGIC_AND [OR LOGIC_AND]
|
REL_TERM [AND REL_TERM]
&
TERM [REL_OPERATOR TERM]
< | <= | = | >= | > | !=
FACTOR [SIGN FACTOR]
+ | -
EXPRESSION [MULT EXPRESSION]
* | /
FLOAT_LITERAL | FLOAT_IDENTIFIER | FN_FLOAT_FUNCTION | FLOAT_BUILT_IN_IDENT |
( FN_FLOAT ) | IDENT_ITEM | SIGN EXPRESSION |
VECTOR_FUNCTION_INVOCATION.FN_DOT_ITEM | COLOR_FUNCTION_INVOCATION.FN_DOT_ITEM |
FLOAT_FUNCTION_INVOCATION
DOT_ITEM | hf
abs (FN_FLOAT) | acos (FN_FLOAT)
| acosh (FN_FLOAT) |
asin (FN_FLOAT) | asinh (FN_FLOAT) |
atan (FN_FLOAT) | atanh (FN_FLOAT) |
atan2 (FN_FLOAT,FN_FLOAT) | ceil (FN_FLOAT) | cos (FN_FLOAT) | cosh (FN_FLOAT) | degrees (FN_FLOAT) | exp (FN_FLOAT) |
floor (FN_FLOAT) | int (FN_FLOAT) | ln (FN_FLOAT) | log (FN_FLOAT) | max (FN_FLOAT,FN_FLOAT[,FN_FLOAT]...) |
min (FN_FLOAT,FN_FLOAT[,FN_FLOAT]...) | mod (FN_FLOAT,FN_FLOAT) | pow (FN_FLOAT,FN_FLOAT) | prod (IDENTIFIER, FN_FLOAT, FN_FLOAT, FN_FLOAT) | radians (FN_FLOAT) | sin (FN_FLOAT) | sinh (FN_FLOAT) | sqrt (FN_FLOAT) | sum (IDENTIFIER, FN_FLOAT, FN_FLOAT, FN_FLOAT) |tan (FN_FLOAT) |
tanh (FN_FLOAT) | select (FN_FLOAT,FN_FLOAT,FN_FLOAT [,FN_FLOAT])
#declare FLOAT_FUNCTION_IDENTIFIER = FLOAT_USER_FUNCTION |
#local FLOAT_FUNCTION_IDENTIFIER = FLOAT_USER_FUNCTION |
#declare VECTOR_FUNCTION_IDENTIFIER = VECTOR_USER_FUNCTION |
#local VECTOR_FUNCTION_IDENTIFIER = VECTOR_USER_FUNCTION |
#declare COLOR_FUNCTION_IDENTIFIER = COLOR_USER_FUNCTION |
#local COLOR_FUNCTION_IDENTIFIER = COLOR_USER_FUNCTION
FLOAT_FUNCTION_IDENTIFIER (FN_PARAM_LIST)
VECTOR_FUNCTION_IDENTIFIER (FN_PARAM_LIST)
COLOR_FUNCTION_IDENTIFIER (FN_PARAM_LIST)
FN_PARAM_ITEM [, FN_PARAM_LIST]
x | y | z | u | v | FLOAT
STRING_FUNCTION | STRING_IDENTIFIER | STRING_LITERAL
chr (INT) | concat (STRING,STRING[,STRING]...) | str (FLOAT,INT,INT) | strlwr (STRING) |
strupr (STRING) | substr (STRING,INT,INT) | vstr (INT,VECTOR,STRING,INT,INT)
QUOTE [CHARACTER...] QUOTE
"
\a
- alarm\b
- backspace\f
- form feed\n
- new line\r
- carriage return\t
- horizontal tab\u
NNNN
- unicode character four-digit code\v
- vertical tab\\
- backslash\'
- single quote\"
- double quoteSTRING_LITERAL [STRING_REL_OPERATOR STRING_LITERAL]...
< | <= | = | >= | > | !=
#declare ARRAY_IDENTIFIER = array DIMENSION... [ARRAY_INITIALIZER] |
#local ARRAY_IDENTIFIER = array DIMENSION... [ARRAY_INITIALIZER]
[ INT ]
{ ARRAY_INITIALIZER [, ARRAY_INITIALIZER]... } |
{ RVALUE [, RVALUE]... }
#declare ARRAY_REFERENCE = RVALUE [;] |
#local ARRAY_REFERENCE = RVALUE [;]
ARRAY_IDENTIFIER ELEMENT...
[ INT ]
spline { SPLINE_ITEMS }
[SPLINE_TYPE] PATH_LIST | SPLINE_IDENTIFIER [SPLINE_TYPE][PATH_LIST]
linear_spline | quadratic_spline | cubic_spline | natural_spline
FLOAT, VECTOR [[,] PATH_LIST]
SPLINE_IDENTIFIER ( FLOAT [, SPLINE_TYPE] )
INCLUDE_DIRECTIVE | IDENTIFIER_DECLARATION | UNDEF_DIRECTIVE | FOPEN_DIRECTIVE | FCLOSE_DIRECTIVE | READ_DIRECTIVE | WRITE_DIRECTIVE | DEFAULT_DIRECTIVE | VERSION_DIRECTIVE | IF_DIRECTIVE | IFDEF_DIRECTIVE | IFNDEF_DIRECTIVE | SWITCH_DIRECTIVE | WHILE_DIRECTIVE | FOR_DIRECTIVE | TEXT_STREAM_DIRECTIVE | MACRO_DEFINITION
#include FILE_NAME
STRING
#declare [deprecated] IDENTIFIER = RVALUE [;] |
#local [deprecated] IDENTIFIER = RVALUE [;]
FLOAT | VECTOR | COLOR | USER_FUNCTION | STRING | ARRAY_REFERENCE | SPLINE | TRANSFORM | CAMERA | LIGHT | OBJECT | MATERIAL |
INTERIOR | TEXTURE | TEXTURE_MAP | PIGMENT | COLOR_MAP | PIGMENT_MAP | NORMAL | SLOPE_MAP | NORMAL_MAP | FINISH | MEDIA | DENSITY |
DENSITY_MAP | FOG | RAINBOW | SKY_SPHERE
#undef IDENTIFIER
#fopen FILE_HANDLE_IDENTIFIER FILE_NAME OPEN_TYPE
read | write | append
#fclose FILE_HANDLE_IDENTIFIER
#read ( FILE_HANDLE_IDENTIFIER, DATA_IDENTIFIER [, DATA_IDENTIFIER]... )
UNDECLARED_IDENTIFIER | FLOAT_IDENTIFIER | VECTOR_IDENTIFIER | STRING_IDENTIFIER | ARRAY_REFERENCE
#write ( FILE_HANDLE_IDENTIFIER, [BINARY_WORD_TYPE,] DATA_ITEM [, DATA_ITEM]... )
uint8 | sint8 | uint16be | uint16le | sint16be | sint16le | sint32be | sint32le
FLOAT | VECTOR | STRING
#default { DEFAULT_ITEM }
PLAIN_TEXTURE | PIGMENT | NORMAL | FINISH
#version FLOAT;
#if ( BOOL ) TOKENS [#elseif ( BOOL ) TOKENS] [#else TOKENS] #end
#ifdef ( IDENTIFIER ) TOKENS [#elseif ( IDENTIFER ) TOKENS] [#else TOKENS] #end
#ifndef ( IDENTIFIER ) TOKENS [#elseif ( IDENTIFER ) TOKENS] [#else TOKENS] #end
#switch ( FLOAT ) SWITCH_CLAUSE... [#else TOKENS] #end
#case ( FLOAT ) TOKENS [#break] |
#range ( F_LOW, F_HIGH ) TOKENS [#break]
#while ( LOGICAL_EXPRESSION ) TOKENS [#break] #end
#for (Identifier, Start, End [, Step]) TOKENS [#break] #end
#debug STRING | #error STRING | #warning STRING
#macro MACRO_IDENTIFIER ( [PARAM_IDENTIFIER [, PARAM_IDENTIFIER]...] ) TOKENS [#break] #end
MACRO_IDENTIFIER ( [ACTUAL_PARAM [, ACTUAL_PARAM]...] )
IDENTIFIER | RVALUE
IDENTIFIER_DECLARATION | UNDEF_DIRECTIVE | READ_DIRECTIVE | WRITE_DIRECTIVE | IF_DIRECTIVE |
IFDEF_DIRECTIVE | IFNDEF_DIRECTIVE | SWITCH_DIRECTIVE | WHILE_DIRECTIVE | TEXT_STREAM_DIRECTIVE
rotate VECTOR | scale VECTOR | translate VECTOR | TRANSFORM | MATRIX
transform TRANSFORM_IDENTIFIER | transform { [TRANSFORM_ITEM...] }
TRANSFORM_IDENTIFIER | TRANSFORMATION | inverse
matrix < F_VAL00, F_VAL01, F_VAL02, F_VAL10, F_VAL11, F_VAL12, F_VAL20, F_VAL21, F_VAL22, F_VAL30, F_VAL31, F_VAL32 >
camera { [CAMERA_TYPE] [CAMERA_ITEMS] [CAMERA_MODIFIERS] } |
camera { CAMERA_IDENTIFIER [TANSFORMATIONS ...] }
perspective | orthographic | mesh_camera {MESHCAM_MODIFIERS} location direction smooth | fisheye | ultra_wide_angle | omnimax | panoramic | spherical | cylinder CYLINDER_TYPE
1 | 2 | 3 | 4
[location VECTOR] & [right VECTOR] & [up VECTOR] & [direction VECTOR] & [sky VECTOR]
[angle [angle F_HORIZONTAL] [,F_VERTICAL]] & [look_at VECTOR] & [FOCAL_BLUR] & [NORMAL] & [TRANSFORMATION...]
aperture FLOAT & blur_samples [MIN_SAMPLES,] MAX_SAMPLES & [focal_point VECTOR] & [confidence FLOAT] & [variance FLOAT] & [bokeh {pigment {BOKEH}}]
RAYS_PER_PIXEL & DISTRIBUTION_TYPE & [MAX_DISTANCE] & MESH_OBJECT & [MESH_OBJECT...]
FLOAT > 1
0 | 1 | 2 | 3
FLOAT > EPSILON
INT
INT
COLOR_VECTOR in the range of <0,0,0> ... <1,1,0>
LIGHT_SOURCE | LIGHT_GROUP
light_source { V_LOCATION, COLOR [LIGHT_SOURCE_ITEMS] }
[LIGHT_TYPE] & [AREA_LIGHT_ITEMS] & [LIGHT_MODIFIERS]
spotlight [SPOTLIGHT_ITEMS] | cylinder [SPOTLIGHT_ITEMS]
[radius FLOAT] & [falloff FLOAT] & [tightness FLOAT] & [point_at VECTOR]
area_light V_AXIS1, V_AXIS2, I_SIZE1, I_SIZE2 [AREA_LIGHT_MODIFIERS]
[adaptive INT] & [jitter] & [circular] & [orient] & [area_illumination [BOOL]]
[LIGHT_PHOTONS] & [looks_like { OBJECT }] & [TRANSFORMATION...] & [fade_distance FLOAT] &[fade_power FLOAT] & [media_attenuation [BOOL]] & [media_interaction [BOOL]] &[shadowless] & [projected_through { OBJECT_IDENTIFIER }] & [parallel [point_at VECTOR]]
photons { LIGHT_PHOTON_ITEMS }
[refraction BOOL] & [reflection BOOL] & [area_light]
light_group { LIGHT_GROUP_ITEM... [LIGHT_GROUP_MODIFIERS] }
LIGHT_SOURCE | OBJECT | LIGHT_GROUP
[global_lights BOOL] & [TRANSFORMATION...]
FINITE_SOLID_OBJECT | FINITE_PATCH_OBJECT | INFINITE_SOLID_OBJECT | ISOSURFACE | PARAMETRIC | CSG_OBJECT | OBJECT_STATEMENT
object { OBJECT_IDENTIFIER [OBJECT_MODIFIERS] }
BLOB | BOX | CONE | CYLINDER | HEIGHT_FIELD | JULIA_FRACTAL | LATHE | OVUS | PRISM | SPHERE | SPHERE_SWEEP | SUPERELLIPSOID | SOR | TEXT | TORUS
blob { [threshold FLOAT] BLOB_ITEM... [BLOB_MODIFIERS] }
sphere { V_CENTER, F_RADIUS, [strength] F_STRENGTH [COMPONENT_MODIFIERS] } |
cylinder { V_END1, V_END2, F_RADIUS, [strength] F_STRENGTH [COMPONENT_MODIFIERS] }
[TEXTURE] & [PIGMENT] & [NORMAL] & [FINISH] & [TRANSFORMATION...]
[hierarchy [BOOL]] & [sturm [BOOL]] & [OBJECT_MODIFIERS]
box { V_CORNER1, V_CORNER2 [BOX_MODIFIERS] }
[UV_MAPPING] & [OBJECT_MODIFIERS]
cone { V_BASE_CENTER, F_BASE_RADIUS, V_CAP_CENTER, F_CAP_RADIUS [open] [OBJECT_MODIFIERS] }
cylinder { V_BASE_CENTER, V_CAP_CENTER, F_RADIUS [open] [OBJECT_MODIFIERS] }
height_field { HF_IMAGE [HF_MODIFIERS] }
FUNCTION_IMAGE | [HF_TYPE] FILE_NAME [gamma HF_GAMMA] [premultiplied BOOL]
exr | gif | hdr | iff | jpeg | pgm | png | ppm | sys | tga | tiff
FLOAT | srgb
[hierarchy [BOOL]] & [smooth] & [water_level FLOAT] & [OBJECT_MODIFIERS]
julia_fractal { 4D_VECTOR [JF_ITEMS] [OBJECT_MODIFIERS] }
[ALGEBRA_ITEM] & [max_iteration INT] & [precision FLOAT] & [slice V4_NORMAL, F_DISTANCE]
quaternion [QUATER_FUNCTION] | hypercomplex [HYPER_FUNCTION]
sqr | cube
sqr | cube | exp | reciprocal | sin | asin | sinh | asinh | cos | acos | cosh | acosh | tan | atan | tanh | atanh | ln | pwr (FLOAT,FLOAT)
lathe { [LATHE_SPLINE_TYPE] I_NUM_POINTS, POINT_LIST [LATHE_MODIFIERS] }
linear_spline | quadratic_spline | cubic_spline | bezier_spline
2D_VECTOR [, 2D_VECTOR]...
[sturm [BOOL]] & [UV_MAPPING] & [OBJECT_MODIFIERS]
ovus { BOTTOM_RADIUS, TOP_RADIUS [OBJECT_MODIFIERS] }
prism { [PRISM_ITEMS] F_HEIGHT1, F_HEIGHT2, I_NUM_POINTS, POINT_LIST [open] [PRISM_MODIFIERS] }
[PRISM_SPLINE_TYPE] & [PRISM_SWEEP_TYPE]
linear_spline | quadratic_spline | cubic_spline | bezier_spline
linear_sweep | conic_sweep
[sturm [BOOL]] & [OBJECT_MODIFIERS]
sphere { V_CENTER, F_RADIUS [SPHERE_MODIFIERS] }
[UV_MAPPING] & [OBJECT_MODIFIERS]
sphere_sweep { SWEEP_SPLINE_TYPE I_NUM_SPHERES, SPHERE_LIST [tolerance F_DEPTH_TOLERANCE] [OBJECT_MODIFIERS] }
linear_spline | b_spline | cubic_spline
V_CENTER, F_RADIUS [, SPHERE_LIST]
superellipsoid { < FLOAT, FLOAT > [OBJECT_MODIFIERS] }
sor { I_NUM_POINTS, POINT_LIST [open] [SOR_MODIFIERS] }
[sturm [BOOL]] & [UV_MAPPING] & [OBJECT_MODIFIERS]
text { ttf FILE_NAME STRING F_THICKNESS, V_OFFSET [OBJECT_MODIFIERS] }
torus { F_MAJOR_RADIUS, F_MINOR_RADIUS [TORUS_MODIFIERS] }
[sturm [BOOL]] & [UV_MAPPING] & [OBJECT_MODIFIERS]
BICUBIC_PATCH | DISC | MESH | MESH2 | POLYGON | TRIANGLE | SMOOTH_TRIANGLE
bicubic_patch { PATCH_ITEMS [PATCH_UV_VECTORS] CONTROL_POINTS [BICUBIC_PATCH_MODIFIERS] }
type PATCH_TYPE & [u_steps INT] & [v_steps INT] & [flatness FLOAT]
0 | 1
uv_vectors V2_CORNER1, V2_CORNER2, V2_CORNER3, V2_CORNER4
[UV_MAPPING] & [OBJECT_MODIFIERS]
disc { V_CENTER, V_NORMAL, F_RADIUS [, F_HOLE_RADIUS] [OBJECT_MODIFIERS] }
mesh { MESH_TRIANGLE... [MESH_MODIFIERS] }
triangle { V_CORNER1, V_CORNER2, V_CORNER3 [MESH_UV_VECTORS] [MESH_TEXTURE] } |
smooth_triangle { V_CORNER1, V_NORMAL1, V_CORNER2, V_NORMAL2, V_CORNER3, V_NORMAL3 [MESH_UV_VECTORS] [MESH_TEXTURE] }
uv_vectors V2_CORNER1, V2_CORNER2, V2_CORNER3
texture { TEXTURE_IDENTIFIER } |
texture_list { TEXTURE_IDENTIFIER TEXTURE_IDENTIFIER TEXTURE_IDENTIFIER }
[inside_vector V_DIRECTION] & [hierarchy [BOOL]] & [UV_MAPPING] & [OBJECT_MODIFIERS]
mesh2 { MESH2_VECTORS [TEXTURE_LIST] MESH2_INDICES [MESH2_MODIFIERS] }
VERTEX_VECTORS [NORMAL_VECTORS] [UV_VECTORS]
vertex_vectors { I_NUM_VERTICES, VECTOR [, VECTOR]... }
normal_vectors { I_NUM_NORMALS, VECTOR [, VECTOR]... }
uv_vectors { I_NUM_UV_VECTORS, 2D_VECTOR [, 2D_VECTOR]... }
texture_list { I_NUM_TEXTURES, TEXTURE [, TEXTURE]... }
FACE_INDICES [NORMAL_INDICES] [UV_INDICES]
face_indices { I_NUM_FACES, FACE_INDICES_ITEM [, FACE_INDICES_ITEM]... }
VECTOR [, I_TEXTURE_INDEX [, I_TEXTURE_INDEX, I_TEXTURE_INDEX ]]
normal_indices { I_NUM_FACES, VECTOR [, VECTOR]... }
uv_indices { I_NUM_FACES, VECTOR [, VECTOR]... }
[inside_vector V_DIRECTION] & [UV_MAPPING] & [OBJECT_MODIFIERS]
polygon { I_NUM_POINTS, V_POINT [, V_POINT]... [OBJECT_MODIFIERS] }
triangle { V_CORNER1, V_CORNER2, V_CORNER3 [OBJECT_MODIFIERS] }
smooth_triangle { V_CORNER1, V_NORMAL1, V_CORNER2, V_NORMAL2, V_CORNER3, V_NORMAL3 [OBJECT_MODIFIERS] }
PLANE | POLY | CUBIC | QUARTIC | QUADRIC
plane { V_NORMAL, F_DISTANCE [OBJECT_MODIFIERS] }
poly { ORDER, < POLY_COEFFICIENTS > [POLY_MODIFIERS] }
((ORDER+1)*(ORDER+2)*(ORDER+3))/6.
[sturm [BOOL]] & [OBJECT_MODIFIERS]
cubic { < CUBIC_COEFFICIENTS > [POLY_MODIFIERS] }
quartic { < QUARTIC_COEFFICIENTS > [POLY_MODIFIERS] }
quadric { < FLOAT, FLOAT, FLOAT >, < FLOAT, FLOAT, FLOAT >, < FLOAT, FLOAT, FLOAT >, FLOAT [OBJECT_MODIFIERS] }
isosurface { FLOAT_USER_FUNCTION [ISOSURFACE_ITEMS] [OBJECT_MODIFIERS] }
[contained_by { CONTAINER }] & [threshold FLOAT] & [accuracy FLOAT] & [max_gradient FLOAT [evaluate F_MIN_ESTIMATE, F_MAX_ESTIMATE, F_ATTENUATION]] & [open] & [INTERSECTION_LIMIT]
sphere { V_CENTER, F_RADIUS } | box { V_CORNER1, V_CORNER2 }
max_trace INT | all_intersections
parametric { FLOAT_USER_FUNCTION, FLOAT_USER_FUNCTION, FLOAT_USER_FUNCTION 2D_VECTOR, 2D_VECTOR [PARAMETRIC_ITEMS] [UV_MAPPING] & [OBJECT_MODIFIERS] }
[contained_by { CONTAINER }] & [max_gradient FLOAT] & [accuracy FLOAT] & [precompute I_DEPTH, x, y, z]
sphere { V_CENTER, F_RADIUS } | box { V_CORNER1, V_CORNER2 }
UNION | INTERSECTION | DIFFERENCE | MERGE
union { UNION_OBJECT UNION_OBJECT... [UNION_MODIFIERS] }
OBJECT | LIGHT
[split_union BOOL] & [OBJECT_MODIFIERS]
intersection { SOLID_OBJECT SOLID_OBJECT... [INTERSECTION_MODIFIERS] }
FINITE_SOLID_OBJECT | INFINITE_SOLID_OBJECT | ISOSURFACE | CSG_OBJECT
[cutaway_textures] & [OBJECT_MODIFIERS]
difference { SOLID_OBJECT SOLID_OBJECT... [DIFFERENCE_MODIFIERS] }
[cutaway_textures] & [OBJECT_MODIFIERS]
merge { SOLID_OBJECT SOLID_OBJECT... [OBJECT_MODIFIERS] }
[OBJECT_PHOTONS] & [CLIPPED_BY] & [BOUNDED_BY] & [MATERIAL] & [INTERIOR] & [INTERIOR_TEXTURE] &[TEXTURE] & [PIGMENT] & [NORMAL] & [FINISH] & [TRANSFORMATION...] & [no_shadow] & [no_image[BOOL]] & [no_radiosity[BOOL]] & [no_reflection[BOOL]] & [inverse] & [double_illuminate[BOOL]] & [hollow [BOOL]] & [radiosity { importance IMPORTANCE }]
photons { OBJECT_PHOTON_ITEMS }
[target [F_SPACING_MULT]] & [refraction BOOL] & [reflection BOOL] & [collect BOOL] & [pass_through [BOOL]]
clipped_by { UNTEXTURED_SOLID_OBJECT... } |
clipped_by { bounded_by }
FINITE_SOLID_OBJECT | INFINITE_SOLID_OBJECT
bounded_by { UNTEXTURED_SOLID_OBJECT... } |
bounded_by { clipped_by }
uv_mapping PIGMENT | pigment { uv_mapping PIGMENT_BODY } |
uv_mapping NORMAL | normal { uv_mapping NORMAL_BODY } |
uv_mapping TEXTURE | texture { uv_mapping TEXTURE_BODY }
material { [MATERIAL_IDENTIFIER] [MATERIAL_ITEM ...] }
TEXTURE | INTERIOR_TEXTURE | INTERIOR | TRANSFORMATION
interior { [INTERIOR_IDENTIFIER] [INTERIOR_ITEMS] }
[ior FLOAT] & [dispersion FLOAT] & [dispersion_samples INT] & [caustics FLOAT] & [fade_distance FLOAT] & [fade_power FLOAT] & [fade_color COLOR] & [MEDIA...]
interior_texture { TEXTURE_BODY }
PLAIN_TEXTURE | LAYERED_TEXTURE | PATTERNED_TEXTURE
texture { PLAIN_TEXTURE_BODY }
[PLAIN_TEXTURE_IDENT] [PNF_IDENTIFIERS] [PNF_ITEMS]
[PIGMENT_IDENTIFIER] & [NORMAL_IDENTIFIER] & [FINISH_IDENTIFIER]
[PIGMENT] & [NORMAL] & [FINISH] & [TRANSFORMATION...]
texture { LAYERED_TEXTURE_IDENT } |
PLAIN_TEXTURE PLAIN_TEXTURE...
texture { PATTERNED_TEXTURE_BODY }
PATTERNED_TEXTURE_IDENT [TRANSFORMATION...] | TEXTURE_PATTERN [PATTERN_MODIFIERS] | MATERIAL_MAP [TRANSFORMATION...]
TEXTURE_LIST_PATTERN | MAP_PATTERN TEXTURE_MAP
brick TEXTURE, TEXTURE [BRICK_ITEMS] |
checker TEXTURE, TEXTURE |
hexagon TEXTURE, TEXTURE, TEXTURE |
object { LIST_OBJECT TEXTURE, TEXTURE }
square TEXTURE, TEXTURE, TEXTURE, TEXTURE |
tiling [PATTERN_NUMBER] [TEXTURE_MAP] |
triangular TEXTURE, TEXTURE, TEXTURE, TEXTURE, TEXTURE, TEXTURE
[brick_size VECTOR] & [mortar FLOAT]
UNTEXTURED_SOLID_OBJECT | UNTEXTURED_SOLID_OBJECT_IDENT
texture_map { TEXTURE_MAP_BODY } [BLEND_MAP_MODIFIERS]
TEXTURE_MAP_IDENTIFIER | TEXTURE_MAP_ENTRY...
[ FLOAT TEXTURE_BODY ]
PLAIN_TEXTURE_BODY | LAYERED_TEXTURE_IDENT | PATTERNED_TEXTURE_BODY
material_map { BITMAP_IMAGE [BITMAP_MODIFIERS] TEXTURE... }
pigment { PIGMENT_BODY }
[PIGMENT_IDENTIFIER] [PIGMENT_TYPE] [PIGMENT_MODIFIERS] [PAVEMENT_MODIFIERS]
COLOR | COLOR_LIST_PATTERN | PIGMENT_LIST_PATTERN | IMAGE_MAP | MAP_PATTERN [COLOR_MAP] | MAP_PATTERN PIGMENT_MAP
brick [COLOR [, COLOR]] [BRICK_ITEMS] |
checker [COLOR [, COLOR]] |
hexagon [COLOR [, COLOR [, COLOR]]] |
object { LIST_OBJECT]] [COLOR [, COLOR } |
square [COLOR_1 [, COLOR_2 [, COLOR_3 [, COLOR_4]]]] |
tiling [PATTERN_NUMBER] [COLOR_MAP] |
triangular [COLOR_1 [, COLOR_2 [, COLOR_3 [, COLOR_4 [, COLOR_5 [, COLOR_6]]]]]]
brick PIGMENT, PIGMENT [BRICK_ITEMS] |
checker PIGMENT, PIGMENT |
hexagon PIGMENT, PIGMENT, PIGMENT |
object { LIST_OBJECT PIGMENT, PIGMENT } |
square [COLOR_1 [, COLOR_2 [, COLOR_3 [, COLOR_4]]]] |
tiling [PATTERN_NUMBER] [PIGMENT_MAP] |
triangular [COLOR_1 [, COLOR_2 [, COLOR_3 [, COLOR_4 [, COLOR_5 [, COLOR_6]]]]]]
image_map {BITMAP_IMAGE [IMAGE_MAP_MODIFIER...] [BITMAP_MODIFIERS] }
filter I_PALETTE, F_AMOUNT | filter all F_AMOUNT | transmit I_PALETTE, F_AMOUNT | transmit all F_AMOUNT
color_map { COLOR_MAP_BODY } [BLEND_MAP_MODIFIERS] |
colour_map { COLOR_MAP_BODY } [BLEND_MAP_MODIFIERS]
COLOR_MAP_IDENTIFIER | COLOR_MAP_ENTRY...
[ FLOAT COLOR ]
[ INT ]
pigment_map { PIGMENT_MAP_BODY } [BLEND_MAP_MODIFIERS]
PIGMENT_MAP_IDENTIFIER | PIGMENT_MAP_ENTRY...
[ FLOAT PIGMENT_BODY ]
pavement number_of_sides SIDES_VALUE | number_of_tiles TILES_VALUE | pattern PATTERN_VALUE | exterior EXTERIOR_VALUE | interior INTERIOR_VALUE | form FORM_VALUE | PATTERN_MODIFIERS
[QUICK_COLOR] & [PATTERN_MODIFIERS]
quick_color COLOR | quick_colour COLOR
normal { NORMAL_BODY }
[NORMAL_IDENTIFIER] [NORMAL_TYPE] [NORMAL_MODIFIERS]
NORMAL_PATTERN | BUMP_MAP
NORMAL_LIST_PATTERN |
MAP_PATTERN [F_DEPTH] [SLOPE_MAP] |
MAP_PATTERN NORMAL_MAP
brick NORMAL, NORMAL [BRICK_ITEMS] | brick [F_DEPTH] [BRICK_ITEMS] |
checker NORMAL, NORMAL | checker [F_DEPTH] |
hexagon NORMAL, NORMAL, NORMAL | hexagon [F_DEPTH] |
object { LIST_OBJECT NORMAL, NORMAL } | object { LIST_OBJECT } [F_DEPTH]
normal_map { NORMAL_MAP_BODY } [BLEND_MAP_MODIFIERS]
NORMAL_MAP_IDENTIFIER | NORMAL_MAP_ENTRY...
[ FLOAT NORMAL_BODY ]
slope_map { SLOPE_MAP_BODY } [BLEND_MAP_MODIFIERS]
SLOPE_MAP_IDENTIFIER | SLOPE_MAP_ENTRY...
[ FLOAT, < F_HEIGHT, F_SLOPE > ]
bump_map { BITMAP_IMAGE [BUMP_MAP_MODIFIERS] }
[BITMAP_MODIFIERS] & [BUMP_METHOD] & [bump_size FLOAT]
use_index | use_color | use_colour
[PATTERN_MODIFIERS] & [bump_size FLOAT] & [no_bump_scale [BOOL]] & [accuracy FLOAT]
finish { [FINISH_IDENTIFIER] [FINISH_ITEMS] }
[ambient COLOR] & [diffuse FLOAT [, FLOAT]] & [brilliance FLOAT] & [PHONG] & [SPECULAR] & [REFLECTION] & [IRID] & [crand FLOAT] & [SUBSURFACE] & [conserve_energy [BOOL]]
phong FLOAT & [phong_size FLOAT] & [metallic [FLOAT]]
specular FLOAT & [roughness FLOAT] & [metallic [FLOAT]]
reflection COLOR [reflection_exponent FLOAT] |
reflection { [COLOR,] COLOR [REFLECTION_ITEMS] }
[fresnel BOOL] & [falloff FLOAT] & [exponent FLOAT] & [metallic [FLOAT]]
interior {ior FLOAT}
in the object when fresnel
is used.irid { F_AMOUNT [IRID_ITEMS] }
[thickness FLOAT] & [turbulence FLOAT]
subsurface { COLOR, COLOR }
AGATE | aoi | average | boxed | bozo | bumps | cells | CRACKLE | cubic | cylindrical | DENSITY_FILE |
dents | FACETS | FRACTAL | function { FN_FLOAT } | gradient VECTOR | granite | IMAGE_PATTERN |
leopard | marble | onion | pigment_pattern { PIGMENT_BODY } | planar | QUILTED | radial |
ripples | SLOPE [SLOPE_EXTENSION] | spherical | spiral1 I_NUM_ARMS | spiral2 I_NUM_ARMS | spotted | waves |
wood | wrinkles
agate [agate_turb FLOAT]
crackle [CRACKLE_TYPES]
[form VECTOR] & [metric FLOAT] & [offset FLOAT] & [solid]
density_file df3 FILE_NAME [interpolate DENSITY_INTERPOLATE]
0 | 1 | 2
facets FACETS_TYPE
facets
can only be used as a normal
pattern.coords F_SCALE | size F_SIZE_FACTOR
MANDELBROT_FRACTAL | JULIA_FRACTAL | MAGNET_MANDEL_FRACTAL | MAGNET_JULIA_FRACTAL
mandel I_ITERATIONS [exponent INT] [exterior EXTERIOR_TYPE, F_FACTOR] [interior INTERIOR_TYPE, F_FACTOR]
julia V2_COMPLEX, I_ITERATIONS [exponent INT] [exterior EXTERIOR_TYPE, F_FACTOR] [interior INTERIOR_TYPE, F_FACTOR]
magnet MAGNET_TYPE mandel I_ITERATIONS [exterior EXTERIOR_TYPE, F_FACTOR] [interior INTERIOR_TYPE, F_FACTOR]
1 | 2
magnet MAGNET_TYPE julia V2_COMPLEX, I_ITERATIONS [exterior EXTERIOR_TYPE, F_FACTOR] [interior INTERIOR_TYPE, F_FACTOR]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
0 | 1 | 2 | 3 | 4 | 5 | 6
image_pattern {BITMAP_IMAGE [IMAGE_PATTERN_MODIFIERS] }
[BITMAP_MODIFIERS] & [use_alpha]
quilted [control0 FLOAT] [control1 FLOAT]
slope { V_DIRECTION [, F_LOW_SLOPE, F_HIGH_SLOPE ] [altitude VECTOR [, F_LOW_ALT, F_HIGH_ALT ]] }
slope
pattern does not work in media densities.slope { point_at REFERENCE_POINT [, F_LOW_SLOPE, F_HIGH_SLOPE ] }
altitude
keyword to be used.[TURBULENCE] & [WARP...] & [TRANSFORMATION...] & [noise_generator NG_TYPE]
1 | 2 | 3
turbulence VECTOR & [octaves INT] & [omega FLOAT] & [lambda FLOAT]
warp { WARP_ITEM }
REPEAT_WARP | BLACK_HOLE_WARP | TURBULENCE | CYLINDRICAL_WARP | SPHERICAL_WARP | TOROIDAL_WARP | PLANAR_WARP | cubic
repeat VECTOR [offset VECTOR] [flip VECTOR]
black_hole V_LOCATION, F_RADIUS [BLACK_HOLE_ITEMS]
[strength FLOAT] & [falloff FLOAT] & [inverse] & [repeat VECTOR [turbulence VECTOR]]
cylindrical [orientation VECTOR] [dist_exp FLOAT]
spherical [orientation VECTOR] [dist_exp FLOAT]
toroidal [orientation VECTOR] [dist_exp FLOAT] [major_radius FLOAT]
planar [V_NORMAL, F_DISTANCE]
ramp_wave | triangle_wave | sine_wave | scallop_wave | cubic_wave | poly_wave [F_EXPONENT]
FUNCTION_IMAGE | BITMAP_TYPE FILE_NAME [gamma BITMAP_GAMMA] [premultiplied CAVEAT]
function I_WIDTH, I_HEIGHT { FUNCTION_IMAGE_BODY }
PIGMENT | FN_FLOAT | pattern { PATTERN [PATTERN_MODIFIERS] }
MAP_PATTERN | brick [BRICK_ITEMS] | checker | hexagon | object { LIST_OBJECT }
exr | gif | hdr | iff | jpeg | pgm | png | ppm | sys | tga | tiff
FLOAT | srgb
BOOL
argument. This option does NOT apply when using material_map
.[once] & [map_type MAP_TYPE] & [interpolate INTERPOLATE_TYPE]
0 | 1 | 2 | 5
2 | 3 | 4
media { [MEDIA_IDENTIFIER] [MEDIA_ITEMS] }
[method METHOD_TYPE] & [intervals INT] & [samples I_MIN, I_MAX] & [confidence FLOAT] & [variance FLOAT] & [ratio FLOAT] & [absorption COLOR] & [emission COLOR] & [aa_threshold FLOAT] & [aa_level INT] & [SCATTERING] & [DENSITY...] & [TRANSFORMATION...] & [collect BOOL]
1 | 2 | 3
scattering { SCATTERING_TYPE, COLOR [eccentricity FLOAT] [extinction FLOAT] }
1 | 2 | 3 | 4 | 5
density { DENSITY_BODY }
[DENSITY_IDENTIFIER] [DENSITY_TYPE] [PATTERN_MODIFIERS]
COLOR | COLOR_LIST_PATTERN | DENSITY_LIST_PATTERN | MAP_PATTERN [COLOR_MAP] | MAP_PATTERN DENSITY_MAP
brick DENSITY, DENSITY [BRICK_ITEMS] |
checker DENSITY, DENSITY |
hexagon DENSITY, DENSITY, DENSITY |
object { LIST_OBJECT DENSITY, DENSITY }
density_map { DENSITY_MAP_BODY } [BLEND_MAP_MODIFIERS]
DENSITY_MAP_IDENTIFIER | DENSITY_MAP_ENTRY...
[ FLOAT DENSITY_BODY ]
MEDIA | BACKGROUND | FOG | SKY_SPHERE | RAINBOW
background { COLOR }
CONSTANT_FOG | GROUND_FOG
fog { [FOG_IDENTIFIER] [fog_type 1] FOG_ITEMS }
distance FLOAT & COLOR & [TURBULENCE]] [turb_depth FLOAT
fog { [FOG_IDENTIFIER] fog_type 2 GROUND_FOG_ITEMS }
FOG_ITEMS & fog_offset FLOAT & fog_alt FLOAT & [up VECTOR [TRANSFORMATION...]]
sky_sphere { [SKY_SPHERE_IDENTIFIER] [SKY_SPHERE_ITEM...] }
PIGMENT | TRANSFORMATION
rainbow { [RAINBOW_IDENTIFIER] [RAINBOW_ITEMS] }
direction VECTOR & angle FLOAT & width FLOAT & distance FLOAT & COLOR_MAP & [jitter FLOAT] & [up VECTOR] & [arc_angle FLOAT] & [falloff_angle FLOAT]
global_settings { GLOBAL_SETTING_ITEMS }
[adc_bailout FLOAT] & [ambient_light COLOR] & [assumed_gamma GAMMA_VALUE] & [hf_gray_16 [BOOL]] & [irid_wavelength COLOR] & [charset GLOBAL_CHARSET] & [max_intersections INT] & [max_trace_level INT] & [mm_per_unit INT] & [number_of_waves INT] & [noise_generator NG_TYPE] & [subsurface {samples INT, INT}] & [RADIOSITY] & [PHOTONS]
FLOAT | srgb
ascii | utf8 | sys
1 | 2 | 3
radiosity { [RADIOSITY_ITEMS] }
[adc_bailout FLOAT] & [always_sample BOOL] & [brightness FLOAT] & [count INT[,INT]] & [error_bound FLOAT] & [gray_threshold FLOAT] & [low_error_factor FLOAT] & [max_sample FLOAT] & [maximum_reuse FLOAT] & [media BOOL] & [minimum_reuse FLOAT] & [nearest_count INT[,INT]] & [normal BOOL] & [pretrace_end FLOAT] & [pretrace_start FLOAT] & [recursion_limit INT]
photons { PHOTON_QUANTITY [PHOTON_ITEMS] }
spacing FLOAT | count INT
[gather I_MIN, I_MAX] & [media I_MAX_STEPS [, F_FACTOR]] & [jitter FLOAT] & [max_trace_level INT] & [adc_bailout FLOAT] & [save_file FILE_NAME] & [load_file FILE_NAME] & [autostop FLOAT] & [expand_thresholds F_INCREASE, F_MIN] & [radius [FLOAT, FLOAT, FLOAT, FLOAT]]