//Collossal Cave, Giant Room //by Kurt Bangert bangert@travelnotes.de #include "colors.inc" #include "textures.inc" //textures are standard povray stone textures, just slightly modified #declare walltex = texture { pigment {granite turbulence 0.6 color_map {[0.000, 0.154 color rgbf <0.890, 0.690, 0.690, 0.000> color rgbf <0.996, 0.835, 0.737, 0.000>] [0.154, 0.308 color rgbf <0.996, 0.835, 0.737, 0.000> color rgbf <0.745, 0.635, 0.651, 0.004>] [0.308, 0.444 color rgbf <0.745, 0.635, 0.651, 0.004> color rgbf <0.733, 0.596, 0.557, 0.004>] [0.615, 0.803 color rgbf <0.996, 0.835, 0.737, 0.000> color rgbf <0.765, 0.616, 0.659, 0.000>] [0.803, 1.001 color rgbf <0.765, 0.616, 0.659, 0.000> color rgbf <0.890, 0.690, 0.690, 0.000>]}} finish { ambient 0.2 diffuse 0.4} } #declare walltex1 = texture { pigment {granite turbulence 0.6 color_map {[0.000, 0.154 color rgbf <0.890, 0.690, 0.690, 0.000> color rgbf <0.996, 0.835, 0.737, 0.000>] [0.154, 0.308 color rgbf <0.996, 0.835, 0.737, 0.000> color rgbf <0.745, 0.635, 0.651, 0.004>] [0.308, 0.444 color rgbf <0.745, 0.635, 0.651, 0.004> color rgbf <0.733, 0.596, 0.557, 0.004>] [0.615, 0.803 color rgbf <0.996, 0.835, 0.737, 0.000> color rgbf <0.765, 0.616, 0.659, 0.000>] [0.803, 1.001 color rgbf <0.765, 0.616, 0.659, 0.000> color rgbf <0.890, 0.690, 0.690, 0.000>]}} finish { ambient 0.2 diffuse 0.6 } } #declare T1= texture{ pigment{ crackle color_map{ [0.0, 0.1 color rgb <0.890, 0.690, 0.690> color rgb <0.996, 0.835, 0.737>] [0.308, 0.444 color rgb <0.745, 0.635, 0.651> color rgb <0.733, 0.596, 0.557>] [0.444, 0.615 color rgb <0.733, 0.596, 0.557> color rgb <0.996, 0.835, 0.737>] [0.415, 0.603 color rgb <0.996, 0.835, 0.737> color rgb <0.765, 0.616, 0.659>] [0.603, 1.001 color rgb <0.765, 0.616, 0.659> color rgb <0.890, 0.690, 0.690>]} scale 2} } //fog media { emission 0.001 absorption 0.003 intervals 10 samples 1, 10 confidence 0.9999 variance 1/1000 density { spherical turbulence .1 scale 10 color_map { [0.0 color rgb <1, 1, 1>] [0.5 color rgb <.5, .5, .5>] [1.0 color rgb <0, 0, 0>] } } scale 100 } //includes of wall elements generated with frgen #include "gr.inc" #include "base.inc" #include "nest.inc" #include "cuberock.inc" //other objects //text on the wall #declare sign= difference { box { <-4.5, -.5, 0.02>, <5.5, 1, 1> texture { walltex }} text { ttf "timrom.ttf" "FEE FIE FOE FOO" 0.15, 0 pigment { BrightGold } finish { diffuse .6 reflection .25 specular 1 } translate -4*x} box { <-0.5, -.5, 0.01>, <0.5,1, 1> rotate -y*35 translate -4.5*x texture { walltex }} box { <-0.5, -.5, 0.01>, <0.5,1, 1> rotate y*75 translate 5.3*x texture { walltex }} } //golden egg #declare golden_egg_low = object {sphere {<0,0,0> 1} clipped_by {plane {y,0}}} #declare golden_egg_up = object {sphere {<0,0,0> 1} clipped_by {plane {-y,0}}} #declare golden_egg = union { object{golden_egg_low scale y*1.1 } object{golden_egg_up scale y*1.3 } pigment { BrightGold } normal {dents scale 0.5} finish { ambient .2 diffuse .1 specular 1 roughness .01 reflection .75 metallic} } //the scene camera { location < 7,6,-23> look_at < 0,2, 0>} light_source { < 7,6,-23> color rgb <1,1,1> fade_distance 100 fade_power 1.5 } light_source { <7, 6,-23> color rgb <2,1.5,0.3> spotlight point_at <8, .8, -7> tightness 15 radius 4 falloff 10} //the walls //object {sign scale 4 rotate -90*y translate <-37.8,7.5,49>} object {sign scale 4 rotate -90*y translate <-37.95,7.2,49>} object {gr translate y*5 scale <5.2,7,55> texture {walltex} } object {base translate y*5 scale <3,0.5,6> texture {T1 scale 0.05} } object {base translate y*6 scale <4,2,8> rotate -15*z translate z*30 texture {T1 scale 0.05} } object {base translate y*9 scale <4,1,18> translate z*230 texture {T1 scale 0.05} } object {plane { -y,0 } translate <0,100,0> texture {walltex}} object {plane { y,0 } translate <0,-2.5,0> texture {walltex}} //an exit at the right wall object {cuberock translate y*8 scale <0.15,5,10> rotate 3*y rotate -5*z translate <35,0,190> texture {walltex1} } object {cuberock translate y*14 scale <0.6,6,10> rotate 3*y rotate -5*z translate <36,0,190> texture {walltex1} } //rocks on the ground object {cuberock translate y*7 scale <1,1,1> rotate 30*z rotate -75*y translate <-40,0,320> texture {walltex1} } object {cuberock translate y*9 scale <0.4,0.4,0.4> rotate 60*z rotate -45*y translate <-12,0,270> texture {walltex1} } object {cuberock translate y*3 scale <0.3,0.3,0.3> rotate 55*z rotate -50*y translate <-29,0,230> texture {walltex1} } object {cuberock translate -7*y scale <0.2,0.2,0.2> rotate 35*z rotate -50*y translate <-12,0,160> texture {walltex1} } //the eggs //near object {golden_egg scale <1.2,1.2,1.2> rotate <0,0,80> translate <7,1.5,-8.5> } //right object {golden_egg scale <1.2,1.2,1.2> rotate <0,30,90> translate <10,1,-7> } //back object {golden_egg scale <1.2,1.2,1.2> rotate <20,0,50> translate <8,1.7,-3> } //left rear object {golden_egg scale <1.2,1.2,1.2> rotate <10,90,90> translate <4,1,-5> } //left front object {golden_egg scale <1.2,1.2,1.2> rotate <0,30,80> translate <4,1,-8.5> } //nest for eggs object {nest scale <0.5,0.3,0.5> translate < 6,-1.2,-4> texture {walltex } } //end