2.5.5 Suggested Reading
POV-Ray 3.6 for UNIX documentation
3 POV-Ray Reference
3.1 Introduction
3
POV-Ray Reference
Section Contents
3.1 Introduction
3.1.1 Notation and Basic Assumptions
3.1.2 Command-line Options
3.1.2.1 Animation Options
3.1.2.1.1 External Animation Loop
3.1.2.1.2 Internal Animation Loop
3.1.2.1.3 Subsets of Animation Frames
3.1.2.1.4 Cyclic Animation
3.1.2.1.5 Field Rendering
3.1.2.2 General Output Options
3.1.2.2.1 Height and Width of Output
3.1.2.2.2 Partial Output Options
3.1.2.2.3 Interrupting Options
3.1.2.2.4 Resuming Options
3.1.2.3 Display Output Options
3.1.2.3.1 Display Hardware Settings
3.1.2.3.2 Setting your Display Gamma
3.1.2.3.3 Display Related Settings
3.1.2.3.4 Mosaic Preview
3.1.2.4 File Output Options
3.1.2.4.1 Output File Type
3.1.2.4.2 Output File Name
3.1.2.4.3 Output File Buffer
3.1.2.4.4 CPU Utilization Histogram
3.1.2.4.5 File Type
3.1.2.4.6 File Name
3.1.2.4.7 Grid Size
3.1.2.5 Scene Parsing Options
3.1.2.5.1 Constant
3.1.2.5.2 Input File Name
3.1.2.5.3 Include File Name
3.1.2.5.4 Library Paths
3.1.2.5.5 Language Version
3.1.2.6 Shell-out to Operating System
3.1.2.6.1 String Substitution in Shell Commands
3.1.2.6.2 Shell Command Sequencing
3.1.2.6.3 Shell Command Return Actions
3.1.2.7 Text Output
3.1.2.7.1 Text Streams
3.1.2.7.2 Console Text Output
3.1.2.7.3 Directing Text Streams to Files
3.1.2.7.4 Warning Level
3.1.2.7.5 Help Screen Switches
3.1.2.8 Tracing Options
3.1.2.8.1 Quality Settings
3.1.2.8.2 Automatic Bounding Control
3.1.2.8.3 Removing User Bounding
3.1.2.8.4 Anti-Aliasing Options
3.2 Scene Description Language
3.2.1 Language Basics
3.2.1.1 Identifiers and Keywords
3.2.1.2 Comments
3.2.1.3 Float Expressions
3.2.1.3.1 Literals
3.2.1.3.2 Identifiers
3.2.1.3.3 Operators
3.2.1.3.4 Functions
3.2.1.3.5 Built-in Constants
3.2.1.3.6 Built-in Variables
3.2.1.4 Vector Expressions
3.2.1.4.1 Literals
3.2.1.4.2 Identifiers
3.2.1.4.3 Operators
3.2.1.4.4 Operator Promotion
3.2.1.4.5 Functions
3.2.1.4.6 Built-in Constants
3.2.1.5 Specifying Colors
3.2.1.5.1 Color Vectors
3.2.1.5.2 Color Keywords
3.2.1.5.3 Color Identifiers
3.2.1.5.4 Color Operators
3.2.1.5.5 Common Color Pitfalls
3.2.1.6 User-Defined Functions
3.2.1.6.1 Sum and Product functions
3.2.1.6.2 Functions and Macros
3.2.1.6.3 Declaring User-Defined Float Functions
3.2.1.6.4 Declaring User-Defined Vector Functions
3.2.1.6.5 Declaring User-Defined Color Functions
3.2.1.6.6 Internal Pre-Defined Functions
3.2.1.7 Strings
3.2.1.7.1 String Literals
3.2.1.7.2 String Identifiers
3.2.1.7.3 String Functions
3.2.1.8 Array Identifiers
3.2.1.8.1 Declaring Arrays
3.2.1.8.2 Array Initializers
3.2.1.9 Spline Identifiers
3.2.1.9.1 Splines and Macros
3.2.2 Language Directives
3.2.2.1 Include Files and the #include Directive
3.2.2.2 The #declare and #local Directives
3.2.2.2.1 Declaring identifiers
3.2.2.2.2 #declare vs. #local
3.2.2.2.3 Identifier Name Collisions
3.2.2.2.4 Destroying Identifiers with #undef
3.2.2.3 File I/O Directives
3.2.2.3.1 The #fopen Directive
3.2.2.3.2 The #fclose Directive
3.2.2.3.3 The #read Directive
3.2.2.3.4 The #write Directive
3.2.2.4 The #default Directive
3.2.2.5 The #version Directive
3.2.2.6 Conditional Directives
3.2.2.6.1 The #if...#else...#end Directives
3.2.2.6.2 The #ifdef and #ifndef Directives
3.2.2.6.3 The #switch, #case, #range and #break Directives
3.2.2.6.4 The #while...#end Directive
3.2.2.7 User Message Directives
3.2.2.7.1 Text Message Streams
3.2.2.7.2 Text Formatting
3.2.2.8 User Defined Macros
3.2.2.8.1 The #macro Directive
3.2.2.8.2 Invoking Macros
3.2.2.8.3 Are POV-Ray Macros a Function or a Macro?
3.2.2.8.4 Returning a Value Like a Function
3.2.2.8.5 Returning Values Via Parameters
3.3 Scene Settings
3.3.1 Camera
3.3.1.1 Placing the Camera
3.3.1.1.1 Location and Look_At
3.3.1.1.2 The Sky Vector
3.3.1.1.3 Angles
3.3.1.1.4 The Direction Vector
3.3.1.1.5 Up and Right Vectors
3.3.1.1.6 Aspect Ratio
3.3.1.1.7 Handedness
3.3.1.1.8 Transforming the Camera
3.3.1.2 Types of Projection
3.3.1.2.1 Perspective projection
3.3.1.2.2 Orthographic projection
3.3.1.2.3 Fisheye projection
3.3.1.2.4 Ultra wide angle projection
3.3.1.2.5 Omnimax projection
3.3.1.2.6 Panoramic projection
3.3.1.2.7 Cylindrical projection
3.3.1.2.8 Spherical projection
3.3.1.3 Focal Blur
3.3.1.4 Camera Ray Perturbation
3.3.1.5 Camera Identifiers
3.3.2 Atmospheric Effects
3.3.2.1 Atmospheric Media
3.3.2.2 Background
3.3.2.3 Fog
3.3.2.4 Sky Sphere
3.3.2.5 Rainbow
3.3.3 Global Settings
3.3.3.1 ADC_Bailout
3.3.3.2 Ambient_Light
3.3.3.3 Assumed_Gamma
3.3.3.3.1 Monitor Gamma
3.3.3.3.2 Image File Gamma
3.3.3.3.3 Scene File Gamma
3.3.3.4 HF_Gray_16
3.3.3.5 Irid_Wavelength
3.3.3.6 Charset
3.3.3.7 Max_Trace_Level
3.3.3.8 Max_Intersections
3.3.3.9 Number_Of_Waves
3.3.3.10 Noise_generator
3.3.3.11 Radiosity Basics
3.3.4 Radiosity
3.3.4.1 How Radiosity Works
3.3.4.2 Adjusting Radiosity
3.3.4.2.1 radiosity adc_bailout
3.3.4.2.2 always_sample
3.3.4.2.3 brightness
3.3.4.2.4 count
3.3.4.2.5 error_bound
3.3.4.2.6 gray_threshold
3.3.4.2.7 low_error_factor
3.3.4.2.8 max_sample
3.3.4.2.9 Media and Radiosity
3.3.4.2.10 minimum_reuse
3.3.4.2.11 nearest_count
3.3.4.2.12 Normal and Radiosity
3.3.4.2.13 Pretrace
3.3.4.2.14 recursion_limit
3.3.4.2.15 Save and load radiosity data
3.3.4.3 Tips on Radiosity
3.4 Objects
3.4.1 Finite Solid Primitives
3.4.1.1 Blob
3.4.1.2 Box
3.4.1.3 Cone
3.4.1.4 Cylinder
3.4.1.5 Height Field
3.4.1.6 Julia Fractal
3.4.1.7 Lathe
3.4.1.8 Prism
3.4.1.9 Sphere
3.4.1.10 Sphere Sweep
3.4.1.11 Superquadric Ellipsoid
3.4.1.12 Surface of Revolution
3.4.1.13 Text
3.4.1.14 Torus
3.4.2 Finite Patch Primitives
3.4.2.1 Bicubic Patch
3.4.2.2 Disc
3.4.2.3 Mesh
3.4.2.3.1 Solid Mesh
3.4.2.4 Mesh2
3.4.2.4.1 Smooth and Flat triangles in the same mesh
3.4.2.4.2 Mesh Triangle Textures
3.4.2.5 Polygon
3.4.2.6 Triangle and Smooth Triangle
3.4.3 Infinite Solid Primitives
3.4.3.1 Plane
3.4.3.2 Poly, Cubic and Quartic
3.4.3.3 Quadric
3.4.4 Isosurface Object
3.4.5 Parametric Object
3.4.6 Constructive Solid Geometry
3.4.6.1 Inside and Outside
3.4.6.2 Union
3.4.6.2.1 Split_Union
3.4.6.3 Intersection
3.4.6.4 Difference
3.4.6.5 Merge
3.4.7 Light Sources
3.4.7.1 Point Lights
3.4.7.2 Spotlights
3.4.7.3 Cylindrical Lights
3.4.7.4 Parallel Lights
3.4.7.5 Area Lights
3.4.7.6 Shadowless Lights
3.4.7.7 Looks_like
3.4.7.8 Projected_Through
3.4.7.9 Light Fading
3.4.7.10 Atmospheric Media Interaction
3.4.7.11 Atmospheric Attenuation
3.4.8 Light Groups
3.4.9 Object Modifiers
3.4.9.1 Clipped_By
3.4.9.2 Bounded_By
3.4.9.3 Material
3.4.9.4 Inverse
3.4.9.5 Hollow
3.4.9.6 No_Shadow
3.4.9.7 No_Image, No_Reflection
3.4.9.8 Double_Illuminate
3.4.9.9 Sturm
3.5 Textures
3.5.1 Pigment
3.5.1.1 Solid Color Pigments
3.5.1.2 Color List Pigments
3.5.1.3 Color Maps
3.5.1.4 Pigment Maps and Pigment Lists
3.5.1.5 Image Maps
3.5.1.5.1 Specifying an Image Map
3.5.1.5.2 The Filter and Transmit Bitmap Modifiers
3.5.1.5.3 Using the Alpha Channel
3.5.1.6 Quick Color
3.5.2 Normal
3.5.2.1 Slope Maps
3.5.2.1.1 Normals, Accuracy
3.5.2.2 Normal Maps and Normal Lists
3.5.2.3 Bump Maps
3.5.2.3.1 Specifying a Bump Map
3.5.2.3.2 Bump_Size
3.5.2.3.3 Use_Index and Use_Color
3.5.2.4 Scaling normals
3.5.3 Finish
3.5.3.1 Ambient
3.5.3.2 Diffuse Reflection Items
3.5.3.2.1 Diffuse
3.5.3.2.2 Brilliance
3.5.3.2.3 Crand Graininess
3.5.3.3 Highlights
3.5.3.3.1 Phong Highlights
3.5.3.3.2 Specular Highlight
3.5.3.3.3 Metallic Highlight Modifier
3.5.3.4 Specular Reflection
3.5.3.5 Conserve Energy for Reflection
3.5.3.6 Iridescence
3.5.4 Halo
3.5.5 Patterned Textures
3.5.5.1 Texture Maps
3.5.5.2 Tiles
3.5.5.3 Material Maps
3.5.5.3.1 Specifying a Material Map
3.5.6 Layered Textures
3.5.7 UV Mapping
3.5.7.1 Supported Objects
3.5.7.2 UV Vectors
3.5.8 Triangle Texture Interpolation
3.5.9 Interior Texture
3.5.10 Cutaway Textures
3.5.11 Patterns
3.5.11.1 Agate
3.5.11.2 Average
3.5.11.3 Boxed
3.5.11.4 Bozo
3.5.11.5 Brick
3.5.11.6 Bumps
3.5.11.7 Cells
3.5.11.8 Checker
3.5.11.9 Crackle Patterns
3.5.11.10 Cylindrical
3.5.11.11 Density_File
3.5.11.11.1 df3 file format
3.5.11.12 Dents
3.5.11.13 Facets
3.5.11.14 Fractal Patterns
3.5.11.15 Function as pattern
3.5.11.15.1 What can be used
3.5.11.16 Function Image
3.5.11.17 Gradient
3.5.11.18 Granite
3.5.11.19 Hexagon
3.5.11.20 Image Pattern
3.5.11.21 Leopard
3.5.11.22 Marble
3.5.11.23 Object Pattern
3.5.11.24 Onion
3.5.11.25 Pigment Pattern
3.5.11.26 Planar
3.5.11.27 Quilted
3.5.11.28 Radial
3.5.11.29 Ripples
3.5.11.30 Slope
3.5.11.31 Spherical
3.5.11.32 Spiral1
3.5.11.33 Spiral2
3.5.11.34 Spotted
3.5.11.35 Waves
3.5.11.36 Wood
3.5.11.37 Wrinkles
3.5.12 Pattern Modifiers
3.5.12.1 Transforming Patterns
3.5.12.2 Frequency and Phase
3.5.12.3 Waveforms
3.5.12.4 Noise Generators
3.5.12.5 Turbulence
3.5.12.6 Warps
3.5.12.6.1 Black Hole Warp
3.5.12.6.2 Repeat Warp
3.5.12.6.3 Turbulence versus Turbulence Warp
3.5.12.6.4 Turbulence Warp
3.5.12.6.5 Mapping using warps
3.5.12.7 Bitmap Modifiers
3.5.12.7.1 The once Option
3.5.12.7.2 The map_type Option
3.5.12.7.3 The interpolate Option
3.6 Interior & Media & Photons
3.6.1 Interior
3.6.1.1 Why are Interior and Media Necessary?
3.6.1.2 Empty and Solid Objects
3.6.1.3 Scaling objects with an interior
3.6.1.4 Refraction
3.6.1.5 Dispersion
3.6.1.5.1 Dispersion & Caustics
3.6.1.6 Attenuation
3.6.1.7 Simulated Caustics
3.6.1.8 Object-Media
3.6.2 Media
3.6.2.1 Media Types
3.6.2.1.1 Absorption
3.6.2.1.2 Emission
3.6.2.1.3 Scattering
3.6.2.2 Sampling Parameters & Methods
3.6.2.3 Density
3.6.2.3.1 General Density Modifiers
3.6.2.3.2 Density with color_map
3.6.2.3.3 Density Maps and Density Lists
3.6.2.3.4 Multiple Density vs. Multiple Media
3.6.3 Photons
3.6.3.1 Overview
3.6.3.1.1 Examples
3.6.3.2 Using Photon Mapping in Your Scene
3.6.3.2.1 Photon Global Settings
3.6.3.2.2 Shooting Photons at an Object
3.6.3.2.3 Photons and Light Sources
3.6.3.2.4 Photons and Media
3.6.3.3 Photons FAQ
3.6.3.4 Photon Tips
3.6.3.5 Advanced Techniques
3.6.3.5.1 Autostop
3.6.3.5.2 Adaptive Search Radius
3.6.3.5.3 Photons and Dispersion
3.6.3.5.4 Saving and Loading Photon Maps
3.7 Include Files
3.7.1 arrays.inc
3.7.2 chars.inc
3.7.3 colors.inc
3.7.3.1 Predefined colors
3.7.3.2 Color macros
3.7.4 consts.inc
3.7.4.1 Vector constants
3.7.4.2 Map type constants
3.7.4.3 Interpolation type constants
3.7.4.4 Fog type constants
3.7.4.5 Focal blur hexgrid constants
3.7.4.6 IORs
3.7.4.7 Dispersion amounts
3.7.4.8 Scattering media type constants
3.7.5 debug.inc
3.7.6 finish.inc
3.7.7 functions.inc
3.7.7.1 Common Parameters
3.7.7.1.1 Field Strength
3.7.7.1.2 Field Limit
3.7.7.1.3 SOR Switch
3.7.7.1.4 SOR Offset
3.7.7.1.5 SOR Angle
3.7.7.1.6 Invert Isosurface
3.7.7.2 Internal Functions
3.7.7.3 Pre defined functions
3.7.7.3.1 Pattern functions
3.7.8 glass.inc, glass_old.inc
3.7.8.1 Glass colors (with transparency)
3.7.8.2 Glass colors (without transparency, for fade_color)
3.7.8.3 Glass finishes
3.7.8.4 Glass interiors
3.7.8.5 Glass interior macros
3.7.8.6 glass_old.inc
3.7.8.6.1 Glass finishes
3.7.8.6.2 Glass textures
3.7.9 math.inc
3.7.9.1 Float functions and macros
3.7.9.2 Vector functions and macros
3.7.9.3 Vector Analysis
3.7.10 metals.inc, golds.inc
3.7.10.1 metals.inc
3.7.10.2 golds.inc
3.7.11 rand.inc
3.7.11.1 Flat Distributions
3.7.11.2 Other Distributions
3.7.11.2.1 Continuous Symmetric Distributions
3.7.11.2.2 Continuous Skewed Distributions
3.7.11.2.3 Discrete Distributions
3.7.12 shapes.inc, shapes_old.inc, shapes2.inc, shapesq.inc
3.7.12.1 shapes.inc
3.7.12.1.1 The HF Macros
3.7.12.2 shapes_old.inc
3.7.12.3 shapes2.inc
3.7.12.4 shapesq.inc
3.7.13 skies.inc, stars.inc
3.7.13.1 skies.inc
3.7.13.2 stars.inc
3.7.14 stones.inc, stones1.inc, stones2.inc, stoneold.inc
3.7.14.1 stones1.inc
3.7.14.2 stones2.inc
3.7.15 stdinc.inc
3.7.16 strings.inc
3.7.17 textures.inc
3.7.17.1 Stones
3.7.17.2 Skies
3.7.17.3 Woods
3.7.17.4 Glass
3.7.17.5 Metals
3.7.17.6 Special textures
3.7.17.7 Texture and pattern macros
3.7.18 transforms.inc
3.7.19 woodmaps.inc, woods.inc
3.7.19.1 woodmaps.inc
3.7.19.2 woods.inc
3.7.20 Other files
3.7.20.1 logo.inc
3.7.20.2 rad_def.inc
3.7.20.3 screen.inc
3.7.20.4 stdcam.inc
3.7.20.5 stage1.inc
3.7.20.6 sunpos.inc
3.7.20.7 font files (*.ttf)
3.7.20.8 color_map files (*.map)
3.7.20.9 image files (*.png, *.pot, *.df3)
3.8 Quick Reference
3.8.1 Quick Reference Contents
3.8.2 The Scene
3.8.3 Language Basics
3.8.3.1 Floats
3.8.3.2 Vectors
3.8.3.3 Colors
3.8.3.4 User defined Functions
3.8.3.5 Strings
3.8.3.6 Arrays
3.8.3.7 Splines
3.8.4 Language Directives
3.8.4.1 File Inclusion
3.8.4.2 Identifier Declaration
3.8.4.3 File Input/Output
3.8.4.4 Default Texture
3.8.4.5 Version Identfier
3.8.4.6 Control Flow Directives
3.8.4.7 Message Streams
3.8.4.8 Macro
3.8.4.9 Embedded Directives
3.8.5 Transformations
3.8.6 Camera
3.8.7 Lights
3.8.7.1 Lightgroup
3.8.8 Objects
3.8.8.1 Finite Solid Objects
3.8.8.2 Finite Patch Objects
3.8.8.3 Infinite Solid Objects
3.8.8.4 Isosurface
3.8.8.5 Parametric
3.8.8.6 CSG
3.8.9 Object Modifiers
3.8.9.1 UV Mapping
3.8.9.2 Material
3.8.9.3 Interior
3.8.9.4 Interior Texture
3.8.10 Texture
3.8.10.1 Plain Texture
3.8.10.2 Layered Texture
3.8.10.3 Patterned Texture
3.8.10.4 Pigment
3.8.10.5 Normal
3.8.10.6 Finish
3.8.10.7 Pattern
3.8.10.8 Pattern Modifiers
3.8.11 Media
3.8.12 Atmospheric Effects
3.8.12.1 Background
3.8.12.2 Fog
3.8.12.3 Sky Sphere
3.8.12.4 Rainbow
3.8.13 Global Settings
3.8.13.1 Radiosity
3.8.13.2 Photons
2.5.5 Suggested Reading
3 POV-Ray Reference
3.1 Introduction