home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / GRAPHUTL / POVSCN.ZIP / LEVEL2.ZIP / SUNSETHF.POV < prev    next >
Text File  |  1992-07-03  |  3KB  |  133 lines

  1. // Persistence of Vision Raytracer
  2. // Height field sample
  3. // by Douglas Muir
  4. // Note: Original used 640 x 480 height field.
  5. // This version is scaled down for distribution.
  6. // Requires "fract003.gif" plasma gif for the height field.
  7.  
  8.  
  9. #include "shapes.inc"
  10. #include "colors.inc"
  11. #include "textures.inc"
  12.  
  13. camera {
  14.    location <0.0  80.0  -300.0>
  15.    direction <0.0  0.0  1.0>
  16.    up <0.0  1.0  0.0>
  17.    right <1.333333 0.0 0.0>
  18.    look_at <0.0  30.0  200.0>
  19. }
  20.  
  21. object {
  22.    height_field { gif "fract003.gif" 
  23.       water_level 101.0
  24.    }
  25.  
  26.    scale <320 256 200>
  27.  
  28.    texture {
  29.       image_map { <1.0 0.0 -1.0> gif "fract003.gif"  }
  30.       scale <320.0 1.0 200.0>
  31.       translate <0.0 0.0 -1.0>
  32.    }
  33.  
  34.    scale <2.0 0.5 2.0>
  35.    translate <-160.0 -63.5 -100.0>
  36.    rotate <0.0 10.0 0.0>
  37.    translate <-80.0 0.0 -30.0>
  38.  
  39.    colour White
  40. }
  41.  
  42. // Define the ocean surface 
  43. object {
  44.    plane { <0.0  1.0  0.0> -10.0  }
  45.  
  46.    texture {
  47.       colour Aquamarine
  48.       waves 0.06
  49.       frequency 5000.0
  50.       ambient 0.1
  51.       diffuse 0.1
  52.       reflection 0.8
  53.       scale <1000.0 1000.0 1000.0>
  54.    }
  55.    colour red 1.0 green 0.3
  56. }
  57.  
  58. // Put a floor underneath to catch any errant waves from the ripples 
  59. object {
  60.    plane { <0.0  1.0  0.0> -11.0  }
  61.    texture {
  62.       0.05
  63.       colour red 1.0 green 0.6
  64.       ambient 0.8
  65.       diffuse 0.0
  66.    }
  67.    colour red 1.0 green 0.6
  68. }
  69.  
  70. // Now draw the sky 
  71. object {
  72.    sphere { <0.0  0.0  0.0> 3500.0  }
  73.    texture {
  74.       onion
  75.       colour_map { [0.0 0.6  colour red 1.0 green 0.6 blue 0.0
  76.          colour red 0.3 green 0.6 blue 0.6]
  77.          [0.6 1.0 colour red 0.3 green 0.6 blue 0.6
  78.          colour red 0.1 green 0.4 blue 0.6]
  79.       }
  80.       scale <6000.0  1700.0  4000.0>
  81.       translate <-1200.0 220.0 2500.0>
  82.       ambient 0.8
  83.       diffuse 0.0   /* we don't want clouds casting shadows on the sky */
  84.    }
  85.    colour red 0.7  green 0.7 blue 1.0
  86. }
  87.  
  88. // Put in a few clouds 
  89. object {
  90.    plane { <0.0 1.0 0.0> 300.0  }
  91.  
  92.    texture {
  93.       bozo
  94.       turbulence 0.5
  95.       colour_map {
  96.          [0.0 0.6  colour red 1.0 green 1.0 blue 1.0 alpha 1.0
  97.          colour red 1.0 green 1.0 blue 1.0 alpha 1.0]
  98.          [0.6 0.8 colour red 1.0 green 1.0 blue 1.0 alpha 1.0
  99.          colour red 1.0 green 0.8 blue 0.1]
  100.          [0.8 1.001 colour red 1.0 green 0.8 blue 0.1
  101.          colour red 0.8 green 0.4 blue 0.2]
  102.       }
  103.       scale <1000.0  200.0  800.0>
  104.       ambient 0.7
  105.       diffuse 0.0
  106.    }
  107.    translate <-450.0 0.0 0.0>
  108.    rotate <6.0 0.0 0.0>
  109.    colour red 0.7 green 0.7 blue 1.0
  110. }
  111.  
  112. // Now to cast some light on the subject 
  113. object {
  114.    light_source { <-150.0  250.0  -400.0>
  115.       colour MediumGoldenrod
  116.    }       
  117. }
  118.  
  119. // Now to cast some more light on the subject 
  120. object {
  121.    union {
  122.       sphere { <0.0  0.0  0.0> 190.0
  123.          texture {
  124.             colour red 1.0 green 0.6 alpha 0.35
  125.             ambient 1.0
  126.             diffuse 0.0
  127.          }
  128.       }
  129.       light_source { <0 0 0> colour red 1.0 green 0.7 } 
  130.    }       
  131.    translate <-1300.0  380.0  2500.0>
  132. }
  133.