//========================================================== // SOME TEXTURES //========================================================== #declare tex1=texture {T_Grnt25 normal {crackle .8 scale .2} } #declare tex2=texture {T_Stone23 normal {crackle .8 scale .2} } #declare tex3=texture {T_Stone5 normal {crackle .8 scale .2} } #declare tex4=texture {T_Stone12 normal {crackle .8 scale .2} } //========================================================== // BIG NOSE CHARACTER //========================================================== #declare perso1= union { #declare decal = .3 #declare diam = .4 sphere {,diam pigment {rgb <1,1,.6>*1.5}} sphere {<-decal,6.8,.5>,diam pigment {rgb <1,1,.6>*1.5}} sphere {,.1 pigment {Black}} sphere {<-decal,6.8,.5+diam>,.1 pigment {Black}} difference { union { sphere {,diam+.2 } sphere {<-decal,6.8,.5>,diam+.2 } } plane {z,.5 inverse} texture {tex1} } #declare st=1 union { blob {threshold .6 sphere {<0,6,0>,2,st texture {tex1}} cylinder {<0,2,0>,<0,4,-.5>,.5,st texture {tex2}} cylinder {<0,4,-.5>,<0,6,0>,.5,st texture {tex3}} cylinder {<0,6,0>,<0,6,2>,.7,st texture {tex2}} sphere {<0,5.5,2.5>,1,st texture {tex4}} } blob {threshold .6 sphere {<0,0,0>,1,st scale <1,1,.6> rotate x*-45 texture {tex3}} cylinder {<0,0,0>,<0,1,2.5>,.5,st texture {tex2}} sphere {<0,0,2.5>,1,st+1 texture {tex3}} sphere {<0,.8,2.5>,.7,st texture {tex3}} translate y*2 rotate y*30} blob {threshold .6 sphere {<0,0,0>,1,st scale <1,1,.6> rotate x*-45 texture {tex3}} cylinder {<0,0,0>,<0,1,2.5>,.5,st texture {tex2}} sphere {<0,0,2.5>,1,st+1 texture {tex3}} sphere {<0,.8,2.5>,.7,st texture {tex3}} translate y*2 rotate y*-30} finish {phong .6 phong_size 25} normal {crackle .5 scale .2} } } //========================================================== // BIG EARS (PINK) CHARACTER //========================================================== #declare oreille= julia_fractal {<-0.03,0.5,-0.2,-0.5> quaternion sqr max_iteration 7 precision 15 slice <0,1,0,1>,.5 scale <.9,3,3>} #declare perso2= union { union { sphere {<0,0,0>,3} object {oreille translate <0,2,3>} object {oreille translate <0,2,-3>} texture {pigment {leopard turbulence <1,0,0> color_map {[0 color Red+White][.7 color White+Red] [.75 color White+Yellow][.8 color White+Blue]} } normal {leopard turbulence <1,0,0>} scale .3} } //this is in fact a spiral of spheres, before the macro times #declare raydepart=1; #declare rayfin=1.5; #declare tailldepart=.1; #declare taillfin=.6; #declare hauteur=10; #declare nbsphere=80; #declare angletot=1360; #declare pig1=<.5,1,.1>; #declare pig2=<1,.1,.6>; union { #declare boucle = 0; #while (boucle < nbsphere) #declare rayactu = ((boucle/nbsphere)*(rayfin-raydepart))+raydepart; #declare taillactu = ((boucle/nbsphere)*(taillfin-tailldepart))+tailldepart; #declare hautactu =(boucle/nbsphere)*hauteur; #declare anglactu =(boucle/nbsphere)*angletot; sphere {<0,0,0>,taillactu translate rotate y*anglactu pigment {color rgb ( (pig1*(boucle/nbsphere)) + (pig2*(1-(boucle/nbsphere))) )} finish {phong_size 25 phong .8}} #declare boucle=boucle+1; #end translate y*-10} } //========================================================== // PLANT 1 //========================================================== #declare VertClair=color rgb <.9,1.3,.8>; #declare melange = pigment {radial color_map { [0 DarkGreen*2][.1 DarkGreen*2][.11 VertClair ] [.2 VertClair ][.21 DarkGreen*2][.3 DarkGreen*2] [.31 VertClair ][.4 VertClair ][.41 DarkGreen*2] [.5 DarkGreen*2][.51 VertClair ][.6 VertClair ] [.61 DarkGreen*2][.7 DarkGreen*2][.71 VertClair ] [.8 VertClair ][.81 DarkGreen*2][.9 DarkGreen*2] [.91 VertClair ][.99 VertClair ] } turbulence .1} #declare r1=seed(0); #declare r2=seed(40); #declare boucle = 1; #declare bogue = union { sphere {<0,0,0>,3 pigment {melange} finish {phong .7 phong_size 20} normal {bumps .4 scale .1}} #while (boucle < 50) #declare dist=rand(r1)/3+.1 sphere {<0,0,3+dist>,dist pigment {DarkGreen*2.5} rotate } #declare boucle=boucle+1; #end } #declare plante1=union { difference { object {bogue scale <.7,.8,.7>} sphere {<0,0,0>,2 scale <.5,1,.5> translate y*3} translate y*3 } #declare raydepart=.3; #declare rayfin=.3; #declare tailldepart=.3; #declare taillfin=0; #declare hauteur=6; #declare nbsphere=70; #declare angletot=4*360; #declare pig1=<1,0,.3>; #declare pig2=<2,1,1>; union { #declare boucle = 0; #while (boucle < nbsphere) #declare rayactu = ((boucle/nbsphere)*(rayfin-raydepart))+raydepart; #declare taillactu = ((boucle/nbsphere)*(taillfin-tailldepart))+tailldepart; #declare hautactu =(boucle/nbsphere)*hauteur; #declare anglactu =(boucle/nbsphere)*angletot; sphere {<0,0,0>,taillactu translate rotate y*anglactu pigment {color rgb ( (pig1*(boucle/nbsphere)) + (pig2*(1-(boucle/nbsphere))) )} finish {phong_size 25 phong .8} } #declare boucle=boucle+1; #end translate y*3}} #declare GrpPlante1 = union { object {plante1} object {plante1 rotate x*20+ translate z*3+z*rand(r1) rotate y*0} object {plante1 rotate x*20+ translate z*3+z*rand(r1) rotate y*60} object {plante1 rotate x*20+ translate z*3+z*rand(r1) rotate y*120} object {plante1 rotate x*20+ translate z*3+z*rand(r1) rotate y*180} object {plante1 rotate x*20+ translate z*3+z*rand(r1) rotate y*240} object {plante1 rotate x*20+ translate z*3+z*rand(r1) rotate y*300} } //========================================================== // MUSHROOMS //========================================================== #declare coeff=1.5; #declare Coul1 = color rgb <1,213/255,85/255>*coeff; #declare Coul2 = color rgb <1,1,212/255>*coeff; #declare Coul3 = color rgb <213/255,128/255,0>*coeff; #declare Coul4 = color rgb <1,44/255,128/255>*coeff; #declare Coul5 = color rgb <128/255,170/255,213/255>*coeff; #declare Coul6 = color rgb <1,213/255,1>*coeff; #declare Coul7 = color rgb <213/255,213/255,1>*coeff; #declare MushTex1 = texture {pigment {leopard turbulence <1,0,0> color_map { [0 color Coul1][.2 color Coul1][.3 color Coul2][.7 color Coul3] [.8 color Coul4]}} normal {leopard turbulence <1,0,0>} scale .3} #declare MushTex2 = texture {pigment {bozo turbulence <1,0,0> color_map { [0 color Coul5][.2 color Coul7][.3 color Coul5][.7 color Coul7] [.8 color Coul6]}} normal {bozo turbulence <1,0,0>} scale 10} #declare MushTex3 = texture {pigment {wood turbulence <1,0,0> color_map { [0 color Coul1][.2 color Coul7] [.3 color Coul5][.7 color Coul2][.8 color Coul2]}} normal {wood turbulence <1,0,0>} scale 1} #declare MushTex4 = texture {gradient y texture_map { [0 MushTex1][1 MushTex2]}} #declare MushTex5 = texture {gradient y texture_map {[0 MushTex1][1 MushTex3]}} #declare champi2 = lathe { quadratic_spline 9, <0,0>,<10,0>,<2,45>,<29,43>,<48,37>,<48,40>,<29,50>, <12,55>,<0,55> scale <.1,.2,.1>}