#include "colors.inc" #include "stones.inc" #include "metals.inc" #version 3.1; /* * A boulder rolling down the tunnel, near the lair of the * giants at the top of the spiral in Chapter 3 of the * RTOH campaign. * * You might wonder why a group of dumb giants would * construct a boulder trap complete with steel spikes * mounted on leather bands. The answer is: they didn't. * The boulder in the gaming session was just a regular * rock. The image was made to look like a boulder * trap from Dungeon Keeper, an incredibly cool game that * a number of the players are addicted to. Dungeon Keeper * is distributed by Electronic Arts and written by * Bullfrog Co, http://www.bullfrog.co.uk/) * * Scale is 1 POVunit == 1 foot. * * Created 5/16/99 by Denton Gentry. */ global_settings { assumed_gamma 1.8 ambient_light rgb<1, 1, 1> } // Texture by Chuck Fusner, http://www.enter.net/~cfusner #local 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 } } #local T_BoulderTrap = texture { pigment { granite color_map { [ 0 rgb <0,0.5,0> ] [ .25 rgb <0,0.65,0> ] [ .5 rgb <0,0.5,0> ] [ .75 rgb <0, 0.7, 0> ] [ 1 rgb <0, .5, 0> ] } 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 0.6 } finish { specular .1 roughness 1 diffuse .55 } } #local T_leather = texture { pigment { color Brown } } #local T_spike = texture { T_Chrome_2A } // the tunnel difference { box { <-100, -100, -1000>, <100, 100, 1000> } // cut a tunnel superellipsoid { <0.25, 0.25> scale <7.5, 5, 900> } texture { RoughStone } } // the boulder trap merge { sphere { <0,0,0>, 4.5 texture { T_BoulderTrap } } // a leather band with spikes merge { cylinder { <0, 0, -0.5>, <0, 0, 0.5>, 4.6 texture{T_leather} } cone { <0,2,0>, 1.5, <0, 4.7, 0>, 0.35 rotate z*-45 texture { T_spike } } cone { <0,2,0>, 1.5, <0, 4.7, 0>, 0.35 rotate z*-15 texture { T_spike } } cone { <0,2,0>, 1.5, <0, 4.7, 0>, 0.35 rotate z*15 texture { T_spike } } cone { <0,2,0>, 1.5, <0, 4.7, 0>, 0.35 rotate z*45 texture { T_spike } } cone { <0,2,0>, 1.5, <0, -4.7, 0>, 0.35 rotate z*-45 texture { T_spike } } cone { <0,2,0>, 1.5, <0, -4.7, 0>, 0.35 rotate z*-15 texture { T_spike } } cone { <0,2,0>, 1.5, <0, -4.7, 0>, 0.35 rotate z*15 texture { T_spike } } cone { <0,2,0>, 1.5, <0, -4.7, 0>, 0.35 rotate z*45 texture { T_spike } } } // And another leather band of spikes merge { cylinder { <0, 0, -0.5>, <0, 0, 0.5>, 4.6 texture{T_leather} } cone { <0,2,0>, 1.5, <0, 4.7, 0>, 0.35 rotate z*-45 texture { T_spike } } cone { <0,2,0>, 1.5, <0, 4.7, 0>, 0.35 rotate z*-15 texture { T_spike } } cone { <0,2,0>, 1.5, <0, 4.7, 0>, 0.35 rotate z*15 texture { T_spike } } cone { <0,2,0>, 1.5, <0, 4.7, 0>, 0.35 rotate z*45 texture { T_spike } } cone { <0,2,0>, 1.5, <0, -4.7, 0>, 0.35 rotate z*-45 texture { T_spike } } cone { <0,2,0>, 1.5, <0, -4.7, 0>, 0.35 rotate z*-15 texture { T_spike } } cone { <0,2,0>, 1.5, <0, -4.7, 0>, 0.35 rotate z*15 texture { T_spike } } cone { <0,2,0>, 1.5, <0, -4.7, 0>, 0.35 rotate z*45 texture { T_spike } } rotate x*90 } rotate x*43 rotate z*90 translate <3.8, 0, 25> } // illuminate the scene light_source { <0,0,-1> color rgb <0.5, 0.5, 0.45> fade_distance 30 fade_power 2 } camera { location <0, 0, 0> look_at <0, 0, 10> }