#include "colors.inc" #include "textures.inc" #include "stones.inc" #default { finish { ambient 0.3 } } #declare groove = union { sphere { <0, 3 + 5/22, 0>, 5/22 } cylinder { <0, 3 + 5/22, 0>, <0, 9 - 5/22, 0>, 5/22 } sphere { <0, 9 - 5/22, 0>, 5/22 } } #declare groove_bunch = union { object { groove translate <-2.5, 0, -2.5> } object { groove translate <-2.5 + 5/6, 0, -2.5> } object { groove translate <-2.5 + 2 * 5/6, 0, -2.5> } object { groove translate <-2.5 + 3 * 5/6, 0, -2.5> } object { groove translate <-2.5 + 4 * 5/6, 0, -2.5> } object { groove translate <-2.5 + 5 * 5/6, 0, -2.5> } } #declare pedestal_end_4 = difference { box { <-3.5, 0, -3.5>, <3.5, 2, 3.5> } cylinder { <-4, 2, -3.5>, <4, 2, -3.5>, 1 } plane { x - z, 0 } plane { -x - z, 0 } texture { Rosewood scale 2 rotate <0, 90, 0> } } #declare pedestal_end = union { object { pedestal_end_4 } object { pedestal_end_4 rotate <0, 90, 0> } object { pedestal_end_4 rotate <0, 180, 0> } object { pedestal_end_4 rotate <0, 270, 0> } bounded_by { box { <-3.5, 0, -3.5>, <3.5, 2, 3.5> } } } #declare pedestal = union { difference { object { pedestal_end rotate <180, 0, 0> translate <0, 12, 0> } box { <-2.5, 11, -2.5>, <2.5, 13, 2.5> } } difference { box { <-2.5, 2, -2.5>, <2.5, 10, 2.5> } object { groove_bunch } object { groove_bunch rotate <0, 90, 0> } object { groove_bunch rotate <0, 180, 0> } object { groove_bunch rotate <0, 270, 0> } texture { Rosewood rotate <90, 0, 0> scale 2 } } object { pedestal_end } bounded_by { box { <-3.5, 0, -3.5>, <3.5, 14, 3.5> } } } #declare case = union { difference { box { <-2.5, 0, -2.5>, <2.5, 5, 2.5> } box { <-2.4, -1, -2.4>, <2.4, 4.9, 2.4> } } difference { box { <-2.5, 0, -2.5>, <2.5, 5, 2.5> } box { <-3, -1, -2.4>, <3, 4.9, 2.4> } box { <-2.4, -1, -3>, <2.4, 4.9, 3> } box { <-2.4, -1, -2.4>, <2.4, 6, 2.4> } pigment { color rgb <0, 0, 0.25> } } } union { object { pedestal } object { case pigment { color rgbf <1, 1, 1, 1> } finish { reflection 0.1 refraction 1 ior 1.5 // Glass } translate <0, 12, 0> } box { <-2.4, 11, -2.4>, <2.4, 12, 2.4> pigment { gradient y color_map { [0.00 color rgb <0.75, 0, 0>] [0.33 color rgb <0.75, 0.75, 0>] [0.50 color rgb <0, 0.75, 0>] [0.66 color rgb <0, 0, 0.75>] [1.00 color rgb <0.75, 0, 0>] } scale 3 turbulence 1.0 translate <3, 4, 2> // random location } /* image_map { gif "pedestal.gif" interpolate 2 } rotate <90, 0, 0> translate <-0.5, 0, -0.5> scale 5 } */ finish { brilliance 0.3 } } translate <-2, 0, -2> } /*#include "tjsym.pov" object { tjsym scale 3.5/30 translate <-2, 14.5, -2> pigment { color Gray80 } } */ /*#include "dodeca.pov" object { dodeca scale 3.5/2 rotate <0, 0, 90> translate <-2, 14.5, -2> texture { Stone13 } } */ #include "icosa.pov" object { icosa scale 3.5/2 // rotate <90, 0, 0> translate <-2, 14.5, -2> texture { Stone9 } } plane { // the floor y, 0 texture { material_map { gif "matmap.gif" texture { // White Marble pigment { White_Marble } finish { reflection 0.1 } } texture { // Black Marble pigment { marble turbulence 1 color_map { [0.0, 0.8 color red 0.1 green 0.1 blue 0.1 color red 0.5 green 0.5 blue 0.5] [0.8, 1.01 color red 0.5 green 0.5 blue 0.5 color red 0.8 green 0.8 blue 0.8] } rotate <0, 90, 0> } finish { reflection 0.1 } } texture { // Gold pigment { color BrightGold } finish { ambient 0.2 diffuse 0.7 reflection 0.5 brilliance 6 phong 0.5 phong_size 80 metallic } } } scale 10 rotate <90, 0, 0> } } #declare wall_texture = texture { pigment { image_map { gif "wp_flor7.gif" interpolate 2 } scale 10 } } #declare wall = union { plane { -z, 0 texture { wall_texture } } intersection { plane { -z, 1 } plane { y, 1 } } quadric { <0, 1, 1>, <0, 0, 0>, <0, 0, 0>, -1 translate <0, 1, 0> } } object { wall pigment { color White } translate <0, 0, 30> } object { wall pigment { color White } rotate <0, -90, 0> translate <-30, 0, 0> } #declare shelf_support = difference { union { box { <-0.25, 0, 0>, <0.25, -1, -4> } box { <-0.25, 0, 0>, <0.25, -4, -1> } box { <-0.25, -1, -1>, <0.25, -2, -2> } /* intersection { cubic { <0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.222222, -1.000000, 0.000000, 0.000000> rotate <90, 0, 0> translate <-4, -1, 0> inverse } plane { x, 0.25 } plane { -x, 0.25 } plane { y, -1 } plane { z, -1 } } */ cylinder { <-0.25, -1, -3>, <0.25, -1, -3>, 1 } cylinder { <-0.25, -3, -1>, <0.25, -3, -1>, 1 } } cylinder { <-0.5, 2, 2>, <0.5, 2, 2>, 1 } bounded_by { box { <-0.25, 0, 0>, <0.25, -4, -4> } } } #declare shelf_top = intersection { union { box { <-2.5, 0, 0>, <2.5, 1.5, -5> } cylinder { <-2.5, 0.75, -5>, <2.5, 0.75, -5>, 0.75 } cylinder { <-2.5, 0.75, 0>, <-2.5, 0.75, -5>, 0.75 } cylinder { <2.5, 0.75, 0>, <2.5, 0.75, -5>, 0.75 } sphere { <2.5, 0.75, -5>, 0.75 } sphere { <-2.5, 0.75, -5>, 0.75 } } plane { y, 0.5 } bounded_by { box { <-3.25, 0, 0>, <3.25, 0.5, -5.75> } } } #declare shelf = union { object { shelf_top texture { Rosewood scale 2 } } object { shelf_support translate <1.5, 0, 0> texture { Rosewood } } object { shelf_support translate <-1.5, 0, 0> texture { Rosewood } } } object { shelf translate <-10, 8, 30> } object { shelf translate <8, 8, 30> } #declare frame_4 = intersection { cylinder { <-5, -10, 0>, <-5, 10, 0>, 0.5 } plane { x + y, 0 } plane { -(-x + y), 0 } } #declare picture = union { object { frame_4 } object { frame_4 rotate <0, 0, 90> } object { frame_4 rotate <0, 0, 180> } object { frame_4 rotate <0, 0, 270> } box { <-5, -5, 0>, <5, 5, -0.01> pigment { image_map { // gif "aliens.gif" tga "d:froo.tga" interpolate 2 } scale 10 translate <-5, -5, 0> } finish { ambient 0.5 } } scale <3/2, 1, 1> texture { Silver_Texture } } object { picture rotate <0, -90, 0> scale 4/5 translate <-30, 10, 10> } union { sphere { // the pot for the plant <0, 0, 0>, 2 clipped_by { box { <-2, -0.75, -2>, <2, 0.75, 2> } } texture { Copper_Texture normal { wrinkles 0.5 } } } plane { y, 0.5 pigment { color DarkBrown } clipped_by { sphere { <0, 0, 0>, 2 } } } translate <-10, 9.25, 27.5> } #include "narftree.pov" object { narftree scale 0.02 translate <-10, 8.5, 27.5> } #include "narfcrys.pov" object { narfcrys scale 0.3 rotate <0, 30, 0> translate <8, 8.5, 26.5> } #declare lamp_fixture = union { cylinder { <0, -1, -2.5>, <0, 1, -2.5>, 0.75 open pigment { color Black } finish { Shiny } } cylinder { <0, -1, -2.5>, <0, -1.5, -2.5>, 0.75 open texture { Gold_Texture } } cylinder { <0, 1, -2.5>, <0, 1.5, -2.5>, 0.75 open texture { Gold_Texture } } union { cylinder { <0, 0, -2.5>, <0, 0, 0>, 0.25 clipped_by { cylinder { <0, -1, -2.5>, <0, 1, -2.5>, 0.75 inverse } } } cylinder { <0, 0, -0.5>, <0, 0, 0>, 0.3 } cylinder { <0, 0, -0.1>, <0, 0, 0>, 0.75 } pigment { color Black } finish { Shiny } } } object { lamp_fixture translate <8, 20, 30> } light_source { <8, 20, 27.5> color rgb <2, 2, 2> spotlight point_at <8, 10, 27.5> radius 22 falloff 26.56505 } object { lamp_fixture translate <-10, 20, 30> } light_source { <-10, 20, 27.5> color rgb <2, 2, 2> spotlight point_at <-10, 10, 27.5> radius 22 falloff 26.56505 } object { lamp_fixture rotate <0, -90, 0> translate <-30, 20, 10> } light_source { <-27.5, 20, 10> color rgb <1.5, 1.5, 1.5> spotlight point_at <-27.5, 10, 10> radius 22 falloff 26.56505 } // four spotlights centered at <-2, 30, -2> light_source { <6, 30, 6> color Gray60 spotlight point_at <-2, 12, -2> radius 13 falloff 22 } light_source { <-10, 30, -10> color Gray60 spotlight point_at <-2, 12, -2> radius 13 falloff 22 } light_source { <6, 30, -10> color Gray60 spotlight point_at <-2, 12, -2> radius 13 falloff 22 } light_source { <-10, 30, 6> color Gray60 spotlight point_at <-2, 12, -2> radius 13 falloff 22 } //light_source { <40, 40, -20> color rgb <1, 1, 1> } // all-illuminating camera { // location <15, 15, -15> // look_at <0, 8, 0> location <10, 19, -18> look_at <0, 11, 0> // location <-10, 11, 20> // look_at <-10, 11, 30> // location <8, 15, 27.5> // look_at <7.9, 20, 27.5> }