Povray/Tutorials/RealisticWater

De TartareFR
Aller à la navigation Aller à la recherche
IconUser48.png
Auteur initial Friedrich A. Lohmüller
Source: http://www.f-lohmueller.de/


Une surface de l'eau simple, opaque, plate et réfléchissante[modifier | modifier le wikicode]

Le plus souvent la surface de l'eau paraît comme un miroir opaque. Pour simuler cette surface il suffit d'ajouter une texture comme 'Polished_Chrome'. L'eau même est transparente, légèrement grisée très clair (L'eau claire n'a pas de couleur !!!).

La couleur d'une surface de l'eau est surtout défini par les objets que se réfléchissent dans la surface. ( Bleu est la couleur de la mer seulement les jours ensoleillés avec un ciel bleu ! L'eau a l'air différente avec des ciels différents ! ).

plane{<0,1,0>, 0
      texture{pigment{rgb <.2,.2,.2>}
              finish {ambient 0.15
                      diffuse 0.55
                      brilliance 6.0
                      phong 0.8
                      phong_size 120
                      reflection 0.6}
              }// end of texture
     }// end of plane

Si nous avons inséré les définitions des textures, nous pouvons écrire cela plus court :

#include "textures.inc"
plane{<0,1,0>, 0
      texture{ Polished_Chrome }
     }// end of plane
Surface simple, opaque, plate et réfléchissante
Fichier POVRay correspondant


L'eau peu agitée avec reflections des nuages[modifier | modifier le wikicode]

Des ondes modérées font une surface de l'eau plus réaliste. Nous ajoutons à la texture la commande suivante :
normal{ bumps 0.03
         scale <1,0.25,0.25>*1
         turbulence 0.6
       }
Surface peu agitée avec réflexion
Fichier POVRay correspondant


La mer agitée, la surface de l'eau plus agitée[modifier | modifier le wikicode]

Nous obtenons cela par ajouter à la texture la commande suivante :
normal{ bumps 0.3
        scale 0.05
        turbulence 0.6
      }
Surface agitée avec bumps
Fichier POVRay correspondant
Aussi un effet très realiste on peut voir par ex. comme cela :
normal{ crackle 0.15
        scale 0.75
        turbulence 0.3
        translate<-1,0,5>
      }
Surface agitée avec crackle
Fichier POVRay correspondant


Une surface de l'eau ridée par le vent[modifier | modifier le wikicode]

Nous obtenons cela avec le motif 'crackle' ou 'bozo' et par ajouter des échelles différentes en direction x et y et aussi une rotation dans la direction transversale au vent :
normal{ bozo 1.75
         scale <2.0,1,0.3>*0.20
         rotate<0,10,0>
         turbulence 0.9
         translate<0,0,-2>
       }
Surface de l'eau ridée avec bozo
Fichier POVRay correspondant


L'effet ressemblent avec 'crackle':
normal{ pigment_pattern{
             crackle
             colour_map { [0, rgb 0]
                          [1, rgb 1] }
             turbulence 1.7
             translate <0,0,1>}
             0.5}
       scale <2.0,1,0.3>*2
       rotate<0,10,0>
     }
Surface de l'eau ridée avec crackle
Fichier POVRay correspondant


Remarque : Tout cela sont seulement des simulations des surfaces ondulées! Géométriquement, ils sont toujours parfaitement plat. Pour obtenir des des surfaces tridimensionnelles ondulées, il faut beaucoup plus ! Voir ici et ici !

Une surface de l'eau partiellement transparente et réfléchissante[modifier | modifier le wikicode]

Si l'eau paraît partiellement transparente et réfléchissante, nous pouvons simuler en utilisant la texture 'Glass3' (l'eau clair) ou 'Green_Glass' (l'eau verdie par des plantes aquatiques !). Dans ce cas le fond sous-marin doit être bien défini. Le fond a une grande influence sur l'apparence de la surface de l'eau!
plane{<0,1,0>, 0  translate<0,-3,0>
       texture{pigment{color LightWood}
               normal {bumps 0.25
                       scale 0.05}
               finish {ambient 0.45
                       diffuse 0.55}
               }// end of texture
       }// end of plane 1

plane{<0,1,0>, 0
      texture{ Green_Glass
              normal{ripples 0.3
                     scale 0.25
                     turbulence 0.75
                     translate< 1,0,2>}
              finish{ambient 0.45
                     diffuse 0.55
                     reflection 0.3}
             }// end of texture
     interior{I_Glass}
     }// end of plane 2
Surface de l'eau partiellement transparente et réfléchissante
Fichier POVRay correspondant


Ondes concentriques autour d'un poteau[modifier | modifier le wikicode]

plane{<0,1,0>, 0
      texture{ Green_Glass
              normal{ripples 0.3
                     scale 0.25
                     turbulence 0.5
                     translate< 1,0,2>}
              finish{ambient 0.45
                     diffuse 0.55
                     reflection 0.3}
             }// end of texture
     interior{I_Glass}
     }// end of plane 2
Ondes concentriques
Fichier POVRay correspondant

Un trou dans l'eau - un tourbillon[modifier | modifier le wikicode]

Cela peut être fait avec quelques fonctions simples de CSG. À la fin nous devons appliquer une texture avec un composant 'normal' approprié sur le plan pour simuler le tourbillon de l'eau. Pour plus de clarté un quart du plan a été retiré.

  1. Nous prenons un plan xz ( plane{<0,1,0>,0} ) et un cylindre un peu plus haut. pour éviter des surfaces coïncidentes dans une 'difference'.
    PovrayTutoWaterHole01.jpg
  2. Nous soustrayons ce cylindre du notre plan. Nous obtenons un trou avec un arête vive.
    PovrayTutoWaterHole02.jpg
  3. Pour arrondir cet arête vive nous prenons un autre cylindere avec le rayon agrandi du rayon du bords ronds.
    PovrayTutoWaterHole03.jpg
  4. Encore une fois nous soustrayons ce deuxième cylindre !
    PovrayTutoWaterHole04.jpg
  5. Puis nous ajoutons un tore (un anneau) avec le rayon majeur = rayon de notre deuxième cylindre et le rayon mineur = rayon du bords ronds.
    PovrayTutoWaterHole05.jpg
  6. La construction est fini!
    PovrayTutoWaterHole06.jpg

À la fin nous ajoutons à la texture de l'eau, une normale come cela :

normal {spiral1  20  0.25 
        sine_wave
        turbulence 0.1
        rotate<90,0,0>
        scale 0.5
}