// Persistence of Vision Ray Tracer Scene Description File // File: .pov // Vers: 3 // Desc: Mountain heightfield with ocean // Date: January 4, 1998 // Auth: J. Jason Sims // ==== Standard POV-Ray Includes ==== #include "colors.inc" // Standard Color definitions #include "textures.inc" // Standard Texture definitions // Places a camera in the scene. camera { location <1.50 , 23 ,-10.0> look_at <4 , 22.5 , 5.0> } // create a regular point light source light_source { 0*x // light's position (translated below) color red 1.0 green 1.0 blue 1.0 // light's color translate <-1.5, 200, 45> } // create a regular point light source light_source { 0*x // light's position (translated below) color red 1.0 green 1.0 blue 1.0 // light's color translate <5, 200, 0> } //The following texture declaration is a color map. It gives the heightfield mountain //a graduated color from green at its base to an earthy brown to a snowy white. #declare texture004 = texture { pigment { gradient <0,1,0> // this line directs the color map to be gradient in the "y" or vertical direction. color_map { [0.00 color rgb<0.039, 0.455, 0.149>] [0.22 color rgb<0.027, 0.596, 0.180>] [0.44 color rgb<0.427, 0.420, 0.224>] [0.54 color rgb<0.427, 0.420, 0.224>] [0.74 color rgb<0.514, 0.506, 0.388>] [0.80 color rgb<0.596, 0.627, 0.651>] [1.00 color rgb<0.910, 0.929, 1.000>] } } } // Creates a natural looking haze on the horizon fog {color White distance 1550 } // Creates a sphere with a sky texture on it. #declare Mysky = sphere { <0,0,0>,0.98 texture { Blue_Sky3 finish {reflection 0.0 diffuse 0.0 ambient 1.0} } } // Subtracts the inside of the above declared sphere. // This shell leaves a realistic sky to encapsulate the scene. difference { sphere { <0,0,0>,1} object {Mysky} scale <3000,500,3000> // NOTE: The uneven scaling makes the sky sphere // wider and deeper than it is tall. This makes the // sky appear to fade off into the distance. The // standard sky sphere appears too one-dimensional. texture { Blue_Sky3 // applies the Blue Sky texture to the resulting shell. finish {reflection 0.0 diffuse 0.0 ambient 1.0} } no_shadow // The "no_shadow" directive allows you to place the light source // outside the shell by eliminating the shadow it would cast. } // The following defines a deep blue color for the water. The ripples are // created by the"waves" statement in the "normal" attribute and the // reflectivity is due to statements in the "finish" attribute. #declare Sea = texture { pigment { colour rgbf<0.298,0.055,0.596,0.267> } normal { waves 0.12 turbulence 1.38 frequency 3 } finish { diffuse 0.62 brilliance 1.5 specular 0.26 roughness 0.14 phong 0.2 phong_size 75 reflection 0.12 refraction 1.0 ior 1.333 } } // The following creates an infinite plane used for the water in the scene. // The "Sea" texture declared above is used here. plane { y, 9.0 texture { Sea } } // The following describes the heightfield. // The image used to generate the heightield was created with a great program called // Fractint. Use a program like Fractint to build a 256 color plasma fractal. The resulting // GIF file is then read by POV-Ray and the heights in the heightfield are determined by // the index number in the GIF's color pallette. // height_field { gif "c:\images\plasma.gif" // This line tells POV-Ray where to find // the image used to draw the heightfield smooth // "smooth" can be left out or included to create a much smoother heightfield water_level .1 // Instructs POV-Ray not to draw below this point as it would be // obscured from view. Useful for scenes such as this one. texture { texture004 } // This calls the color map declared above. translate <-.5, 0, 0> scale <50, 25, 50> rotate <0, 0, 0> }
Back to Raytracing Page.