//A Grand Canyon scene //by Kurt Bangert //see http://www.travelnotes.de/rays #include "colors.inc" //#include "textures.inc" is not needed global_settings { max_trace_level 20 } background {Black} #declare DarkGreen=color rgb <.2,.5,.2> #declare LGreen=color rgb <.2,1,.2> #declare YGreen=color rgb <.7,1,0> #declare bushtex= texture { pigment { bozo color_map { [ 0.0 color rgbt <.24,.6,.4,.1> ] [ 0.1 color rgbt <.2,.5,.4,.5>] [ 0.2 color rgbt <.24,.6,.4,.9>] [ 0.3 color Clear ] [ 1.00 color Clear ]} turbulence .5 // } } #declare gctex=texture{ pigment { gradient y color_map {[0.0 color rgb<.5,.4,.4>] [0.021 color rgb<.52,.482,.543>] [0.05 color rgb<.612,.558,.629>] [0.1 color rgb<.609,.557,.557>] [0.2 color rgb<.758,.676,.660>] [0.22 color rgb<.753,.644,.625>] [0.30 color rgb<.847,.769,.742>] [0.40 color rgb<.726,.679,.707>] [0.50 color rgb<.734,.637,.687>] [0.56 color rgb<.648,.535,.585>] [0.57 color rgb<.719,.671,.695>] [0.60 color rgb<.730,.679,.707>] [0.67 color rgb<.777,.719,.726>] [0.69 color rgb<.710,.539,.578>] [0.72 color rgb<.687,.531,.566>] [0.74 color rgb<.746,.660,.699>] [0.79 color rgb<.703,.582,.617>] [0.86 color rgb<.746,.648,.703>] [0.90 color rgb<.824,.781,.808>] [0.93 color rgb<.898,.867,.882>] [1.0 color DarkGreen] }} finish {ambient 0.2 diffuse 0.8 }} //this would give an overview //camera {location <-23,32,-62> //look_at <0,0,0>} camera {location <-22.5,8.,-6> angle 55 look_at <-10,-1,-5.5>} sphere {< 0,3,0> .5 pigment {Red}} sphere {<10,3,0> .5 pigment {Blue}} light_source { < 10,40,-17> color rgb <.5,.5,.5> } light_source { < 10,40,-40> color rgb <.5,.5,.5> } light_source { < 10,400,-17> color rgb <.5,.5,.5> } #declare canyon=object {height_field { gif "grandcan.gif" smooth scale <50,2.8,50> translate<-25,0,-25> }} //canyon object{canyon texture{gctex scale 2.6}normal { granite 0.1 scale 0.05 } } //river object{box {<-50,0,-50><50,.26,50> translate<-25,0,-25> } texture { normal {granite 0.8 scale <.1,1,.1>} pigment{color rgb<.24,.36,.48>} finish {ambient 0.2 diffuse 0.6 reflection 0.2}} } //north rim (as I believe) #declare upper_slab1= object{difference { object {canyon } object {box{<-30.,1.6,-30> <-14,3,30>}inverse } }} object {upper_slab1 translate y*.04 pigment {Clear} texture {bushtex scale 0.05}} object {upper_slab1 translate y*.04 pigment {Clear} texture {bushtex scale 0.02}} //south rim #declare upper_slab2= object{difference { object {canyon } object {box{<-15.,2.,-30> <30,3,0>}inverse} }} object {upper_slab2 translate y*.03 pigment {Clear} texture {bushtex scale 0.04}}