Introduction
Program Description
What is Ray-Tracing?
What is POV-Ray?
Features
Trademarks
The Early History of POV-Ray
How Do I Begin?
Notation and Basic Assumptions
Getting Started
Our First Image
Basic Shapes
CSG Objects
The Light Source
Simple Texture Options
Using the Camera
POV-Ray Coordinate System
Setting POV-Ray Options
Advanced Features
Spline Based Shapes
Polygon Based Shapes
Other Shapes
Gamma Handling
Advanced Texture Options
Using Atmospheric Effects
Simple Media Tutorial
Radiosity
Making Animations
While-loop tutorial
SDL tutorial: A raytracer
Questions and Tips
Appendices
Contacting the Authors
POV-Ray License
Contact Information
Support Library Licenses
Citing POV-Ray in Academic Publications
Contributors to POV-Ray
Thanks
What to do if you don't have POV-Ray
Suggested Reading
POV-Ray for Unix
version 3.8
Home
POV-Ray for Unix
POV-Ray Tutorial
POV-Ray Reference
Introduction
Program Description
What is Ray-Tracing?
What is POV-Ray?
Features
Changes and New Features Summary
Version 3.8
Version 3.7
Trademarks
The Early History of POV-Ray
The Original Creation Message
The Name
A Historic 'Version History'
How Do I Begin?
Notation and Basic Assumptions
Getting Started
Our First Image
Understanding POV-Ray's Coordinate System
Adding Standard Include Files
Adding a Camera
Describing an Object
Adding Texture to an Object
Defining a Light Source
Basic Shapes
Box Object
Cone Object
Cylinder Object
Plane Object
Torus Object
CSG Objects
What is CSG?
CSG Union
CSG Intersection
CSG Difference
CSG Merge
CSG Pitfalls
Co-incident Surfaces
The Light Source
The Pointlight Source
The Spotlight Source
The Cylindrical Light Source
The Area Light Source
The Ambient Light Source
Light Source Specials
Using Shadowless Lights
Assigning an Object to a Light Source
Using Light Fading
Simple Texture Options
Surface Finishes
Adding Bumpiness
Creating Color Patterns
Pre-defined Textures
Using the Camera
Using Focal Blur
POV-Ray Coordinate System
Transformations
Translate
Scale
Rotate
Matrix
Transformation Order
Inverse Transform
Transform Identifiers
Transforming Textures and Objects
Setting POV-Ray Options
Command Line Switches
Using INI Files
Using the POVINI Environment Variable
Advanced Features
Spline Based Shapes
Lathe Object
Understanding The Concept of Splines
Surface of Revolution Object
Prism Object
Teaching An Old Spline New Tricks
Smooth Transitions
Multiple Sub-Shapes
Conic Sweeps And The Tapering Effect
Sphere Sweep Object
Bicubic Patch Object
Text Object
Polygon Based Shapes
Mesh Object
Mesh2 Object
Smooth triangles and mesh2
UV mapping and mesh2
A separate texture per triangle
Polygon Object
Other Shapes
Blob Object
Component Types and Other New Features
Complex Blob Constructs and Negative Strength
Height Field Object
Isosurface Object
Simple functions
Several surfaces
Non-linear functions
Specifying functions
Internal functions
Combining isosurface functions
Noise and pigment functions
Conditional directives and loops
Transformations on functions
Improving Isosurface Speed
Poly Object
Creating the polynomial function
Writing the polynomial vector
Polynomial made easy
Superquadric Ellipsoid Object
Gamma Handling
Setting Up Your Display
Setting Up POV-Ray
Gamma in Output Images
Setting Up Your Scene
Gamma in Literal Colors
Gamma in Input Images
Gamma in Legacy Scenes
Advanced Texture Options
Pigments
Using Color List Pigments
Using Pigment and Patterns
Using Pattern Modifiers
Using Transparent Pigments and Layered Textures
Using Pigment Maps
Normals
Using Basic Normal Modifiers
Blending Normals
Slope Map Tutorial
Slopes, what are they?
Syntax of a slope map
Examples of slope maps
Finishes
Using Ambient
Using Emission
Using Surface Highlights
Using Reflection, Metallic and Metallic
Using Iridescence
Working With Pigment Maps
Working With Normal Maps
Working With Texture Maps
Working With List Textures
What About Tiles?
Average Function
Working With Layered Textures
Declaring Layered Textures
Another Layered Textures Example
When All Else Fails: Material Maps
Limitations Of Special Textures
Using Atmospheric Effects
The Background
The Sky Sphere
Creating a Sky with a Color Gradient
Adding the Sun
Adding Some Clouds
The Fog
A Constant Fog
Setting a Minimum Translucency
Creating a Filtering Fog
Adding Some Turbulence to the Fog
Using Ground Fog
Using Multiple Layers of Fog
Fog and Hollow Objects
The Rainbow
Starting With a Simple Rainbow
Increasing the Rainbow's Translucency
Using a Rainbow Arc
Simple Media Tutorial
Types of media
Some media concepts
Simple media examples
Emitting media
Absorbing media
Scattering media
Multiple medias inside the same object
Media and transformations
A more advanced example of scattering media
Media and photons
Radiosity
Introduction
Radiosity with conventional lighting
Radiosity without conventional lighting
Normals and Radiosity
Performance considerations
Making Animations
The Clock Variable: Key To It All
Clock Dependant Variables And Multi-Stage Animations
The Phase Keyword
Do Not Use Jitter Or Crand
INI File Settings
While-loop tutorial
What a while-loop is and what it is not
How does a single while-loop work?
How do I make a while-loop?
What is a condition and how do I make one?
What about loop types other than simple for-loops?
What about nested loops?
Mixed-type nested loops
Other things to note
SDL tutorial: A raytracer
Introduction
The idea and the code
Short introduction to raytracing
Global settings
Scene definition
Initializing the raytracer
Ray-sphere intersection
Inner workings of a macro
The ray-sphere intersection macro
The Trace macro
Calculating the closest intersection
If the ray doesn't hit anything
Initializing color calculations
Going through the light sources
Shadow test
Diffuse lighting
Specular lighting
Reflection Calculation
Calculating the image
Creating the colored mesh
The structure of the mesh
Creating the mesh
Creating the vertex points
Creating the textures
Creating the triangles
The Camera-setup
Questions and Tips
Appendices
Contacting the Authors
POV-Ray License
Contact Information
Support Library Licenses
OpenEXR
Citing POV-Ray in Academic Publications
Contributors to POV-Ray
Thanks
What to do if you don't have POV-Ray
Which Version of POV-Ray should you use?
Microsoft Windows
Apple Macintosh
Linux/Unix
All Versions
Where to Find POV-Ray Files
World Wide Website www.povray.org
Suggested Reading