// maison 666 ||| macros terrains et exterieurs #macro ciel() sky_sphere { pigment { image_map {png "ciel.png" } scale 5 } } #end #macro terrain(base,sommet) object{ prism {base, sommet, 8 , <-12,4.2> <-3,2.4> <0,0.61> <0,0> <5,0> <5,6> <-12,6> <-12,4.2> } texture { pigment { image_map {png "pelouse.png" } rotate <0,0,0> translate<0,0,0> scale 2 //bump_size 1/32 } finish { ambient 0.3 diffuse 0.7 specular 0.0 } } rotate <90,0,0> translate<3,-0.30,0> } #end #macro terrassement() object{ box{<-1.1,-3,-3>,<3,-0.3,3> pigment { color rgb <1,1,1,0.5> }} } #end #macro terrain_terrassement() difference { terrain(-7,7) terrassement() } #end #macro petit_murs() object { box { <2.70,-1.20,3.00>, < 3.00,- 0.05, 7.00> } texture { pigment { image_map {gif "basic044.gif"} rotate<0,90,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<0,90,0>} } object { box { <2.70,-0.05,3.00>, < 3.00,- 0.1, 7.00> } texture { pigment { image_map {gif "basic044.gif"} rotate<90,0,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<90,0,0>} } object { box { <2.70,-1.20,7.00>, < 3.00,- 0.05, 7.01> } texture { pigment { image_map {gif "basic044.gif"} rotate<0,0,90>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<0,00,90>} } object { box { <2.70,-1.20,-3.00>, < 3.00,- 0.05, -7.00> } texture { pigment { image_map {gif "basic044.gif"} rotate<0,90,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<0,90,0>} } object { box { <2.70,-1.20,-7.00>, < 3.00,- 0.05, -7.05> } texture { pigment { image_map {gif "basic044.gif"} rotate<0,0,90>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<0,0,90>} } object { box { <2.70,-0.05,-3.00>, < 3.00,- 0.1, -7.00> } texture { pigment { image_map {gif "basic044.gif"} rotate<90,0,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<90,0,0>} } object { box { <-6.10,-4.00,-3.60>, < -6.40, -1.8, 3.60> } texture { pigment { image_map {gif "basic044.gif"} rotate<0,90,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<0,90,0>} } object { box { <-6.10,-1.81,-3.60>, < -6.40, -1.79, 3.60> } texture { pigment { image_map {gif "basic044.gif"} rotate<90,-0,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<90,-0,0>} } object { box { <-6.10,-4.00,-3.60>, < -6.40,-1.8,-3.61> } texture { pigment { image_map {gif "basic044.gif"} rotate<180,-0,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<180,-0,0>} } object { box { <-6.10,-4.00,3.60>, < -6.40,-1.8,3.61> } texture { pigment { image_map {gif "basic044.gif"} rotate<180,-0,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "basic_black044.gif" } bump_size 2 rotate<180,-0,0>} } #end #macro planken( largeur, hauteur, longueur ) object { box { <0.00,0.00,0.00>, } texture { pigment { image_map {gif "wood02.gif"} rotate<90,-0,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "wood02_black.gif" } bump_size 2 rotate<90,-0,0>} } #end #macro poutre1( largeur, hauteur, longueur ) object { box { <0.00,0.00,0.00>, } texture { pigment { image_map {gif "wood02.gif"} rotate<180,0,0>} finish { ambient 0.2 diffuse 0.7 specular 0.6 roughness 0.01 } } normal {bump_map {gif "wood02_black.gif" } bump_size 2 rotate<180,0,0>} } #end #macro terrasse() union { #local i=0; #while (i<20) #local uu = -6.1 + 0.17*i; object { planken( 0.15,0.03,5.60 ) translate < uu,-2.1,-2.80> rotate <0,0,0> } #local i=i+1; #end } union { #local i=0; #while (i<13) #local uu = -2.725 + 0.45*i; object { poutre1(0.05,-0.1, 3.40 ) translate < uu,-2.1,-6.1> rotate <0,90,0> } #local i=i+1; #end } union { #local i=0; #while (i<30) #local uu = 3 + 0.17*i; object { planken( 0.15,0.03,0.90 ) translate < uu,-0.2,-0.70> rotate <0,0,0> } #local i=i+1; #end } union { #local i=0; #while (i<2) #local uu = -0.025 + 0.45*i; object { poutre1(0.05,-0.1, 5.00 ) translate < uu,-0.2,3.0> rotate <0,90,0> } #local i=i+1; #end } #end //MACRO A APPELER //terrain_terrassement() //petit_murs() //ciel() //terrasse()