#declare mnt_size = 75 #declare sea_level = mnt_size / 4 #declare island_cen = <39, 0, 36> #declare island_size = 25 #declare island_top = island_cen + (sea_level + island_size/2 + 2) * y #declare dish_cen = island_top + 10 * y #declare mnt_txtr_1 = texture { pigment { gradient y color_map { [0.0 color rgbf <1, 1, 1, 1>] [0.3 color rgbf <1, 1, 1, 1>] [0.35 color rgbf <1, 1, 1, 0>] } turbulence 0.1 scale <0.25, 2, 0.25> } } #declare mnt_txtr_2 = texture { pigment { bozo color_map { [0.0 color rgb <0.0, 0.6, 0.4>] [1.0 color rgb <0.0, 0.8, 0.6>] } scale 0.01 } } #declare sky_col = color rgb <159/255, 127/255, 55/255> #declare sky_tex = texture { pigment { bozo color_map { [0.0 color sky_col] [0.75 color rgb <0, 0, 0>] [1.0 color rgb <0, 0, 0>] } } finish { ambient 0.8 } } height_field { gif "fract002.gif" // water_level 0.25 texture { mnt_txtr_2 } texture { mnt_txtr_1 } rotate <0, -90, 0> translate <1, 0, 0> scale <100, mnt_size, 100> } plane { // water y, sea_level pigment { color rgb <0.5, 0.5, 0.5> /*rgb <0.196078, 0.6, 0.8>*/ } normal { ripples 0.5 translate island_cen } finish { reflection 1.0 } clipped_by { box { <0, 0, 0>, <100, 100, 100> } } bounded_by { clipped_by } } /*#include "claw.pov" object { claw_set scale 5 translate island_cen + island_top * y pigment { color rgb <0, 0.4, 0.7> } finish { specular 0.5 } } */ #include "fl_islan.pov" object { fl_island scale island_size translate island_top texture { mnt_txtr_2 } } cylinder { island_top, dish_cen, 0.5 pigment { color rgb <0.7, 0.7, 0.7> } finish { specular 0.5 } } #include "dish.pov" object { dish rotate <0, 180, -30> translate dish_cen pigment { color rgb <1, 1, 1> } } #declare build_base_txt = texture { pigment { color rgb <0, 0, 0> } finish { specular 0.8 } } #declare win_txt = texture { pigment { color rgb <1, 1, 1> } finish { reflection 0.5 } } #declare building = cylinder { <0, 0, 0>, <0, 1, 0>, 0.5 texture { material_map { gif "winmap.gif" map_type 2 texture { build_base_txt } texture { win_txt } } } } union { object { building scale <6, 4, 6> } sphere { <0, 0, 0>, 0.5 texture { build_base_txt } scale <6, 2, 6> translate <0, 4, 0> } translate island_top } union { intersection { object { building scale <6, 4, 6> } plane { y, 2 } } sphere { <0, 0, 0>, 0.5 scale <6, 2, 6> translate <0, 2, 0> texture { build_base_txt } } translate <3, 0, 0> rotate 60*y translate island_top } union { intersection { object { building scale <6, 4, 6> } plane { y, 1 texture { build_base_txt } } } sphere { <0, 0, 0>, 0.5 scale <6, 2, 6> translate <0, 1, 0> texture { build_base_txt } } translate <3, 0, 0> rotate 120*y translate island_top } /* the flag and flagpole */ #declare flag = object { cubic { <-0.500000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.500000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000> } clipped_by { box { <-1, -0.75, -1>, <1, 0.75, 1> } } } union { cylinder { <0, 0, 0>, <0, 6.2, 0>, 0.1 pigment { color rgb <0.9, 0.91, 0.98> } finish { specular 0.8 } } sphere { <0, 6.2, 0>, 0.2 pigment { color rgb <0.8, 0.498, 0.196> } finish { specular 0.8 } } object { flag pigment { hexagon color d_col color d_col_2 color d_col_2 rotate <90, 0, 0> scale 0.5 } translate <1, 5.25, 0> } rotate <0, 10, 0> translate <8, 0, 0> rotate <0, 50, 0> translate island_top } cone { // sky -- obsolete if fog is used, but looks cool anyway <3500, 0, 5500>, 0 <0, 0, 0>, 2500 open texture { sky_tex scale 200 } no_shadow } /*fog { color rgb <0.5, 0.5, 0.5> distance 60 } */ light_source { <-3000, 2500, -500> color rgb <1, 1, 1> } camera { location <15, 45, -5> // look_at <65, 30, 50> look_at <40, 35, 50> }