// Last edited on 2023-12-30 10:31:40 by stolfi #version 3.7; global_settings { assumed_gamma 2.2 } background{ color rgb < 1, 1, 1 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_painel = texture{ pigment{color rgb <1,0,0>} finish {ambient 0.8 diffuse 0.2 } } #declare tx_woood = texture { pigment {color rgb <.52,.37,0.26>} finish{ diffuse 0.9} } #include "direcao_do_sol.inc" #include "parametros.inc" #macro casa() #local casa_base = box { <-1, -1, -1>, <1, 2, 1> } #local telhaV1 = box { <0, 0, 0>, <2, 3, 0.1> } #local asa1 = box { <0, 0, 0>, <2, 3, 0.1> } union { object{casa_base texture {tx_woood}} object{telhaV1 texture {tx_plastico} rotate <0, 45, 0> translate <0, -1, 2>} object{telhaV1 texture {tx_plastico} rotate <0, 135, 0> translate <0, -1, 2>} object{asa1 texture {tx_plastico} rotate<30,0,0> translate<-1,2,1>} object{asa1 texture {tx_plastico} rotate<50,0,0> translate<-1,4.55,2.5>} object{asa1 texture {tx_plastico} rotate<150,0,0> translate<-1,-1,1>} object{asa1 texture {tx_plastico} rotate<130,0,0> translate<-1,-3.55,2.5>} } #end #macro paineis() #local telhaV1 = box { <0, 0, 0>, <1.5, 2.5, 0.2> } union { object{telhaV1 texture {tx_painel} rotate <0, 45, 0> translate <0, -0.75, 2>} object{telhaV1 texture {tx_painel} rotate <0, 135, 0> translate <0, -0.75, 2.2>} object{telhaV1 texture {tx_painel} rotate<30,0,0> translate<-0.75,2,1>} object{telhaV1 texture {tx_painel} rotate<50,0,0> translate<-0.75,4.55,2.5>} object{telhaV1 texture {tx_painel} rotate<150,0,0> translate<-0.75,-1,1.1>} object{telhaV1 texture {tx_painel} rotate<130,0,0> translate<-0.75,-3.55,2.6>} } #end #macro templo() union { casa() paineis() } #end object{ templo() } #local dir_norte = < 0.0, cos(radians(lat)), sin(radians(lat)) >; #local dir_sol = direcao_do_sol(lat, lon, mes, hora); #include "eixos.inc" #local cmp_eixos = 5.0; // object{ eixos(cmp_eixos) } #declare cmin = < -1.5, -6.0, -1.1 >; #declare cmax = < +1.5, +7.0, +5.0 >; #declare centro_cena = (cmin + cmax)/2 + 2*z; #include "gaiola.inc" // object{ gaiola(cmin,cmax) } object{ gaichao(cmin,cmax) } #include "camsol.inc" #declare raio_cena = 0.65*vlength(cmax-cmin); #declare intens_luz = 1.20; // #declare vista = 3; camsol(centro_cena, raio_cena, vista, dir_norte, dir_sol, intens_luz)