#include "colors.inc" #include "stones.inc" #include "metals.inc" #version 3.6; /* * A boulder rolling down the tunnel, in the final * tower of Keep Inverness. * * You might wonder why a wizard would construct a * boulder trap complete with steel spikes * mounted on leather bands. The answer is: he 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 * from 1999 which a number of the players enjoyed back * in the day. * * Scale is 1 POVunit == 1 foot. * * Created 5/16/99 by Denton Gentry for Return to * the Tomb of Horrors chapter 3. Adapted 11/27/2005 * for the Greyhawk campaign. */ 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 SmoothStone = texture { pigment { Gray90 } normal { crackle 1 } finish { specular .01 roughness 1 diffuse .01 } } #local Mortar = texture { pigment { Gray80 } } #local T_wall = texture { brick texture { Mortar } texture { SmoothStone } brick_size 2 mortar 0.25 scale <0.4,1,1> } #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 box { <-6, -5, -900>, <6, 5, 900> } texture { T_wall } } // 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 <1, 0, 20> } // 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> }