// Persistence of Vision Ray Tracer Scene Description File // File: skul0304.pov // Vers: 3.5 // Desc: the skull, yet again... or should I say still? // Date: 111004 // Auth: dookie x #include "colors.inc" #include "textures.inc" #include "stones1.inc" //#include "onetire2.pov" #declare SkullTex=texture{pigment{color Gray70}} /* #declare SkullTex=texture { pigment { // (---surface color---) marble // some pattern color_map { // color map [0.1 color red 1] [0.5 color rgbf 1] } turbulence 0.5 // some turbulence scale <1,3,1> // transformations } normal { // (---surface bumpiness---) marble 0.3 // some pattern (and intensity) turbulence 0.5 // some turbulence scale <1,3,1> // transformations } finish { // (---surface finish---) ambient 0.2 specular 0.6 // shiny } } */ //texture{pigment{color Gray70}} #declare ToothTex=texture{pigment{color White}} #declare ToothTex=texture{pigment{color Gray90}} #declare FleshTex=texture{pigment{color Pink}} #declare GroundTex=texture{pigment{color Tan} finish{ambient .3}} #declare SkullBone=union{sphere{0,1 scale<.71,.45,.45> translate x*.20} //brain case sphere{0,.33 scale<.8,.45,.82> translate<.02,.33,0>} //spine lump difference{cone{<.45,0,0>,.37 <.420,.4,0>,.40 //snout/upper deck scale<1.10,.9,.55>} sphere{0,1 scale<.30,.14,.20> translate<.60,.45,0>} //roof of mouth } cone{<.82,.01,0> .04<.98,.11,0> .05} //upper nose cone{<.86,.08,0>,.05,<.91,.23,0> .07} //nose bone sphere{<.89,.23,0> .06} //snot bone superellipsoid{<.7,.7> scale<.30,.24,.38> //cheek/brow bone rotate<0,0,4> translate<.58,.13,0>} torus { 0.18,0.1 rotate<-7,0,-38> translate<.66,+.075,-.075>} //brow L torus { 0.18,0.1 rotate< 7,0,-38> translate<.66,+.075,+.075>} //brow R torus { 0.20,0.12 rotate< 0,0,-44> translate<.66,+.135,0>} //brow Uni // sphere{0,1 scale<.1,.05,.015> rotate <11,0,-10> translate<1.05,.09,.023> texture{pigment{color Green}}} //nostril holes // sphere{0,1 scale<.1,.05,.015> rotate <-11,0,-10> translate<1.05,.09,-.023> texture{pigment{color Green}}} }// the union #declare Skull=difference{object{SkullBone} sphere{0,1 scale<.15,.2,.2> translate<.07,.7,0>} //neckhole sphere{0,1 scale<.69,.43,.43> translate x*.2} //brain hole superellipsoid{<.8,.8> scale<.15,.1,.14> //left eye rotate<10,0,0> translate<.9,.09,-.2>} superellipsoid{<.8,.8> scale<.15,.1,.14> //right eye rotate<-10,0,0> translate<.9,.09,.2>} cylinder{<.955,.245,-.1><.955,.245,.1>.07} //snot cut cylinder{<1.00,.10,-.1><1.00,.10,.1>.06} //snot cut upper sphere{0,1 scale<.3,.07,.015> rotate x*5 translate<.85,.15,.021>} //nostril holes sphere{0,1 scale<.3,.07,.015> rotate x*-5 translate<.85,.15,-.021>} sphere{0,1 scale<.1,.07,.05> rotate <11,0,-12> translate<.97,.13,.026> //texture{pigment{color Green}} } //nostril holes II sphere{0,1 scale<.1,.07,.05> rotate <-11,0,-12> translate<.97,.13,-.026> //texture{pigment{color Green}} } superellipsoid{<.6,.8> scale<.28,.27,.36> rotate<0,0,4> translate<.58,.08,0>} //cheekbone hole difference{cylinder{-.3*y,.2*y,1.05} cylinder{y*-.31,y*.21,.98} scale<.70,.55,.47> rotate z*7 translate x*.15 } //neat headband, man... sphere{0,1 scale .21 translate<.80,-.08,.49>} //temple R sphere{0,1 scale .22 translate<.71,+.08,.55>} //cheek R sphere{0,1 scale .21 translate<.80,-.08,-.49>} //temple L sphere{0,1 scale .22 translate<.71,+.08,-.55>} //cheek L }// end difference #macro Toof(SizeVect) //A FRONT TOOTH difference{sphere{0,.05} //a leetle sphere box{<-1,.002,-1><1,1,1>} //cut in half scale SizeVect} //and stretched into a big lozengey ovate half-spheriod #end //macro Toof #macro Toof2(SizeVect) //A SIDE/BACK TOOTH difference{superellipsoid{<.6,.6>} //a leetle super-ellipsoid, kinda roundy box{<-2,0,-2><2,2,2>} //cut in half scale SizeVect/10} //and stretched at a similar scale to Toof #end //macro Toof2 #declare Teeth= union{//object{Skull translate y*.12} object{Toof(<.28,3.9,.8>) rotate y*-9 translate<.89,.60,.035>} //incisors object{Toof(<.28,3.9,.8>) rotate y*+9 translate<.89,.60,-.035>} object{Toof(<.27,3.5,.7>) rotate y*-30 translate<.86,.6,.09>} object{Toof(<.27,3.5,.7>) rotate y*+30 translate<.86,.6,-.09>} object{Toof2(<.28,1.2,.35>) rotate y*-55 translate<.81,.60,.12>} //k9s object{Toof2(<.28,1.2,.35>) rotate y*+55 translate<.81,.60,-.12>} object{Toof2(<.32,1.1,.35>) rotate y*-75 translate<.76,.60,.145>} //choppers object{Toof2(<.32,1.1,.35>) rotate y*+75 translate<.76,.60,-.145>} object{Toof2(<.34,1.0,.35>) rotate y*-80 translate<.70,.60,.16>} //choppers object{Toof2(<.34,1.0,.35>) rotate y*+80 translate<.70,.60,-.16>} object{Toof2(<.35,.9,.35>) rotate y*-85 translate<.64,.60,.165>} //choppers object{Toof2(<.35,.9,.35>) rotate y*+85 translate<.64,.60,-.165>} object{Toof2(<.34,.9,.35>) rotate y*-95 translate<.58,.60,.17>} //choppers object{Toof2(<.34,.9,.35>) rotate y*+95 translate<.58,.60,-.17>} object{Toof2(<.33,.9,.33>) rotate y*-100 translate<.52,.59,.16>} //choppers of wisdom object{Toof2(<.33,.9,.33>) rotate y*+100 translate<.52,.59,-.16>} } #declare SkullNTeeth=union{object{Skull translate y*.12 texture{SkullTex}} object{Teeth texture{ToothTex}} //rotate z*10 rotate y*-90 } #declare SkinSack=object{Skull translate y*.12 scale 1.05 rotate z*10 rotate y*-90} //camera{location<0.0, .35, -4> look_at<0.0, .35, 0.0> sky -y} //good 8-ring view //light_source {0*x color rgb 3.0 translate <.0, -2, -1>} //light_source {0*x color rgb 2.0 translate <.0, 3, -3>} //light_source {0*x color rgb 2.0 translate <0, -1, 3>} //regular? light_source {0*x color rgb 1.5 translate <3, 0,5>} background{Maroon/1.25} //plane{z,-50 hollow on pigment{gradient -y color_map{[0 color Red] [1 color Black]} scale 30}} /* #declare Looper = 0; //eight packer, with animation #while (Looper < 8) object{SkullNTeeth translate z*1.13 rotate y*(Looper*45+clock*45)} #declare Looper = Looper+1; // increment our counter #end */ #declare Looper = 0; //13 packer halo -- facing camera #while (Looper < 13) object{SkullNTeeth rotate z*-90 rotate y*25 translate x*-2.7 rotate z*(Looper*27.693273-33)} #declare Looper = Looper+1; // increment our counter #end /* #declare Looper = 0; //thuddeen/twelve packer line #while (Looper < 13) object{SkullNTeeth //rotate x*10 //rotate x*3 // rotate -y*((Looper-6)*0) translate -x*.83*(Looper-6 ) //translate -z*abs(.2*(Looper-5)) // rotate z*(Looper-6)*5 } #declare Looper = Looper+1; // increment our counter #end */ /* #declare Looper = 0; //six packer stack #while (Looper < 6) object{SkullNTeeth //rotate x*10 //rotate x*3 rotate -y*((Looper+0)*2) translate x*Looper*-.04 translate -y*.98*(Looper-0) } #declare Looper = Looper+1; // increment our counter #end */ /* #declare BigSkullPile=union{ #declare ToTiers=8; //total number of tiers #declare R1=seed(ToTiers+123); #declare Tiers=ToTiers; //tier looper var #while (Tiers > 0) #declare Looper = Tiers; #while (Looper > 0) #declare ScalerX=rand(R1)*.1+.95; #declare ScalerY=rand(R1)*.1+.95; #declare ScalerZ=rand(R1)*.1+.95; object{SkullNTeeth rotate x*8 //chin up, laddie! //rotate y*(Looper-(Tiers/2)*.5) scale //left pile translate x*.92*(Looper-(Tiers/2)-.5) translate y*.78*(Tiers-ToTiers-.8) translate z*(Tiers*.4-1)} object{SkullNTeeth rotate x*8 //chin up, laddie! rotate y*135 //rotate y*(Looper-(Tiers/2)*.5) scale //right pile translate <0,0,12> translate x*.92*(Looper-(Tiers/2)-.5) translate y*.78*(Tiers-ToTiers-.8) translate -z*(Tiers*.4-1)} #declare Looper = Looper-1; //woops, don't forget to decrement the counter! #end //Looper while #declare Tiers=Tiers-1; //don't forget to decrement the other counter! #end //Tiers while } //end BigSkullPile union */ //object{SkullNTeeth} //object{SkinSack texture{FleshTex}} //plane {y,0.0 hollow on texture{T_Stone21 rotate y*90}} //plane {y,0.0 hollow on texture{pigment{Black}}} //object{BigSkullPile rotate y*22.5 translate x*0} //object{BigSkullPile rotate y*-45 translate x*9} //object{ThornyTire2 scale 3 rotate x*30 translate<0,-4,4>} //object{ThornyTire2 scale 3 rotate <90,45,0> translate<0,-6,-3>} /* plane {z, // unit surface normal, vector points "away from surface" -1.5 // distance from the origin in the direction of the surface normal hollow on // has an inside pigment? texture{GroundTex} rotate y*45 } plane {z, // unit surface normal, vector points "away from surface" -1.5 // distance from the origin in the direction of the surface normal hollow on // has an inside pigment? texture{GroundTex} rotate y*-45 } */ camera{location<-0, -0, 7> look_at<0, -0, 0.0> sky -y} //camera{location<0, -1.5,9.5> look_at<0, -2, 0> sky -y} /* ^ -y | | *----> +x / /+z L */