//Glace Pilée pour "Blue Prawn" #include "colors.inc" //------------------------------------ #declare Use_media =1;//mettre à 0 pour allez plus vite mais nettement moins bo #declare Use_Photons=0;//pas sur que cela soit utile //------------------------------------ global_settings { ambient_light 1 #if(Use_Photons) photons{ spacing .1 gather 1,40 media 100,10 } #end } //------------------------------------ camera { location <-1.0, 12.0, -20.0> up z right x*image_width/image_height look_at <0.0, 1.0, 0.0> angle 18 } //------------------------------------ //La Lumière vient de droite et au fond light_source{<10,18,10> 1 photons{refraction on reflection on } fade_distance 16 fade_power 2 } //------------------------------------ //je me lasse pas de ces petites macros pigment à la Shiro Nakayama //voir tous plein de modèles ici //http://martial.rameaux.free.fr/trucs/shiro/ //l'auteur là http://www.cg-cg.com/povray/macro.htm #macro Pig0(P1,P2)checker pigment{P1} pigment{P2 scale .1} #end #macro Pig1(P1,P2) checker pigment{Pig0(P1,P2) scale .1 rotate y*45} pigment{ Pig0(P1,P2) scale .2 } #end #declare Pig= pigment{Pig1(White*.95,White)scale 2 rotate y*45} #declare F_Norm=function{pigment{Pig}} #declare Normal=normal{function {F_Norm(100,100,100).red}} //------------------------------------ //l'environnement // mur box {<-20,0,-20><20,20,20> hollow pigment{rgb 1 } finish{ambient .3 diffuse 1 }rotate y*45 } //plafond l'ambient au-dessus de 1 est important box {<-20,19,-20><20,19,20> hollow pigment{ rgb 1} finish{ambient 1.5 diffuse 0 }rotate y*45 } //sol box {<-20,0,-20><20,0.1,20> hollow pigment{Pig} normal{Normal} finish{ambient .3 diffuse .7 specular .5} rotate y*45 } //------------------------------------LE MATERIAL //le pigment avec filter (f) à 1 est complètement transparent //c'est absorption dans le media qui donnera la couleur et l'épaisseur de la texture! #declare M_Glace = material { texture { #if(Use_media) pigment {rgbft <1,1,1,.5,.2>} #else pigment{rgb <.8,.8,1>} #end normal {bumps .2 scale 1 turbulence .5} finish {phong .2 diffuse .5 reflection { .1 , 1 } conserve_energy } } #if(Use_media) interior { ior 1.309 media {emission 0.01 absorption 1-<.95,.97,1>*1.5} } #end } //------------------------------------Glaçons //des cubes qu'on fait tourner de 45° sur chaque axe #declare D=0.05; #declare Glacon=box{-D,D hollow} #local Glacon=merge{ object{Glacon} object{Glacon rotate x*45 } object{Glacon rotate z*45 } object{Glacon rotate y*45 } translate <1,0,0>*D*2 hollow } //------------------------------------ //boucles de Glacons //merge est obligatoire sinon on voit les cotés des cubes imbriqué #declare Rd=seed(125); #declare I=0; #declare Glace=merge{ #while (I < 10) //tant que I inférieur à 10 faire object{Glacon rotate y*I*36 scale rand(Rd)*.9 translate <1,0,0>*D*2 } #declare I=I+1; #end } //boucle de Glaçons pilés idem pour merge #declare I=0; #declare GlacePilee=merge{ #while (I < 10) object{Glace translate z*D*2 rotate y*I*36 } #declare I=I+1; #end material{M_Glace} photons{ target refraction on reflection on } } //------------------------------------ //un Bol generaré par SpilinEditor v1.2 //on le trouve là //http://www.flashnet.it/users/fn027571/spil/index.html #include "bol.inc" object{Bol pigment{rgb 1} finish{ambient .4 diffuse .6 phong 2} scale 3.0} //------------------------------------ //On affiche La GlacePilée défini au dessus object {GlacePilee scale 10 translate <-0,2,0.2>} //------------------------------------ // Fin de Fichier - EOF - End of File //------------------------------------