Povray/Tutorials/RealisticWater

De TartareFR
Aller à la navigation Aller à la recherche

Une surface de l'eau simple, opaque, plat et réfléchissant

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 ! ).

// sea ------------------------------
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"
// sea ------------------------------
plane{<0,1,0>, 0
      texture{ Polished_Chrome }
     }// end of plane
//-----------------------------------

L'eau peu agitée avec reflections des nuages

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
       }
//-----------------------------------

La mer agitée, la surface de l'eau plus agitée

Avec bumps: POV

Nous obtenons cela par ajouter à la texture la commande suivante :

normal{ bumps 0.3
        scale 0.05
        turbulence 0.6
      }
//-----------------------------------
Avec crackle: POV

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>
      }
//-----------------------------------

Une surface de l'eau ridée par le vent

Avec bozo: POV

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>
       }
//-------------------------------------
Avec crackle: POV

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>
     }
//-------------------------------------

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

Si l'eau paraît partiellement transparent et réfléchissent, nous pouvons simuler cela par utiliser la texture 'Glass3' (l'eau clair) ou 'Green_Glass' (l'eau vert par des plantes aquatiques !). Dans ces cas le sous-sol doit être définé bien - le sous-sol a une grande influence à l'apparence de la surface de l'eau!

// ground -----------------------------
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

// sea water --------------------------
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
//-------------------------------------

Ondes concentriques autour d'un poteau

// sea water --------------------------
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
//-------------------------------------

Un trou dans l'eau - un tourbillon

Cela on peu faire 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é j'ai découpé un quart du plan.

  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. La construction est fini! PovrayTutoWaterHole04.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
}