// Last edited on 2017-05-04 05:01:19 by stolfilocal // Processed by remove-cam-lights background{ color rgb < 0.00, 0.10, 0.20 > } #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_fosca = texture{ pigment{ color rgb < 0.50, 0.00, 0.80 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca2 = texture{ pigment{ color rgb < 1, 1, 1 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #macro soldier ( tx1, soldier_x, soldier_y, soldier_z) union { sphere { < 0 + soldier_x, 20 + soldier_y, 0 + soldier_z>, 2.00 texture { tx1 } } box { < 0.2 + soldier_x, 16 + soldier_y, 0.5 + soldier_z>, <-0.2 + soldier_x, 18 + soldier_y, -0.5 + soldier_z> texture { tx1 } } box { <-3.0 + soldier_x, 8 + soldier_y, -2.0 + soldier_z>, <3.0 + soldier_x, 16 + soldier_y, 2.0 + soldier_z> texture { tx1 } } box { <-3.0 + soldier_x, 0 + soldier_y, -2.0 + soldier_z>, <-1.0 + soldier_x, 8 + soldier_y, 2.0 + soldier_z> texture { tx1 } } box { <3.0 + soldier_x, 0 + soldier_y, -2.0 + soldier_z>, <1.0 + soldier_x, 8 + soldier_y, 2.0 + soldier_z> texture { tx1 } } box { <4.5 + soldier_x, 8 + soldier_y, -2.0 + soldier_z>, <3.5 + soldier_x, 16 + soldier_y, 2.0 + soldier_z> texture { tx1 } } box { <-4.5 + soldier_x, 8 + soldier_y, -2.0 + soldier_z>, <-3.5 + soldier_x, 16 + soldier_y, 2.0 + soldier_z> texture { tx1 } } } #end #macro platoon (lines, coloumns) union { #declare distance_x = 10.5; #declare distance_z = 6; #declare j = 0; #while ( j < coloumns) #declare i = 0; #while ( i < lines) #if ( (i = 0 & j = 0) | (i = lines-1 & j = coloumns-1) | (i = lines-1 & j = 0) | (i = 0 & j = coloumns-1) | (i = (lines-1)/2 & j = (coloumns-1)/2)) object { soldier (tx_xadrez, +(distance_x * i), 0, (-distance_z *j))} #else object { soldier (tx_fosca, +(distance_x * i), 0, (-distance_z *j))} #end #declare i = i + 1; #end #declare j = j + 1; #end } #end // #include "eixos.inc" // object{ eixos(30) } platoon(5, 7) #include "camlight.inc" #declare centro_cena = < 15.00, 4.00, -20.00 >; #declare raio_cena = 50.0; #declare dir_camera = < 3.0, 3.0, 2.00 >; #declare dist_camera = 500.0; #declare intens_luz = 2.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera, y, intens_luz)