home *** CD-ROM | disk | FTP | other *** search
/ Freelog 14 / Freelog014.iso / SeriePov / Igloo_Tex.pov < prev    next >
Text File  |  2000-09-03  |  10KB  |  302 lines

  1. // Persistence of Vision Ray Tracer Scene Description File
  2. // File: .pov
  3. // Vers: 3.1
  4. // Desc: Tutoriel sur l'Igloo-4
  5. // Date: 01/08/00
  6. // Auth: Alonso Eusebio Pablo pour Freelog #13 DPpresse
  7. // DΘsolΘ:  merci α LOHIRIAN pour le correctif sur les opΘration AND, OR, XOR,
  8. //          j'ai horreur d'Θcrire des bΩtises.
  9. //-----------------------------------------DECLARATIONS--------------------------------------------
  10.  
  11. #version 3.1  // Permet d'utiliser les instructions propre α Pov v 3.1 
  12.  
  13. global_settings { assumed_gamma 1.0 }  // definition du Gamma
  14.  
  15. //-------------------------------Inclusions Standard de POV-Ray------------------------------------
  16.  
  17. #include "colors.inc"    // Declaration des couleurs standard
  18. #include "textures.inc"    // Declaration des textures standard
  19.  
  20. //---------------------------------DEFINITION DE LA CAMERA-----------------------------------------
  21.  
  22. camera
  23. {  // debut de la camera
  24.   location  <2.5, 1.0, -2.0> // position de la camera <X Y Z>
  25.   look_at   <0.0, 0.0,  0.0> // point de mire <X Y Z>
  26. }  // fin de la camera
  27.  
  28. //----------------------------------FOND DE CIEL---------------------------------------------------
  29.  
  30. sky_sphere // sphere infinie
  31. {  // debut du ciel
  32.   pigment  // pigment de la sphere
  33.    {
  34.     granite // texture "Granite"
  35.     turbulence 0.1   // turbulence de la texture
  36.     color_map {     // table des couleurs α utiliser
  37.     [0.3 rgb <0.2, 0.3, 1>]  // taux de variation de la couleur suivi d'une couleur bleue
  38.     [1.0 rgb 1]    //   taux de variation de la couleur suivi d'une couleur blanche
  39.     }
  40.   scale .75  // mise α l'Θchelle de la texture
  41.    }
  42. }  // fin du ciel
  43.  
  44. //------------------------------ZONE LUMINEUSE STANDARD--------------------------------------------
  45.  
  46. light_source
  47. {  // debut de la source lumineuse
  48.   0*x // position initiale de la lumiere
  49.   color rgb 1.0  // couleur de la lumiere
  50.   area_light
  51.   <8, 0, 0> <0, 0, 8> // zone couverte par la lumiere (x * z)
  52.   4, 4                // nombre total de lumiers dans la zone (4x*4z = 16)
  53.   adaptive 0          // 0,1,2,3... 
  54.   jitter              // ajoute un effet tamise aleatoire
  55.   translate <40, 80, -40>   // <x y z> translation de la zone de lumiΦre depuis son point d'origine
  56. }  // fin de la source lumineuse
  57.  
  58. //--------------------------------------BANQUISE---------------------------------------------------
  59.  
  60. // DΘclaration des couleurs utilisΘes par la texture
  61. #declare Monbleue = color red 0.196078 green 0.6 blue 0.8;
  62. #declare Monblanc = rgb 1;
  63. #declare Mongris = White*0.70;
  64.  
  65. // DΘclaration de la texture "Givre"
  66. #declare Givre = pigment {
  67.   wrinkles  // utilisation de la texture "Wrinkles"
  68.   turbulence 0.1  // turbulence de la texture
  69.   lambda 2.2     // taux de lambda
  70.   omega 0.707     // taux d'omega
  71.   color_map {          // dΘclaration de la table des couleurs
  72.     [0.20 Monbleue * 0.85 ]  // taux de variation de la couleur suivi de la couleur
  73.     [0.50 Monblanc ]    // taux de variation de la couleur suivi de la couleur
  74.     [1.00 Mongris ]    // taux de variation de la couleur suivi de la couleur
  75.   }
  76.   scale <0.5, 0.15, 1>   // mise α l'Θchelle de la texture
  77. }
  78.  
  79. plane   // Definition d'un plan infini
  80. {
  81.   y, // <X Y Z> normale de la surface,ici le vecteur Y
  82.   0.0 // distance entre l'origine et la surface normale
  83.   hollow on // autorise un pigment
  84.   pigment  // texture simulant la neige boueuse
  85.   {
  86.   Givre   // utilisation de la texture givre
  87.   }
  88. }
  89.  
  90. //----------------------------L'OBJET "IGLOO"------------------------------------------------------     
  91.  
  92. //------- Objet BolΘen "Brut" qui sera usinΘ
  93.  
  94. #declare Brut = union {  // OpΘration OR (merci α LOHIRIAN pour le correctif)
  95.          
  96.          sphere // insertion d'une sphere 
  97.                 {
  98.                   <0, 0, 0> // centre <X Y Z>
  99.                   1.1       // rayon
  100.                 }
  101.  
  102.         cylinder  // insertion d'un cylindre
  103.                 {
  104.                   0*x,  1.0*x,  0.8 // depart, arrivee, rayon
  105.                 }
  106.  
  107.         cylinder // insertion d'un deuxieme cylindre
  108.                 {
  109.                   1.0*x,  1.3*x,  0.9 // depart, arrivee, rayon
  110.                 }
  111.                 
  112.                   
  113.   } // fin de l'object Brut
  114.   
  115. //------- Objet BolΘen "Outil" qui servira d'outil
  116.  
  117. #declare Outil = union { 
  118.         
  119.         box // Insertion d'un parallΘlΘpipΦde
  120.         {
  121.           <-1.4, -1.4, -1.4>  // premier sommet <X1 Y1 Z1>
  122.           < 1.4,  0,  1.4>  // sommet opposΘ <X2 Y2 Z2>
  123.         }
  124.         
  125.         sphere // insertion d'une sphΦre 
  126.                 {
  127.                   <0, 0, 0> // centre <X Y Z>
  128.                   1       // rayon
  129.                 }
  130.  
  131.         cylinder  // insertion d'un cylindre
  132.                 {
  133.                   0*x,  1.4*x,  0.7 // dΘpart, arrivΘe, rayon
  134.                 }
  135.   
  136.   } // Fin de l'objet "Outil"
  137.  
  138. //------- OpΘration "Brut" NOT "Outil" = "Igloo"
  139.   
  140. #declare Igloo = difference
  141. {
  142.         object { Brut}
  143.         object { Outil}
  144. }
  145.          
  146.  
  147. //--------------------INSERTION DE L'OBJET "IGLOO" DANS LA SCENE---------------------------------
  148.  
  149. object { Igloo //insertion de l'objet portant le label:"Igloo"
  150.  
  151. pigment   // texture de l'Igloo
  152.   {
  153.     brick      color Gray, color White  // briques blanches avec joints gris
  154.     brick_size <0.3,0.3,0.3>   // taille des blocs
  155.     mortar     0.03       // epaisseur des joints
  156.     
  157.   }
  158. // insertion d'une BumpMap sur l'igloo
  159.  normal { // dΘclare l'utilisation d'une BumpMap
  160.  
  161.         bump_map
  162.         { 
  163.         tga "Igloo.tga" // type et image α utiliser (iff/gif/tga/png/sys)
  164.         map_type 0 //  type de projection 0=plane, 1=sphΘrique, 2=cylindrique, 5=torre
  165.         interpolate 4 // type d'interpolation 0=sans, 1=lineaire, 2=bilineaire, 4=normale
  166.         bump_size 2 // taille de l'ΘlΘvation de 0...3 
  167.   
  168.         } 
  169.  rotate <0, -45, 0>  // rotation α -45░ selon l'axe y du plan de projection
  170.  }
  171.  
  172.  
  173. }  // fin de l'insertion de l'Igloo
  174.  
  175. //------------------CREATION DU SAPIN--------------------------------------------------------------
  176.  
  177. // DΘclaration de la texture "Tronc"
  178. #declare Tronc = pigment {
  179.   wood    // utilisation de la texture "Wood"
  180.   turbulence 0.02   // turbulence
  181.   scale 0.01       // mise α l'Θchelle
  182.   translate <10, 0, 0>   // translation de la texture
  183. }
  184.  
  185. // DΘclaration de la texture "Feuillage"
  186. #declare Feuillage = pigment {
  187.   granite   // utilisation de la texture "Granite"
  188.   turbulence 0.1
  189.   color_map {
  190.     [0.3 rgb <0, .3, 0>]
  191.     [0.3 rgb 1]
  192.     [1.0 rgb 2]
  193.   }
  194.   scale .075
  195. }
  196.  
  197. //
  198. #declare sapin = union { //dΘclartion d'une opΘration "OR" dont le rΘsultat se nome "sapin"
  199.  
  200. cylinder  // tronc
  201.         {
  202.          0*y,  0.5*y,  .05
  203.         pigment {
  204.                 Tronc // utilisation de la texture "Tronc"
  205.                 }
  206.         }
  207.  
  208. cone   // c⌠ne de base
  209.         {
  210.           0.7*y,  0.0,  // Disque au sommet et rayon
  211.           0.5*y, .25    // Disque a la base et rayon
  212.         pigment {
  213.                 Feuillage  // utilisation de la texture "Feuillage"
  214.                 }
  215.         }
  216.  
  217. cone    // c⌠ne du milieu
  218.         {
  219.           .95*y,  0.0,
  220.           0.65*y, .20
  221.         pigment {
  222.                 Feuillage  // utilisation de la texture "Feuillage"
  223.                 }
  224.         }
  225.  
  226. cone  //  c⌠ne du sommet
  227.         {
  228.         1.1*y,  0.0,
  229.         0.9*y, .08
  230.   
  231.         pigment {
  232.                 Feuillage  // utilisation de la texture "Feuillage"
  233.                 }
  234.         }
  235.  
  236. } // Fin de la definition du sapin
  237.  
  238. //--------------------------INSERTION DU SAPIN DANS LA SCENE---------------------------------------
  239. object { sapin 
  240.  
  241. translate <1., .0, -1.6>  // <dX dY dZ>  translation du sapin
  242.  
  243. } // fin de l'insertion du sapin
  244.  
  245. //-------------------------PANCARTE----------------------------------------------------------------
  246. #declare pancarte = union
  247. {
  248.   
  249.  
  250. box // boite constituant la pancarte
  251. {
  252.   <-0.25, .30, -0.03>  // coin1 <X1 Y1 Z1>
  253.   < 0.25,  .85,  0.0>  // coin2 <X2 Y2 Z2>
  254.  pigment {
  255.  
  256. //**********ATTENTION!!!!! J'ai utilisΘ pour la pancarte une image en 340x250
  257. //          les rΘglages qui suivent sont en consΘquence.
  258. //          si vous changez les dimension il faudra modifier le scrip.
  259.  
  260.         image_map // image maps dans le plan X-Y 
  261.         {
  262.         tga "EAT.tga" // type et fichier image (iff/gif/tga/png/sys)
  263.         map_type 0 // projection plane
  264.         interpolate 4 // interpolation normale
  265.   
  266.         once  // ne pas rΘpΘter n'utiliser la texture qu'une seule fois,
  267.         // important ce qui est hors de la texturte est invisible
  268.         } // fin de l'image_map
  269.  
  270.  translate <-.5, .85, 0.> // translation de l'image sur le support
  271.  scale .4   // mise α l'Θchelle de la texture
  272.  } // fin du pigment
  273. } // fin de la boite
  274.  
  275. cylinder  // pied 1
  276.         {
  277.          0*y,  0.5*y,  .02
  278.         pigment {
  279.                 Tronc // utilisation de la texture "Tronc"
  280.                 }
  281.         translate <-.1, .0, 0.>
  282.         }
  283. cylinder  // pied 2
  284.         {
  285.          0*y,  0.5*y,  .02
  286.         pigment {
  287.                 Tronc  // utilisation de la texture "Tronc"
  288.                 }
  289.         translate <.1, .0, .0>
  290.         }        
  291. }
  292.  
  293. //--------------------------INSERTION DE LA PANCARTE DANS LA SCENE---------------------------------
  294. object { pancarte
  295.        rotate <0, -35, 0> // rotation de la pancarte pour la positionner face α la camΘra, de biais
  296.        translate <1.4, .0, -1.2>  // translation de la pancarte vers sa position dΘfinitive
  297. } // fin de l'insertion de la pancarte
  298.  
  299. //---------------------------Ouf! c'est tout pour ce mois-ci--------------------------------------- 
  300.  
  301.  
  302.