Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
Gestaltung von Oberflächen mit POV-Ray -
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

  Oberflächengestaltung
  - Farben und Texturen
    Inhalt

    texture Syntax
    Vorgefertigtes
    Farben Do-it-Yourself
    Muster
    - patterns -Arten
    Reguläre Muster
    - checker, hexagon
      square, triangular
    - brick
    - object pattern (1)
    - object pattern (2)
    - object pattern (3)
    - tiling
    - pavement
    Streifenmuster
    > color_map{...}
    Patterns mit pigment
    - pigment_pattern (1)
    - pigment_pattern (2)
    - image_pattern
    Muster Listen
    - Reguläre Muster
    - Random Muster
    - Fractal Muster
    - Besondere Muster
    Warps
    uv_mapping
    Mapping
    - Mapping-Methoden
    > color_map{ ... }
    - pigment_map{ ... }
    - texture_map{ ... }
    - normal_map{ ... }
    - average
    - material_map{ ... }
    - image_map{ ... }
    - image_map+gif 1
    - image_map+gif 2
    - image_map+gamma
    - bump_map{ ... }
    - transparency maps 1
    - transparency maps 2
    - transparency maps 3
    Überlagerungen

    Eigene Texturen
 
                                           
Sample color_map
  "color_map { ... }" - Farbsteifen-Muster

Unter eine   "color_map { ... }" versteht man eine Tabelle von Farbenwerten, welche Zahlen von 0.00 bis 1.00 zugeordnet werden. Derartige Farbtabellen können zur Einfärbung diverser Muster verwendet werden.
Am einfachsten ist dies mit dem Muster "gradient <0,1,0>" zu verstehen:
pigment{
gradient <0,1,0>
color_map {[0.0 color rgb<1,1,1>] // White
           [0.5 color rgb<1,0,0.2>] // red wine
           [1.0 color rgb<1,1,1>] // White
          } // end of color_map
} // end of pigment
Sample color_map

Nach der Höhe 1 wiederholt sich dieses Muster. Will man das Muster verkleinern oder vergrößern, so fügt man nach der color_map vor der End-Klammer von "pigment" einen Maßstab wie z.B. "scale 0.25" ein.
Ebenso kann man so ein Muster drehen ("rotate") oder verschieben ("translate")!

pigment{
gradient <0,1,0>
color_map {[0.0 color rgb<1,1,1>] // White
           [0.5 color rgb<1,0,0.2>] // red wine
           [1.0 color rgb<1,1,1>] // White
          } // end of color_map
 scale 0.25 
} // end of pigment
Sample color_map

Derartige Farbtabellen können zusammen mit diversen Muster eingesetzt werden. (vgl. Muster-Listen)

Sample color_map
gradient <0,1,0> turbulence 1.0

Sample color_map
bozo

Sample color_map
crackle


Farbübergänge - verlaufend (weich) oder scharf abgegrenzt (hart):
Will man harte Übergange erreichen, so müssen aneinanderstoßende Farben dort genannt werden:
gradient <0,1,0>
color_map {[0.0 color White]
           [0.5 color White]
           [0.5 color Red  ] // harter Übergang
           [1.0 color Red  ] } 
Sample color_map
Möglich ist auch eine Mischung aus harten und weichen Übergängen:
gradient <0,1,0>
color_map {[0.0 color White]
           [0.3 color White]  // harter Übergang
           [0.3 color Red  ]
           [1.0 color White] }// weicher Übergang >White am Anfang  
Sample color_map
gradient <0,1,0>
color_map {[0.0 color White]
           [0.5 color Red  ]  // weicher Übergang
           [1.0 color White] }// weicher Übergang >White am Anfang  
Sample color_map


Beispiel 1:

sphere{ <0,0,0>,1
        texture{
          pigment{ gradient <0,1,0> //
                   color_map{ [0.0 color Blue ]
                              [0.2 color Navy ]
                              [0.5 color White]
                              [0.8 color Navy ]
                              [1.0 color Blue ]
                            } // end of color_map
                   scale 2 translate<0,-1,0>
                 } //  end of pigment
          finish{ diffuse 0.9 phong 1.0 }
        } // end of texture
       scale <1.3,0.75,1.3> translate<0,1.2,-0.3>
      } // end of sphere

Für eine Himmelskugel (Halbkugel - Käseglocken-Prinzip!) mit dem Durchmesser 10000 und einen Farbverlauf von Weiß (am Horizont zu satt Blau (im Zenit) benötigt man eine Kugel mit obiger Farbgebung und dem Maßstab "scale 10000" -- Dabei sollte "finish { ambient 1 diffuse 0} " lauten, denn der Himmel ist immer blau ohne irgenwelche Schatten!

sphere{<0,0,0>, 1
       texture{
         pigment{
           gradient <0,1,0>
           color_map{[0.0 color White]
                     [1.0 color Red  ]
                    }
           } // end of pigment
         finish{ ambient 1 diffuse 0 }
         }// end of texture
 scale 10000
 }// end of sphere 

Beispiel für "color_map{...}":


sphere{ <0,0,0> , 1
        texture{
          pigment{ crackle
                   scale 1.5 turbulence 0.35
                   color_map{
                     [0.04 color Black]
                     [0.08 color Black]
                     [0.32 color rgb<1,0.65,0>]
                     [1.00 color rgb<1,1.0,0.5>]
                     } // end of color_map
                    scale 0.2
                 } // end of pigment
          normal { bumps 0.75 scale 0.02}
          finish { diffuse 0.9 phong 1}
          rotate<0,-30,0>
          translate<0.01, 0.04, 0.00>
        } // end of texture -----------------------
   scale<1,1,1>  rotate<0,0,0>
   translate<0.40,1, 0.25>
 } // end of sphere -------------------------------
top

© Friedrich A. Lohmüller, 2006
http://www.f-lohmueller.de