Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmüller
Conception de Surface en »texture« avec POV-Ray -
English English English
Italiano Italiano
Deutsch Deutsch

Page d'Accueil
- POV-Ray Tutoriel

  Conception de Surface
  - Coleurs et Textures
    Index

   Syntaxe de texture
   > Exemple de base
    - pigment{ ... }
    - normal{ ... }
      - pigment_pattern
      - Exemples normal
    - finish{ ... }
    Textures prêtes-à-l'emploi
    - Rules
    - colors.inc
    - textures.inc
    Couleurs en do-it-yourself
    - color rgb< , , >
    - Transparence
    Motifs - Patterns
    Listes de Motifs
    Warps
    uv_mapping
    Mapping
    Superpositions

    Votre textures
 
                                           

Syntaxe de »texture«

Texture = Qualité de la Surface
(Par ex. : couleur, transparence, rugosité, luminosité, réflexion, transparence)

Ici un example pour les règles syntaxiques des objets géométriques:

sphere{<0,0,0>, 1 translate<0,1,0>
      texture{ pigment{color Orange}
               normal {bumps 0.5 scale 0.05}
               finish {diffuse 0.9 phong 1.0}
             } // end of texture
      } // end of sphere


La description complète de la texture est composée de trois composants:
  1. qualité de la couleur (obligatoire!):, including transparence (option!)
        pigment{ ... }    // la qualité de la coleur doit être definée!
  2. structure de la surface (rugosité).
        normal  { ... }    // option!
  3. luminosité et la qualité de la réflexions:
        finish    { ... }    // minimum: "finish{ambient 0.1 diffuse 0.9}"
          (il est indiqué! Voyez aussi mes remarques à »finish« )

Il est indiqué de respecter conséquent de mieux cette forme clair. Quelque fois aussi descriptions plus inconséquent et avec des erreurs logiques peuvent fonctionner - quelque fois ça fait causer seulement un avertissement, un message d'erreur sans conséquences.
Quand même, il faut éliminer ces erreurs intensivement, car ils sont souvent l'origine de malentendus plus grands et ils grandissent souvent à un problème de manière »fatal error«. Au surplus n'est pas sûr que les versions à l'avenir ont la même tolérance - un erreur petit d'aujourd'hui peut devenir un erreur fatal à l'avenir!


Couleurs, pigments et textures on peut faire »à la main« comme c'est indiqué suivant, mais on peut aussi utiliser des programmes spéciaux pour POV-Ray. Ces »texture editors« ont besoin d'une connaissance de cause très profonde !

Pour faire passer des tests à textures est très utile appliquer une scène simple (un ciel monochrome et un sol simple, camera, light_source (color White ou color rgb<1,1,1>) à une distance grand, comme quand il fait soleil). L'objet d'expérience: une sphère simple, un cylindre, un parallélépipède rectangle (»box«) - pour comparer les effets sur surfaces de caractères différents. C'est très important par ex. avec rehauts de type »phong«!

Un jour ou l'autre nous avons fait notre collection de textures et couleurs spéciales. Puis nous voulons utiliser ces textures dans autres scènes. On peut faire cela par copier les définitions (Par ex. : #declare Mon_Rouge = color <1, 0, 0.25> ) dans un fichier include personnel (Par ex. : avec le nome »mes_couleurs.inc «). Puis il faut intégrer ces définitions au début de notre descriptions de scènes par » #include "mes_couleurs.inc" « . Il faut placer ce fichier include personnel dans le chemin »C:\programmes\POV-Ray for Windows v3.6\include\« ou dans le chemin du fichier .pov de la description de scène actuelle. Dans ces chemins POV-Ray cherche les fichiers par les valeurs préréglés (default values). Mais attention, s'il vous plaît! : Ne changez pas un ficher include original telle que »colors.inc«, car autrement il peut être que quelques scènes originaux ne marchent plus!


Important: "scale", "rotate" et "translate" ont un effet seulement sur les objets dans les accolades actuelles. Par conséquent est possible utiliser "scale", "rotate" ou "translate" avec motifs en couleurs dans "pigment{ ...}", aussi avec la simulation d'une d#eformation de la surface par "normal{...}" indépendant et séparé de la géométrie de l'objet.

Exemple :

sphere{<0,0,0>,1
       scale <1.2,1,1>
       translate<0,1,0>//Ce fait effet sulement sur la géométrie de la sphère!
       texture{
         pigment{Candy_cane
                 scale 0.25 }// Ce fait effet sulement sur "pigment"!
         normal {wrinkles 0.75
                 scale 0.1} // Ce fait effet sulement sur "normal"!
         finish {ambient 0.15
                 diffuse 0.85
                 phong 0.3}
         rotate<0,0,45>
                 // Ce fait effet sur la texture entière ,
                 // mais pas sur la géométrie de la sphère!
              } // fin de "texture"
       scale 0.5 // fait effet sur la sphère avec la texture!
                 //Attention: fait effet aussi sur
                 // la translation avec "translate"!
                 // Centre de la sphère est ici: <0,0.5,0>!
       } // fin de "sphere"
top

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