Descriptions and Examples for the POV-Ray Raytracer by Friedrich A. Lohmüller
Design of Surfaces by "texture" with POV-Ray -
Deutsch Deutsch
Italiano Italiano
Français français

- POV-Ray Tutorial

  Design of Surfaces
  - Colors and Textures

    texture Syntax
    Ready-made Textures
    Do-it-yourself Colors
    > pattern types
      Regular patterns
    - checker, hexagon
      square, triangular
    - brick
    - object pattern (1)
    - object pattern (2)
    - object pattern (3)
    - tiling
    - pavement
      Stripes pattern
    - color_map{...}
      Patterns by pigments
    - pigment_pattern (1)
    - pigment_pattern (2)
    - image_pattern
    Patterns Lists
    - Regular Patterns
    - Random Patterns
    - Fractal Patterns
    - Other Patterns

    Your own Textures
color rgb

  "three-dimensional solid texturing" with prozedural 3d textures

Instead of a single color like "color Red", we can use also a color pattern with the "pigment" statement. Besides of the ready made color patterns like Jade, Bright_Blue_Sky, Blood_Sky, Candy_Cane, Red_Marble, Brown_Agate, Cork etc., we can also use a bundle of regular patterns (like checker, brick, spiral etc.) and an infinite variety of irregular and floating patterns by using a pattern type like "gradient<0,1,0>" and a list of color or pigments to be used listed in a so-called "color_map" or "pigment_map".
We also can use a pattern with a "texture_map" or a "normal_map". Most of them work for "normal" as well as for colors.

These patterns were not only pasted on the surface of a geometric object or wrapped around a shape like a wallpaper. They are are three dimensional structures like the veins in a marble cake or in wood! This method is called "three-dimensional solid texturing". The patterns were produced by 3dimensional functions (apart from material_map, image_map and bump_map) and this is why these textures are called processurale textures. Every point in the 3d space has his own pattern property. If such a texture is applied to a shape it's like cuting out a piece of marble cake. We can also scale, rotate, translate them inside the "pigment" or "texture" bracket.

Turbulence brings live to the colors:

With the additional statement turbulence and values between 0.00 and 1.00 or more we modify each pattern. The attributes of pigment / normal are variable. By this we can get nearly each kind of natural pattern structure, like clouds, wood or marble.

See also list of pattern types for "pigment" und "normal"

Here an example for "crackle":

Sample crackle 640x480

// ground ----------------------------------------------------
plane{<0,1,0>, 0
              pigment{ color rgb<1,0.8,0>}
              normal { crackle 0.75 turbulence 0.25 scale 0.25}
              finish { diffuse 0.9}}
     }// end of plane

For the texture of the above sphere see here: layered textures

The following example is also know as "Bright_Blue_Sky" -

sphere{<0,0,0>,1 translate<-1,1,0>
           bozo turbulence 0.56
           color_map {
             [0.0 color rgb <0.5, 0.5, 1.0>] //LightBlue
             [0.5 color rgb <0.5, 0.5, 1.0>] //LightBlue
             [0.6 color rgb <1.0, 1.0, 1.0>] //White
             [1.0 color rgb <0.5, 0.5, 0.5>] //Grey
                     } // end of color_map
               } // end of pigment
        finish { diffuse 0.9 phong 1}}}
  // end of finish, end of texture, end of sphere

sphere{<0,0,0>,1 translate<1,1,0>
           ripples scale 0.5 turbulence 1.5
           color_map {
                  [0.0 color NeonPink ]
                  [0.1 color NeonPink ]
                  [0.5 color Yellow   ]
                  [0.6 color White    ]
                  [1.0 color Gray50   ]
                 } // end of color_map
              } // end of pigment
          normal { wrinkles 0.75 scale 0.1}
          finish { diffuse 0.9 phong 1}}}  
Sample color_map 640x480

© Friedrich A. Lohmüller, 2010