DINO and POVray Tutorial


Material Settings: Normal modifiers

DINO Homepage

- Introduction
- Exporting from DINO
- File contents
- Rendering the scene
Scene Settings
- Camera
- Light Sources
- Background
- Depth Effect
Material Settings
- Overview
- Finish modifiers
- Normal modifiers
- Finish + Normal
- Transparency
- Predefined Textures
- Overview
- Detail

last updated 14 Sep 2016

From the POVray manual:

Ray-tracing is known for the dramatic way it depicts reflection, refraction and lighting effects. Much of our perception depends on the reflective properties of an object. Ray tracing can exploit this by playing tricks on our perception to make us see complex details that aren't really there. Suppose you wanted a very bumpy surface on the object. It would be very difficult to mathematically model lots of bumps. We can however simulate the way bumps look by altering the way light reflects off of the surface. Reflection calculations depend on a vector called a surface normal vector. This is a vector which points away from the surface and is perpendicular to it. By artificially modifying (or perturbing) this normal vector you can simulate bumps. This is done by adding an optional normal statement.Note that attaching a normal pattern does not really modify the surface. It only affects the way light reflects or refracts at the surface so that it looks bumpy.

The following code is written into the normal section of each object in the .pov file (the actual values may vary depending on the object type):

normal {granite 0.0 scale 1.0}

The perturbation of the normal vectors is turned off by default. The first expression indicates the type of perturbation function that is to be used (called a PATTERN_TYPE in POVray). There are about 30 different functions (or patterns) available, but only a few will be demonstrated here: granite, bumps, bozo, crackle and agate. The floating point numbers after the pattern is the intensity, a value of 0.0 turns the perturbation off. The scale can be thought of as the amount the perturbation is stretched out on the surface, see examples below.

Please note that all examples below were rendered with +A0.2 antialiasing because the effects can be quite small. The finish settings are the default values.

The image as displayed in DINO

The POVray rendered image with the default normal settings from above (no perturbation)

granite 0.5 scale 1.0

granite 0.8 scale 3.0

bumps 0.3 scale 0.3

bozo 0.8 scale 0.5

crackle 1.2 scale 1.5 turbulence 0.5

agate 0.4 agate_turb 4 scale 3.0

(c) 2001-2005 Ansgar Philippsen