#include "colors.inc" #include "stones.inc" #version 3.1; /* * A rough hewn tunnel leading deep into the mountainside. From * Chapter 2, RTOH campaign. This is believed to be the keep of * Desatysso. * * Scale is 1 POVunit == 1 foot. * * Created 3/24/99 by Denton Gentry. */ global_settings { assumed_gamma 1.8 ambient_light rgb<1, 1, 1> } #declare Mortar = texture { pigment { Gray80 } } // Texture by Chuck Fusner, http://www.enter.net/~cfusner #declare RoughStone = texture { //rough stone texture... pigment { //nice and random on the pigment. granite color_map { [ 0 rgb .5 ] [ .25 rgb .65 ] [ .5 rgb .5 ] [ .75 rgb .7 ] [ 1 rgb .5 ] } frequency 100 } normal { /*love that crackle! It's apparently quite computation intensive, but with just the right turbulence, it's got a range of apps.*/ crackle 1 warp { turbulence <.5,.5,.5> /*no more than this for a rough stone effect. And less will look more "crystaline"*/ lambda 2 //these you can tinker with octaves 6 //for a variety of effects omega .5 //though here they are at defaults. } } finish { specular .1 roughness 1 diffuse .55 } } /* * A standin for the ground. */ plane { <0,1,0>, 0 pigment { Brown } } /* * The outer walls are made of weathered stone. */ difference { union { // rows of rough cut stone #declare row = 0; #while ( row < 26 ) #declare col = 0.5; #while ( col < 40 ) box { <(-20 + col), row, -1>, <(-20 + col + 3.9), row + 1.9, 1000> texture { T_Stone8 } } #declare col=col+4; #end #declare row=row+2; #declare col = 2.5; #while ( col < 40 ) box { <(-20 + col), row, -1>, <(-20 + col + 3.9), row + 1.9, 1000> texture { T_Stone8 } } #declare col=col+4; #end #declare row=row+2; #end // mortar box { <-20, 0, -0.9>, <20, 26, 900> texture { Mortar } } } // cut a tunnel superellipsoid { <0.25, 0.25> scale <4.5, 5.9, 900> translate y*6.15 } // cut a side tunnel cylinder { <0, 3.0, 6>, <20, 4.00, 8>, 2.8 } // cut some rough edges sphere { <0,0,0>, 0.20 scale <0.2, 1, 1> translate <4.5, 10.0, -1> } sphere { <0,0,0>, 0.21 scale <0.3, 1, 1> translate <4.5, 9.1, -1> } sphere { <0,0,0>, 0.25 scale <0.3, 1, 1> translate <4.5, 8.6, -1> } sphere { <0,0,0>, 0.19 scale <0.3, 1, 1> translate <4.5, 8.0, -1> } sphere { <0,0,0>, 0.27 scale <0.3, 1, 1> translate <4.5, 7.7, -1> } sphere { <0,0,0>, 0.26 scale <0.3, 1, 1> translate <4.5, 6.0, -1> } sphere { <0,0,0>, 0.23 scale <0.3, 1, 1> translate <4.5, 5.4, -1> } sphere { <0,0,0>, 0.26 scale <0.3, 1, 1> translate <4.5, 4.1, -1> } sphere { <0,0,0>, 0.21 scale <0.3, 1, 1> translate <4.5, 3.6, -1> } sphere { <0,0,0>, 0.22 scale <0.3, 1, 1> translate <4.5, 3.3, -1> } sphere { <0,0,0>, 0.25 scale <0.3, 1, 1> translate <4.5, 2.7, -1> } sphere { <0,0,0>, 0.22 scale <0.3, 1, 1> translate <4.5, 2.0, -1> } sphere { <0,0,0>, 0.26 scale <0.2, 1, 1> translate <-4.5, 9.7, -1> } sphere { <0,0,0>, 0.27 scale <0.3, 1, 1> translate <-4.5, 8.5, -1> } sphere { <0,0,0>, 0.17 scale <0.3, 1, 1> translate <-4.5, 8.2, -1> } sphere { <0,0,0>, 0.24 scale <0.3, 1, 1> translate <-4.5, 7.5, -1> } sphere { <0,0,0>, 0.25 scale <0.3, 1, 1> translate <-4.5, 7.0, -1> } sphere { <0,0,0>, 0.27 scale <0.3, 1, 1> translate <-4.5, 6.2, -1> } sphere { <0,0,0>, 0.24 scale <0.3, 1, 1> translate <-4.5, 5.3, -1> } sphere { <0,0,0>, 0.26 scale <0.3, 1, 1> translate <-4.5, 4.7, -1> } sphere { <0,0,0>, 0.25 scale <0.3, 1, 1> translate <-4.5, 4.0, -1> } sphere { <0,0,0>, 0.25 scale <0.3, 1, 1> translate <-4.5, 3.1, -1> } sphere { <0,0,0>, 0.21 scale <0.3, 1, 1> translate <-4.5, 2.0, -1> } texture { RoughStone } } // illuminate the scene light_source { <0,7.5,-20> color Gray50 fade_distance 20 fade_power 2 } camera { location <-1.5, 5, -12> look_at <0, 6, 0> }