// Persistence of Vision Ray Tracer Scene Description File // File: ?.pov // Vers: 3.5 // Desc: Slope bugs // Date: mm/dd/yy // Auth: ? // #version 3.5; global_settings { assumed_gamma 1.0 } // ---------------------------------------- camera { location <0.0, 0.0, -10.0> direction 1.5*z right x*image_width/image_height look_at <0.0, 0.0, 0.0> } sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] [0.7 rgb <0.0,0.1,0.8>] } } } light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 1> // light's color translate <-30, 30, -30> shadowless } // ---------------------------------------- plane { -z, -1 pigment { hexagon color rgb 1.0 color rgb 0.5 color rgb 0.1 scale 1.5 rotate 90*x } } // ---------------------------------------- #declare F1 = finish { diffuse 0 ambient 1 reflection 0 specular 0 } #declare F2 = finish { diffuse 1 ambient 0 reflection 0 specular 0 } #declare F3 = finish { phong 0.4 } #declare X1F = pigment { color rgbf < 1, 1, 0, 0 > } #declare X2F = pigment { color rgbf < 0, 0, 1, 1 > } #declare X1T = pigment { color rgbt < 1, 1, 0, 0 > } #declare X2T = pigment { color rgbt < 0, 0, 1, 1 > } #declare X1O = pigment { color rgb < 1, 1, 0 > } #declare X2O = pigment { color rgb < 0, 0, 1 > } #declare S1 = pigment { slope y pigment_map { [ 0 X1F ] [ 1 X2F ] }} #declare S2 = pigment { slope y pigment_map { [ 0 X1T ] [ 1 X2T ] }} #declare S3 = pigment { slope y pigment_map { [ 0 X1O ] [ 1 X2O ] }} #declare G1 = pigment { function {0.5+asin(y)/pi} pigment_map { [ 0 X1F ] [ 1 X2F ] }} #declare G2 = pigment { function {0.5+asin(y)/pi} pigment_map { [ 0 X1T ] [ 1 X2T ] }} #declare G3 = pigment { function {0.5+asin(y)/pi} pigment_map { [ 0 X1O ] [ 1 X2O ] }} #declare sphere_tex_1 = texture { pigment { S1 } finish { F1 }} #declare sphere_tex_2 = texture { pigment { S2 } finish { F1 }} #declare sphere_tex_3 = texture { pigment { S1 } finish { F2 }} #declare sphere_tex_4 = texture { pigment { S2 } finish { F2 }} #declare sphere_tex_9 = texture { pigment { S3 } finish { F3 }} #declare sphere_tex_5 = texture { pigment { G1 } finish { F1 }} #declare sphere_tex_6 = texture { pigment { G2 } finish { F1 }} #declare sphere_tex_7 = texture { pigment { G1 } finish { F2 }} #declare sphere_tex_8 = texture { pigment { G2 } finish { F2 }} #declare sphere_tex_10 = texture { pigment { G3 } finish { F3 }} // Left side group: Buggy 'slope' thing. union { sphere {0, 1 texture { sphere_tex_1 } translate x+y} sphere {0, 1 texture { sphere_tex_2 } translate -x+y} sphere {0, 1 texture { sphere_tex_3 } translate x-y} sphere {0, 1 texture { sphere_tex_4 } translate -x-y} sphere {0, 1 texture { sphere_tex_9 } translate 3*y} translate -2.2*x-y } // Right side group: 'correct' function union { sphere {0, 1 texture { sphere_tex_5 } translate x+y} sphere {0, 1 texture { sphere_tex_6 } translate -x+y} sphere {0, 1 texture { sphere_tex_7 } translate x-y} sphere {0, 1 texture { sphere_tex_8 } translate -x-y} sphere {0, 1 texture { sphere_tex_10 } translate 3*y} translate 2.2*x-y }