|
![](/i/fill.gif) |
// Persistence of Vision Ray Tracer Scene Description File
// File: rmfsdflyover.pov
// Date: 2000.56, 2001.05
// Auth: Bob Hughes
// Mail: inv### [at] aol com?Subject=PoV-Scene
// Desc: MegaPOV's ridged multifractal with slope dependent texturing
// Note: use MegaPov 0.4+ and render with aspect ratio of 1.667:1 (for example
166x100)
#version unofficial MegaPov 0.6;
#declare Part=1;
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
// variables for changing seasons
#declare _C_=.25; // snow
#declare _Cw_=.9; // water ice
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
global_settings {
assumed_gamma 3
ambient_light .9
max_trace_level 4
number_of_waves 4
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
#switch (Part)
#case (1)
// camera path variables for animation
#declare CamSpos=
spline {
cubic_spline
0,<.1,.167,-9>
.1,<.15,.29,-8.75>
.175,<.225,.33,-8.5>
.225,<.5,.425,-8.125>
.5,<0,.4125,-7>
.775,<-.5,.425,-6>
.875,<-.2,.3,-5.5>
.925,<-.125,.125,-5.25>
1,<-.05,.02,-5>
}
#declare CamSpnt=
spline {
cubic_spline
0,<.1,.2,-8.5>
.1,<.15,.35,-8>
.225,<.475,.275,-7.5>
.33,<.225,.225,-7>
.5,<0,.25,-6.75>
.775,<-.475,.275,-5.5>
.9,<-.133,.2,-5>
.95,<-.1,.125,-4.75>
1,<-.05,.02,-4.5>
}
#declare CamSup=
spline {
cubic_spline
0,<0,1,0>
.067,<.075,.9,-.0125>
.1,<.1,.9,-.025>
.2,<.075,.925,-.095>
.275,<.1,.9,-.133>
.325,<-.125,.875,-.1>
.5,<0,1,0>
.725,<-.1,.875,.1>
.775,<.2,.75,.25>
.9,<-.075,.867,0>
.975,<.025,.9,.025>
1,<0,1,0>
}
#declare clock_type="W" // zero one zero
#declare clock_repeat=1;
#include "clockmod.inc"
#declare _mCw_=mclock;
#declare clock_type="S" // zero one
#declare clock_repeat=1;
#include "clockmod.inc"
#declare _mCs_=mclock;
#declare clock_type="D" // zero one
#declare clock_combine="W"
#declare clock_repeat=1;
#declare clock_start=0;
#declare clock_finish=.05;
#include "clockmod.inc"
#declare _mCc_=mclock;
#declare clock_type="A" // zero one
#declare clock_repeat=1;
#declare clock_start=0;
#declare clock_finish=.15;
#include "clockmod.inc"
#declare _mCa_=mclock;
#declare clock_type="O" // zero one negative one zero
#declare clock_repeat=1;
#include "clockmod.inc"
#declare _mCo_=mclock;
#declare _CtLb_=_mCw_;
#declare _CtRb_=_mCw_;
#declare _CtLf_=_mCw_;
#declare _CtRf_=_mCw_;
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
#declare Tracking=clock;
#switch (Tracking)
#range (0,.05)
camera {
location CamSpos (_mCs_)+<-.01,.0015,-.0161>
right x*1.66667 up y*1
sky CamSup (_mCs_)
angle 67
look_at CamSpnt (_mCs_)+<0,-.075,0>}
#break
#range (.05,.15)
camera {
location CamSpos (_mCs_)+<-.018,.0015,-.0161>
right x*1.66667 up y*1
sky CamSup (_mCs_)
angle 67
look_at CamSpnt (_mCs_)+<1,-.075,-.5>}
#break
#range (.15,.333)
camera {
location CamSpos (_mCs_)+<-.01,.0015,-.0161>
right x*1.66667 up y*1
sky CamSup (_mCs_)
angle 67
look_at CamSpnt (_mCs_)+<0,-.025,0>}
#break
#range (.333,.667)
camera {
location CamSpos (_mCs_)+<-.018,.0015,-.0161>
right x*1.66667 up y*1
sky CamSup (_mCs_)
angle 67
look_at CamSpnt (_mCs_)+<1,-.05,-.67>}
#break
#range (.667,.75)
camera {
location CamSpos (_mCs_)+<-.01,.0015,-.0161>
right x*1.66667 up y*1
sky CamSup (_mCs_)
angle 67
look_at CamSpnt (_mCs_)+<0,-.075,0>}
#break
#range (.75,.925)
camera {
location CamSpos (_mCs_)+<-.018,.0015,-.0161>
right x*1.66667 up y*1
sky CamSup (_mCs_)
angle 67
look_at CamSpnt (_mCs_)+<1,-.075,-.5>}
#break
#range (.925,1)
camera {
location CamSpos (_mCs_)+<-.01,.0015,-.0161>
right x*1.66667 up y*1
sky CamSup (_mCs_)
angle 67
look_at CamSpnt (_mCs_)+<0,-.075,0>}
#break
#end
#break
#case (2)
camera {
location <-.1,.0175+(.0125*_mCd_),-4.933>
right x*1.66667 up y*1
//sky CamSup (_mCs_)
angle 67
look_at <-.0125+(.0025*_mCd_),.028-(.006*_mCd_),-5>
}
#break
#end
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
// sunlight and skylight
light_source {<-500,250,333> rgb <1.75,1.67,1.5>}
light_source {<0,100,0> rgb <.0125,.05,.15>*1.5 shadowless}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
// slope dependent texturing
#declare Snow=
texture {pigment {rgb <.96,.97,.99>*1.1}
normal {wrinkles .4 ramp_wave turbulence .3 scale .039}
finish {ambient .35 diffuse .425 specular .125 roughness .1}
}
#declare Snow2=
texture {pigment {rgb <.98,.97,.96>}
normal {wrinkles .3 ramp_wave turbulence .25 scale .036}
finish {ambient .325 diffuse .4 specular .15 roughness .075}
}
#declare Rock=
texture {pigment {crackle turbulence .2 color_map {
[0 color rgb <.75,.75,.75>]
[1 color rgb <.67,.67,.67>*.8]
}}
normal {crackle .6 turbulence .2}
finish {ambient .125 diffuse .3 specular .05 roughness .6}
scale .016
}
#declare Rock2=
texture {pigment {crackle turbulence .4 color_map {
[0 color rgb <.8,.775,.75>]
[1 color rgb <.75,.7,.67>*.8]
}}
normal {crackle .9 turbulence .4}
finish {ambient .15 diffuse .25 specular .05 roughness .6}
scale .018
}
#declare Dirt=
texture {pigment {crackle turbulence .5 color_map {
[0 color rgb <.6,.5,.4>*.8]
[1 color rgb <.625,.525,.45>]
}}
normal {crackle 1.5 turbulence .5}
finish {ambient .2 diffuse .7 specular .075 roughness .1}
scale .009
}
#declare Dirt2=
texture {pigment {spotted turbulence .5 color_map {
[0 color rgb <.5,.475,.35>*1.6]
[1 color rgb <.55,.525,.4>*1.3]
}}
normal {spotted .25 turbulence .5}
finish {ambient .2 diffuse .7 specular .075 roughness .1}
scale .007
}
#declare Trees=
texture {pigment {bumps turbulence .6 color_map {
[.3 color rgb <.15,.425,.4>]
[.5 color rgb <.3,.5,.425>]
}}
normal {bumps 1.3 turbulence .6}
finish {ambient .125 diffuse .8 specular .1 roughness .3}
scale .003
}
#declare Trees2=
texture {pigment {bumps turbulence .7 color_map {
[.3 color rgb <.25,.55,.3>]
[.5 color rgb <.375,.6,.2>]
}}
normal {bumps 1.2 turbulence .7}
finish {ambient .15 diffuse .7 specular .15 roughness .2}
scale .00275
}
#declare Grass=
texture {pigment {dents turbulence .3 color_map {
[0 color rgb <.4,.7,.3>]
[1 color rgb <.45,.55,.25>]
}}
normal {dents .6 turbulence .3}
finish {ambient .175 diffuse .8 specular .075 roughness .075}
scale .00225
}
#declare Grass2=
texture {pigment {bozo turbulence .3 color_map {
[0 color rgb <.6,.5,.2>*1.3]
[1 color rgb <.55,.45,.15>*1.2]
}}
normal {bozo .6 turbulence .3}
finish {ambient .175 diffuse .8 specular .075 roughness .075}
scale .002
}
#declare TerrainTex1=
texture {
slope -y, y, <0,.25>, <0,1>
texture_map {
[.0225 Dirt2]
[.03-(.05*_C_) Grass]
[.035-(.01*_C_) Trees2]
[.04+(.133*_C_) Trees]
[.05+(.149*_C_) Trees2]
[.07+(.133*_C_) Grass2]
[.1+(.199*_C_) Dirt2]
[.15+(.15*_C_) Dirt]
[.199+(.2*_C_) Rock2]
[.2+(.55*_C_) Rock2]
[.25+(.445*_C_) Snow2]
[.425+(.2725*_C_) Snow]
[.925-(.2225*_C_) Snow]
[.933-(.15*_C_) Rock]
} rotate -5*z
}
#declare H = .3; // roughening<>smoothing
#declare Lacunarity = 4; // roughening<>smoothing
#declare Octaves = 6; // smoothing<>roughening
#declare Offset = .45; // height
#declare Gain= 1.9; // smoothing<>roughening
#declare F0=function{"ridgedmf",<H, Lacunarity, Octaves,Offset, Gain>
}
#declare Fs=function{pigment {spotted turbulence .5 color_map {[0 color rgb .67][1
color rgb .75]} scale .03}
}
// mountains
isosurface {
function {y-(F0(x,y/1.5,z)*(noise3d(x*.1,y*.125,z*.1)/.333))*(Fs)}
eval
accuracy 0.0005
contained_by{box{<-12, 0, -12>, <12, .45, 12>}}
texture {TerrainTex1}
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
// lakes
#declare W1=
texture {pigment {ripples phase clock turbulence .5-(.25*_Cw_) frequency 3 color_map {
[0 color rgbf
<.5,.5+(.25*_Cw_),.5+(.15*_Cw_),.0125+(.775*_Cw_)>*(1.5-(1*_Cw_))]
[1 color rgbf
<.5,.5+(.25*_Cw_),.5+(.15*_Cw_),.0125+(.775*_Cw_)>*(2.5-(2*_Cw_))]
}scale .01}
normal {ripples .05-(.033*_Cw_) phase clock turbulence .75-(.25*_Cw_) scale
.005-(.00125*_Cw_) scallop_wave}
finish {ambient .25-(.2*_Cw_) diffuse 1-(.75*_Cw_) specular .75 roughness .005 phong
.075 phong_size 10
reflection_type 0 reflection_min .03*(10*_Cw_) reflection_max .09*(10*_Cw_)
reflection_falloff 1
reflection_exponent .67 conserve_energy}
scale .125
translate <-.05,.015,-5+(.05*clock)>
}
#declare W2=
texture {pigment {crackle turbulence .5-(.25*_Cw_) color_map {
[0 color rgbf
<.5,.5+(.25*_Cw_),.5+(.15*_Cw_),.0125+(.775*_Cw_)>*(1.5-(1*_Cw_))]
[1 color rgbf
<.5,.5+(.25*_Cw_),.5+(.15*_Cw_),.0125+(.775*_Cw_)>*(2.5-(2*_Cw_))]
}scale .05}
normal {bozo .067-(.05*_Cw_) phase clock turbulence .25-(.25*_Cw_) scale
.005-(.00125*_Cw_) scallop_wave}
finish {ambient .25-(.2*_Cw_) diffuse 1-(.75*_Cw_) specular .75 roughness .005 phong
.075 phong_size 10
reflection_type 0 reflection_min .03*(10*_Cw_) reflection_max .09*(10*_Cw_)
reflection_falloff 1
reflection_exponent .67 conserve_energy}
scale .25
// translate <-.05,.015,-5+(.05*clock)>
}
#declare W3=
texture {pigment {crackle turbulence .5-(.25*_Cw_) color_map {
[0 color rgbf
<.5,.5+(.25*_Cw_),.5+(.15*_Cw_),.0125+(.775*_Cw_)>*(1.5-(1*_Cw_))]
[1 color rgbf
<.5,.5+(.25*_Cw_),.5+(.15*_Cw_),.0125+(.775*_Cw_)>*(2.5-(2*_Cw_))]
}scale .005}
normal {wrinkles .075-(.067*_Cw_) phase clock turbulence .25-(.125*_Cw_) scale
.0025-(.00125*_Cw_)
triangle_wave}
finish {ambient .25-(.2*_Cw_) diffuse 1-(.75*_Cw_) specular .75 roughness .005 phong
.075 phong_size 10
reflection_type 0 reflection_min .03*(10*_Cw_) reflection_max .07*(10*_Cw_)
reflection_falloff 1
reflection_exponent .67 conserve_energy}
scale .5
// translate <-.05,.015,-5+(.05*clock)>
}
#declare Water= material {
texture {bozo turbulence 1.5 frequency 1 texture_map {
[.15 W1]
[.2+(.0033*_mCo_) W2]
[.4+(.0033*_mCo_) W2]
[.45+(.005*_mCo_) W3]
[1+(.005*_mCo_) W3]
} scale .125}
interior {fade_distance .01 fade_power 1000 fade_color <.5,.6,.8>}
}
box {<-12,-.001,-12>,<12,.015,12>
material {Water}
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
sky_sphere {
pigment {gradient y
color_map {
[0 color rgb<.3,.55,1>*1.1]
[.125 color rgb<.675,.725,.775>*1.3]
[.133 color rgb<.25,.625,.85>*1.2]
[.2 color rgb<.25,.625,.85>*1.1]
[.5 color rgb<.15,.35,.7>]
} turbulence .01 scale <.1,1,.1>}
}
fog {
fog_type 2
distance 1.25//+(.75*_mCd_)
color rgb <.4,.5,.6>*1.67
fog_alt .1125
fog_offset .015
}
// omniVerse http://users.aol.com/persistenceofv/all.htm
Post a reply to this message
|
![](/i/fill.gif) |