// Last edited on 2001-07-31 17:22:49 by stolfi #include "colors.inc" #include "colors.inc" #include "metals.inc" #include "golds.inc" #include "stones1.inc" #include "textures.inc" background{ color rgb < 1.0,1.0, 1.0 > } #declare G = seed (123456); #light_source { < 000, 600, 500 > color rgb < 1.00, 1.00, 1.00 > } #declare LightGreen = color 0.85*Green + 0.15*White; #declare tx_cristal = texture { pigment {color LightGreen filter 1} finish { ambient 0.0 diffuse 0.1 reflection 0.25*LightGreen specular 0.3 roughness 0.001 } } #declare Yellow2 = texture { pigment { color red 1 green 1 blue 0 } finish { diffuse 0.5 phong 0.5 phong_size 3 reflection 0.5 } } camera{ location < 100.00, -100.00, 30.00> //location < 0, 0, 160> right <-0.80,0.00, 0.00> up <0.0, 0.0, 0.60> sky <0.00, 0.00, 1.00> look_at <3.00, 2.0, 20.00> } #declare A1 = <50, 0, 5>; #declare A2 = <50, 5, 5>; #declare A3 = <50, 5, 5>; #declare A4 = <50, 0, 5>; #declare A5 = <35, 40, 5>; #declare A6 = <35, 30, 15>; #declare A7 = <35, 10, 15>; #declare A8 = <35, 0, 5>; #declare A9 = <0, 40, 5>; #declare A10 = <0, 30, 15>; #declare A11 = <0, 10, 15>; #declare A12 = <0, 0, 5>; #declare A13 = <-25, 20, 5>; #declare A14 = <-25, 15, 5>; #declare A15 = <-25, 5, 5>; #declare A16 = <-25, 0, 5>; #declare B1 = <-25, 20, 5>; #declare B2 = <-25, 15, 5>; #declare B3 = <-25, 5, 5>; #declare B4 = <-25, 0, 5>; #declare B5 = <-30, 20, 10>; #declare B6 = <-30, 15, 5>; #declare B7 = <-30, 5, 5>; #declare B8 = <-30, 0, 5>; #declare B9 = <-40, 20, 15>; #declare B10 = <-40, 15,5>; #declare B11 = <-40, 5, 5>; #declare B12 = <-40, 0, 5>; #declare B13 = <-50, 20 15>; #declare B14 = <-50, 15, 5>; #declare B15 = <-50, 5, 5>; #declare B16 = <-50, 0, 5>; #declare LadoA = bicubic_patch{ type 1 flatness 0.01 u_steps 5 v_steps 5 A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16 pigment {color rgb<0.7, 0.7, 0.7> } finish { phong 1 reflection .5 } } #declare pontosA= union{ object{ sphere{A1, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A2, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A3, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A4, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A5, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A6, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A7, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A8, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{sphere{A9, 0.5 texture {pigment{ color rgb <1, 0, 0> }}}} object { sphere{A10, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A11, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object { sphere{A12, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object { sphere{A13, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object { sphere{A14, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A15, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} object{ sphere{A16, 0.5 texture {pigment{ color rgb <1, 0, 0>}}}} } #declare patchB = bicubic_patch{ type 0 flatness 0.1 u_steps 5 v_steps 5 B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16 pigment {color rgb <0.7, 0.7, 0.7> } finish { reflection .75 phong 1 } } #declare pontosB= union{ sphere{B1, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B2, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B3, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B4, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B5, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B6, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B7, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B8, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B9, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B10, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B11, 0.5 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B12, 0.1 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B13, 0.1 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B14, 0.1 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B15, 0.1 texture {pigment{ color rgb <1, 0, 0>}}} sphere{B16, 0.1 texture {pigment{ color rgb <1, 0, 0>}}} } #declare xadrez = texture { pigment { checker color White, color Gray scale 10} finish { ambient 0.4 diffuse 0.6 } } plane { z,0 texture{ xadrez } translate -1*z } plane { -z,0 texture{ xadrez } translate 10*z scale 100 } // Aqui está a cena, finalmente: union { object {pontosB} object {pontosA} object {LadoA texture {tx_cristal}}} object {LadoA texture {tx_cristal} scale <1,-1,1>} object {patchB texture {tx_cristal}} object {patchB texture {tx_cristal} scale <1,-1,1> } #