// maison 666 ||| macros terrains et exterieurs #macro chaise( position , rotation ) object { difference { box { < 0.00 , 0.00 , 0.00 > , < 0.450 , 0.900 , 0.45 > } box { < 0.05 , 0.45 ,-0.01 > , < 0.460 , 0.910 , 0.46 > } // creux haut box { <-0.01 , 0.05 ,-0.01 > , < 0.400 , 0.400 , 0.46 > } // creux bas box { <-0.01 ,-0.01 , 0.15 > , < 0.460 , 0.400 , 0.30 > } // creux pate box { <-0.01 , 0.91 , 0.15 > , < 0.051 , 0.451 , 0.30 > } // creux dossier } texture { pigment { marble color_map { [ 0.0 color rgb <0.75,0.5,0.1> ] [ 1.0 color rgb <0.85,0.7,0.6> ] } translate <0,0,-0.05> scale 1/32 rotate <0,90,0> translate <0,0,-0.13> } finish { ambient 0.3 diffuse 0.7 specular 0.0 } } rotate <0,rotation,0> translate position } #end #macro table_cuis() union { object { difference { box {<0.00,0.00,0.00>,<1.80,0.75,-0.90>} box {<0.10,-0.01,0.01>,<1.70,0.70,-0.91>} } texture { pigment { marble color_map { [ 0.0 color rgb <0.75,0.50,0.0> ] [ 1.2 color rgb <0.9,0.7,0.6> ] } scale 1/25 rotate <0,90,0> } finish { ambient 0.3 diffuse 0.7 specular 0.0 } } } object { box {<-0.05,0.76,0.05>,<1.85,0.78,-0.95>} texture { pigment { color rgbt <1,1,1,0.95> } finish { ambient 0.2 diffuse 0.7 specular 0.7 roughness 0.01 reflection 0.0} } interior { ior 1.5} } } #end #macro table_chaises() union { object { table_cuis() translate <0,0,0.45>} chaise( < 0.2 , 0 , 0.8 > , 90-10 ) chaise( < 1.2 , 0 , 1 > , 90 ) chaise( < 0.2+0.45 , 0 ,-1 > , -90+20 ) chaise( < 1.2+0.45 , 0 ,-0.7 > , -90-35 ) } #end #macro table_b() union { object { box {<0.00,0.30,0.00>,<0.90,0.32,-0.90>} texture { pigment {color rgbt <1,1,1,0.95>} finish { ambient 0.2 diffuse 0.7 specular 0.7 roughness 0.01 reflection 0.0} } interior { ior 1.2} } object { box {<0.00,0.00,0.00>,<0.15,0.30,-0.15>} texture { pigment { marble color_map { [ 0.3 color rgb <0.4,0.4,0.4> ] [ 1 color rgb <1.2,1.2,1.2> ] } scale 1/32 rotate <0,0,55> turbulence 1.2 } finish { ambient 0.2 diffuse 0.7 specular 0.7 roughness 0.01 reflection 0.0} } } object { box {<0.00,0.00,-0.75>,<0.15,0.30,-0.90>} texture { pigment { marble color_map { [ 0.3 color rgb <0.4,0.4,0.4> ] [ 1 color rgb <1.2,1.2,1.2> ] } scale 1/32 rotate <0,0,95> turbulence 1.2 } finish { ambient 0.2 diffuse 0.7 specular 0.7 roughness 0.01 reflection 0.0} } } object { box {<0.75,0.00,0.00>,<0.90,0.30,-0.15>} texture { pigment { marble color_map { [ 0.3 color rgb <0.4,0.4,0.4> ] [ 1 color rgb <1.2,1.2,1.2> ] } scale 1/32 rotate <0,0,105> turbulence 1.2 } finish { ambient 0.2 diffuse 0.7 specular 0.7 roughness 0.01 reflection 0.0} } } object { box {<0.75,0.00,-0.75>,<0.90,0.30,-0.90>} texture { pigment { marble color_map { [ 0.3 color rgb <0.4,0.4,0.4> ] [ 1 color rgbt <1.2,1.2,1.2> ] } scale 1/32 rotate <0,0,55> turbulence 1.2 } finish { ambient 0.2 diffuse 0.7 specular 0.7 roughness 0.01 reflection 0.0} } } } #end #macro oreiller() object { //sphere { <0,0,0> , .2} //scale < 0.8 , 0.6 , 1.1 > superellipsoid { <1,1/4> scale <1,1/2,1>/4 } texture { pigment { granite color_map { [ 0.0 color rgb <0.45,0.4,0.4> ] [ 1.0 color rgb <1,1,1> ] } scale 1/1 turbulence 0.1 rotate <0,90,0> translate <0,0,-0.13> } finish { ambient 0.05 diffuse 0.4 } } } #end #macro lit() union { object { union { box { <0.05,0.1,0.00> , < 2.05,0.15,1.2 > } box { <0.20,0.0,0.15> , < 0.90,0.15,1.05> } box { <0.00,0.0,0.00> , < 0.05,0.70,1.2> } texture { pigment { marble color_map { [ 0.0 color rgb <0.8,0.5,0.1> ] [ 1.0 color rgb <0.75,0.65,0.6> ] } translate <0,0,-0.05> scale 1/32 rotate <0,90,0> translate <0,0,-0.13> } finish { ambient 0.3 diffuse 0.7 specular 0.0 } } } } object { superellipsoid { <1/16,1/16> scale <1,1/10,1/1.70> translate <1.05,0.25,0.6>} texture { pigment { granite color_map { [ 0.0 color rgb <0.4,0.4,0.4> ] [ 1.0 color rgb <0.9,0.8,0.7> ] } scale 1/80 } finish { ambient 0.3 diffuse 0.8 } } texture { pigment { marble color_map { [ 0.0 color rgbt <0,0,0,0.5> ] [ 1.0 color rgbt <0.9,0.8,0.7,0.9> ] } scale 1/2.2 turbulence 0.15 } finish { ambient 0.3 diffuse 0.8 } } normal { //granite bumps 10 scale 1/128 } scale 1 } object { oreiller() translate < 0.35 , 0.36 , 0.2+0.1 > } object { oreiller() translate < 0.35 , 0.36 , 0.75+0.1 > } } #end #macro textur_canape() texture { pigment { marble// marble granite wood color_map { [ 0.0 color rgb <0.5,0.5,0.5> ] [ 1.0 color rgb <0.4,0.4,0.4> ] } scale 1/2.5 rotate <0,90,0> turbulence 7.5 } finish { ambient 0.4 diffuse 0.6 specular 0 } } #end #macro canape () union { premier_canape( <0,0,0>) object { deuxieme_canape() translate <0,0,0.91> } object { deuxieme_canape() translate <0,0,0.91+0.9> } object { deuxieme_canape() rotate <0,90,0> translate <0.91,0,3.61> } object { deuxieme_canape() rotate <0,270,0> translate <1.81,0,0> } object { premier_canape(<0,0,0>) rotate <0,90,0> translate <0.0,0,3.61> } } #end #macro fauteuil() object { difference { box { <0.00,0.00,0.00>, < 1.20,0.60,0.90> } box { <0.30,0.30,0.30>, < 0.90,0.61,0.91> } } textur_canape() } #end #macro deuxieme_canape () object { difference { box { <0.00, 0.00,0.00>, < 0.90, 0.60, 0.90> } box { <0.30, 0.30, -0.01>, <0.91, 0.61, 0.91> } } textur_canape() } #end #macro premier_canape ( position ) object { difference { box { <0.00, 0.00,0.00>, < 0.90, 0.60, 0.90> } box { <0.30, 0.30, 0.30>, <0.91, 0.61, 0.91> } } textur_canape() } #end #macro table_buro() object {table_cuis () scale<0,0,1/1.5>} #end #macro bureau() union { table_buro() chaise( <0.7,0,0.2> , 80 ) } #end // toutle mobilier placé dans la maison #macro mobilier() object { lit() translate <-6*0.45,.30,0.45*-3> rotate <0,90,0>} object { lit() translate <-6*0.45,.30,0.15> rotate <0,-90,0>} object { table_b() translate <-1.70,-2.10,0.45>} object { table_chaises() translate <-0.50,-2.10,1.35> } object { canape () translate < -2.65,-2.10,-0.95 > rotate <0,-90,0>} object { fauteuil() rotate < 0,180-28,0 > translate < -1.50,-2.10,.45*5.6 > } object {bureau() rotate <0,90,0> translate<0.45*-4.65,0.3,6*0.45> } object {bureau() rotate <0,90,0> translate<0.45*-4.65,0.3,-2*0.45> } #end