POV-Ray 3.6 for UNIX documentation
1 POV-Ray for Unix
1.1 Introduction
1.1.1 What is POV-Ray?
1.1.2 What is POV-Ray for Unix?
1.1.2.1 ... And What Is It Not?
1.1.3 Who Can Use POV-Ray for Unix?
1.1.4 Spelling
1.1.5 Reporting Bugs
1.1.6 Trademarks
1.2 New Features
1.2.1 I/O Restrictions
1.2.2 Display Options
1.2.3 Benchmark Mode
1.2.4 Sample scene render scripts
1.2.5 KDE integration
1.3 Getting Started
1.3.1 Available distributions
1.3.2 Configuration
1.3.2.1 The I/O Restrictions configuration file
1.3.2.2 The main POV-Ray INI file
1.3.3 Starting a Render Job
1.3.3.1 X Window display
1.3.3.2 SVGAlib display
1.3.3.3 Output file formats
1.3.4 Interrupting POV-Ray
1.3.5 Tutorials
1.3.6 Rendering the Sample Scenes
1.3.7 POV-Ray for Unix Tips
1.3.7.1 Automated execution
1.3.7.2 Post-processing Images
1.4 I/O Restrictions
1.4.1 Configuration file format
1.4.2 File I/O Security
1.4.3 Shellout Security
1.4.4 Permitted Paths
1.4.4.1 Examples for path settings
1.4.5 Example configuration file
1.5 Understanding File Types
1.5.1 POV Files
1.5.2 INI Files
1.5.2.1 INI File Sections
1.6 Understanding POV-Ray Options
1.6.1 Special Command-Line Options
1.6.2 Benchmark Rendering Mode
1.7 Bug Reports
1.7.1 Feature Requests are not bugs
1.7.2 Known Bugs
1.7.3 Spelling
1.7.4 Bug Reporting via Email
1.7.5 Bug Reporting via our News Server
1.8 Speed Considerations
1.8.1 Render Priority
1.8.2 Render Window
1.8.3 Memory
1.8.4 Scene Features
1.8.5 Render Quality
2 Introduction to POV-Ray
2.1 Introduction
2.1.1 Program Description
2.1.2 What is Ray-Tracing?
2.1.3 What is POV-Ray?
2.1.4 Features
2.1.5 The Early History of POV-Ray
2.1.5.1 The Original Creation Message
2.1.5.2 The Name
2.1.5.3 A Historic 'Version History'
2.1.6 How Do I Begin?
2.1.7 Notation and Basic Assumptions
2.2 Getting Started
2.2.1 Our First Image
2.2.1.1 Understanding POV-Ray's Coordinate System
2.2.1.2 Adding Standard Include Files
2.2.1.3 Adding a Camera
2.2.1.4 Describing an Object
2.2.1.5 Adding Texture to an Object
2.2.1.6 Defining a Light Source
2.2.2 Basic Shapes
2.2.2.1 Box Object
2.2.2.2 Cone Object
2.2.2.3 Cylinder Object
2.2.2.4 Plane Object
2.2.2.5 Torus Object
2.2.3 CSG Objects
2.2.3.1 What is CSG?
2.2.3.2 CSG Union
2.2.3.3 CSG Intersection
2.2.3.4 CSG Difference
2.2.3.5 CSG Merge
2.2.3.6 CSG Pitfalls
2.2.3.6.1 Co-incident Surfaces
2.2.4 The Light Source
2.2.4.1 The Pointlight Source
2.2.4.2 The Spotlight Source
2.2.4.3 The Cylindrical Light Source
2.2.4.4 The Area Light Source
2.2.4.5 The Ambient Light Source
2.2.4.6 Light Source Specials
2.2.4.6.1 Using Shadowless Lights
2.2.4.6.2 Assigning an Object to a Light Source
2.2.4.6.3 Using Light Fading
2.2.5 Simple Texture Options
2.2.5.1 Surface Finishes
2.2.5.2 Adding Bumpiness
2.2.5.3 Creating Color Patterns
2.2.5.4 Pre-defined Textures
2.2.6 Using the Camera
2.2.6.1 Using Focal Blur
2.2.7 POV-Ray Coordinate System
2.2.7.1 Transformations
2.2.7.1.1 Translate
2.2.7.1.2 Scale
2.2.7.1.3 Rotate
2.2.7.1.4 Matrix
2.2.7.2 Transformation Order
2.2.7.3 Inverse Transform
2.2.7.4 Transform Identifiers
2.2.7.5 Transforming Textures and Objects
2.2.8 Setting POV-Ray Options
2.2.8.1 Command Line Switches
2.2.8.2 Using INI Files
2.2.8.3 Using the POVINI Environment Variable
2.3 Advanced Features
2.3.1 Spline Based Shapes
2.3.1.1 Lathe Object
2.3.1.1.1 Understanding The Concept of Splines
2.3.1.2 Surface of Revolution Object
2.3.1.3 Prism Object
2.3.1.3.1 Teaching An Old Spline New Tricks
2.3.1.3.2 Smooth Transitions
2.3.1.3.3 Multiple Sub-Shapes
2.3.1.3.4 Conic Sweeps And The Tapering Effect
2.3.1.4 Sphere Sweep Object
2.3.1.5 Bicubic Patch Object
2.3.1.6 Text Object
2.3.2 Polygon Based Shapes
2.3.2.1 Mesh Object
2.3.2.2 Mesh2 Object
2.3.2.2.1 Smooth triangles and mesh2
2.3.2.2.2 UV mapping and mesh2
2.3.2.2.3 A separate texture per triangle
2.3.2.3 Polygon Object
2.3.3 Other Shapes
2.3.3.1 Blob Object
2.3.3.1.1 Component Types and Other New Features
2.3.3.1.2 Complex Blob Constructs and Negative Strength
2.3.3.2 Height Field Object
2.3.3.3 Isosurface Object
2.3.3.3.1 Simple functions
2.3.3.3.2 Several surfaces
2.3.3.3.3 Non-linear functions
2.3.3.3.4 Specifying functions
2.3.3.3.5 Internal functions
2.3.3.3.6 Combining isosurface functions
2.3.3.3.7 Noise and pigment functions
2.3.3.3.8 Conditional directives and loops
2.3.3.3.9 Transformations on functions
2.3.3.3.10 Improving Isosurface Speed
2.3.3.4 Poly Object
2.3.3.4.1 Creating the polynomial function
2.3.3.4.2 Writing the polynomial vector
2.3.3.5 Superquadric Ellipsoid Object
2.3.4 Advanced Texture Options
2.3.4.1 Pigments
2.3.4.1.1 Using Color List Pigments
2.3.4.1.2 Using Pigment and Patterns
2.3.4.1.3 Using Pattern Modifiers
2.3.4.1.4 Using Transparent Pigments and Layered Textures
2.3.4.1.5 Using Pigment Maps
2.3.4.2 Normals
2.3.4.2.1 Using Basic Normal Modifiers
2.3.4.2.2 Blending Normals
2.3.4.3 Finishes
2.3.4.3.1 Using Ambient
2.3.4.3.2 Using Surface Highlights
2.3.4.3.3 Using Reflection, Metallic and Metallic
2.3.4.3.4 Using Iridescence
2.3.4.4 Working With Pigment Maps
2.3.4.5 Working With Normal Maps
2.3.4.6 Working With Texture Maps
2.3.4.7 Working With List Textures
2.3.4.8 What About Tiles?
2.3.4.9 Average Function
2.3.4.10 Working With Layered Textures
2.3.4.10.1 Declaring Layered Textures
2.3.4.10.2 Another Layered Textures Example
2.3.4.11 When All Else Fails: Material Maps
2.3.4.12 Limitations Of Special Textures
2.3.5 Using Atmospheric Effects
2.3.5.1 The Background
2.3.5.2 The Sky Sphere
2.3.5.2.1 Creating a Sky with a Color Gradient
2.3.5.2.2 Adding the Sun
2.3.5.2.3 Adding Some Clouds
2.3.5.3 The Fog
2.3.5.3.1 A Constant Fog
2.3.5.3.2 Setting a Minimum Translucency
2.3.5.3.3 Creating a Filtering Fog
2.3.5.3.4 Adding Some Turbulence to the Fog
2.3.5.3.5 Using Ground Fog
2.3.5.3.6 Using Multiple Layers of Fog
2.3.5.3.7 Fog and Hollow Objects
2.3.5.4 The Rainbow
2.3.5.4.1 Starting With a Simple Rainbow
2.3.5.4.2 Increasing the Rainbow's Translucency
2.3.5.4.3 Using a Rainbow Arc
2.3.6 Simple Media Tutorial
2.3.6.1 Types of media
2.3.6.2 Some media concepts
2.3.6.3 Simple media examples
2.3.6.3.1 Emitting media
2.3.6.3.2 Absorbing media
2.3.6.3.3 Scattering media
2.3.6.4 Multiple medias inside the same object
2.3.6.5 Media and transformations
2.3.6.6 A more advanced example of scattering media
2.3.6.7 Media and photons
2.3.7 Radiosity
2.3.7.1 Introduction
2.3.7.2 Radiosity with conventional lighting
2.3.7.3 Radiosity without conventional lighting
2.3.7.4 Normals and Radiosity
2.3.7.5 Performance considerations
2.3.8 Making Animations
2.3.8.1 The Clock Variable: Key To It All
2.3.8.2 Clock Dependant Variables And Multi-Stage Animations
2.3.8.3 The Phase Keyword
2.3.8.4 Do Not Use Jitter Or Crand
2.3.8.5 INI File Settings
2.3.9 While-loop tutorial
2.3.9.1 What a while-loop is and what it is not
2.3.9.2 How does a single while-loop work?
2.3.9.3 How do I make a while-loop?
2.3.9.4 What is a condition and how do I make one?
2.3.9.5 What about loop types other than simple for-loops?
2.3.9.6 What about nested loops?
2.3.9.7 Mixed-type nested loops
2.3.9.8 Other things to note
2.3.10 SDL tutorial: A raytracer
2.3.10.1 Introduction
2.3.10.2 The idea and the code
2.3.10.3 Short introduction to raytracing
2.3.10.4 Global settings
2.3.10.5 Scene definition
2.3.10.6 Initializing the raytracer
2.3.10.7 Ray-sphere intersection
2.3.10.7.1 Inner workings of a #macro
2.3.10.7.2 The ray-sphere intersection macro
2.3.10.8 The Trace macro
2.3.10.8.1 Calculating the closest intersection
2.3.10.8.2 If the ray doesn't hit anything
2.3.10.8.3 Initializing color calculations
2.3.10.8.4 Going through the light sources
2.3.10.8.5 Shadow test
2.3.10.8.6 Diffuse lighting
2.3.10.8.7 Specular lighting
2.3.10.8.8 Reflection Calculation
2.3.10.9 Calculating the image
2.3.10.10 Creating the colored mesh
2.3.10.10.1 The structure of the mesh
2.3.10.10.2 Creating the mesh
2.3.10.10.3 Creating the vertex points
2.3.10.10.4 Creating the textures
2.3.10.10.5 Creating the triangles
2.3.10.11 The Camera-setup
2.4 Questions and Tips
2.4.1 Language Tips and tricks to achieve useful things
2.4.1.1 How do I make a visible light source?
2.4.1.2 How do I make bright objects?
2.4.1.3 How do I move the camera in a circular path?
2.4.1.4 How do I use an image to texture my object?
2.4.1.5 How can I generate a spline?
2.4.1.6 How can I simulate motion blur?
2.4.1.7 How can I find the size of a text object?
2.4.1.8 How do I make extruded text?
2.4.1.9 How do I make an object hollow?
2.4.1.10 How can I fill a glass with water or other objects?
2.4.1.11 How can I bend a object?
2.4.1.12 Can I get non-grainy focal blur?
2.4.2 Language Things that don't work as one expects
2.4.2.1 Using several transparent objects makes them black?
2.4.2.2 I'm getting color banding in the image
2.4.2.3 Rotation behaves very strangely
2.4.2.4 The image gets distorted when rendering a square image
2.4.2.5 Why are there strange dark pixels or noise on my CSG object?
2.4.2.6 Why won't the textures in stars.inc work with my sky_sphere?
2.4.2.7 When I use filter or transmit with my .tga image map nothing happens.
2.4.2.8 Isosurface not rendering properly?
2.4.3 Language related things
2.4.3.1 How do I turn animation on?
2.4.3.2 Can POV-Ray use multiple processors?
2.4.3.3 Can I get a wireframe render of my scene?
2.4.3.4 Can I specify variable IOR for an object?
2.4.3.5 What is Photon Mapping?
2.4.4 File Formats
2.4.4.1 Saving the image to disk.
2.4.4.2 Can I convert my POV-Ray scenes to another format?
2.4.4.3 How can I convert my scenes from format X to POV-Ray format?
2.4.4.4 How do I import all of my textures I created in 3DS Max into POV-Ray?
2.4.4.5 How can I avoid artifacts and still get good JPEG compression?
2.4.4.6 Why are there no converters from POV to other formats?
2.4.4.7 Why are triangle meshes in ASCII format?
2.4.5 Utilities, models, etc.
2.4.5.1 What is the best animation program available?
2.4.5.2 Creating/viewing MPEG-files.
2.4.5.3 Where can I find models/textures?
2.4.5.4 What are the best modellers for POV-Ray?
2.4.5.5 Any POV-Ray modellers for Mac?
2.4.5.6 Is there any user gallery of POV-Ray images?
2.4.5.7 Any good heightfield modellers?
2.4.5.8 Any easy way of creating trees?
2.4.6 Rendering speed
2.4.6.1 Will POV-Ray render faster with a 3D card?
2.4.6.2 How do I increase rendering speed?
2.4.6.3 CSG speed
2.4.6.4 Does POV-Ray support 3DNow?
2.4.7 Miscellaneous questions
2.4.7.1 Where do I suggest new features?
2.4.7.2 I'm getting a "Illegal grid value in dda_traversal()"
2.4.7.3 No beep when finished?
2.4.7.4 POV-Ray viruses?
2.4.7.5 GUI for Unix POV-Ray?
2.4.8 The shadow line artifact
2.4.8.1 What is the problem?
2.4.8.2 What causes the problem?
2.4.8.3 Can this problem be solved?
2.4.8.4 Possible solutions?
2.4.9 Smooth triangle artifact
2.4.9.1 What is the problem?
2.4.9.2 What causes the problem?
2.4.9.3 Can this problem be solved?
2.5 Appendices
2.5.1 POV-Ray User License
2.5.2 Citing POV-Ray in Academic Publications
2.5.3 The POV-Team
2.5.3.1 Contacting the Authors
2.5.3.2 The TAG
2.5.3.3 POV-Ray 3.6 Development
2.5.4 What to do if you don't have POV-Ray
2.5.4.1 Which Version of POV-Ray should you use?
2.5.4.1.1 Microsoft Windows 9x/NT/2000/XP
2.5.4.1.2 Linux for Intel x86
2.5.4.1.3 Apple Macintosh
2.5.4.1.4 Generic Unix
2.5.4.1.5 All Versions
2.5.4.2 Where to Find POV-Ray Files
2.5.4.2.1 World Wide Website www.povray.org
2.5.4.2.2 Books, Magazines and CD-ROMs
2.5.5 Suggested Reading
3 POV-Ray Reference
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