1.8.5 Render Quality
POV-Ray 3.6 for UNIX documentation
2 Introduction to POV-Ray
2.1 Introduction
2
Introduction to POV-Ray
Section Contents
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
1.8.5 Render Quality
2 Introduction to POV-Ray
2.1 Introduction