home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / graphics / ftpovscn / 2 / magglass.pov < prev    next >
Text File  |  1992-07-21  |  2KB  |  91 lines

  1. // Persistence of Vision Raytracer
  2. // Magnifying glass created using POV-Ray's refraction.
  3. // A convex lens created with CSG 
  4. // (and something to view through it)
  5. // This example doesn't work very well, but it gives a good 
  6. // starting point for a better use of the magnifying glass.
  7.  
  8.  
  9. #include "colors.inc"
  10. #include "shapes.inc"
  11. #include "textures.inc"
  12. #include "fov.inc"                  // Field of view constants
  13. #include "ior.inc"                  // Index of refraction constants
  14.  
  15.  
  16.  
  17. camera {
  18.    location <0.0  2  -10>
  19.    direction <0.0 0.0  FoV_60>     // 60o field of view
  20.    up  <0.0  1.0  0.0>
  21.    right <1.33333 0.0 0.0>
  22.    look_at <0 0 0>
  23. }
  24.  
  25.  
  26. object { light_source  { <30 50 -50>  color White  } }
  27. object { light_source  { <-30 10 20>  color Gray50  } }
  28.  
  29. fog { color Gray50 200}         // This fog reaches max density at 200z
  30.  
  31. // Background sphere
  32. object {
  33.     sphere { <0 0 0> 1 }
  34.     texture {
  35.         0.015
  36.         gradient <0 1 0>
  37.         color_map {
  38.             [0.0 1.0 color Gray80 color Gray30]
  39.         }
  40.     }
  41.     scale <10000 10000 10000>
  42. }
  43.  
  44. // A lens.  This uses the Ellipsoid quadric to make it independantly
  45. // scalable, but it would be faster to use spheres.
  46. // It is designed "sideways" so you can see the thickness.
  47. // It is then rotated 90o on Y so the viewer is looking through the lens.
  48. #declare Lens_Thickness = 0.35
  49. #declare Lens_Diameter = 1.5
  50. #declare Lens = object {
  51.     intersection {
  52.         quadric { Ellipsoid scale <1.5 1.5 1.5> translate < 0.75 0 0> }
  53.         quadric { Ellipsoid scale <1.5 1.5 1.5> translate <-0.75 0 0> }
  54.     }
  55.     texture {
  56.         Glass2                           // Try Glass and Glass3, too
  57.         ior Flint_Glass_Ior              // Over-ride the Glass IOR value
  58.         reflection 0                     // Over-ride reflection, too
  59.     }
  60.     scale <Lens_Thickness Lens_Diameter Lens_Diameter >
  61. }
  62.  
  63.  
  64. object { plane { <0 1 0> -4 }
  65.     texture {
  66.         checker
  67.             color HuntersGreen
  68.             color SummerSky
  69.         scale <3 1 3>
  70.         ambient 0.2
  71.         diffuse 0.6
  72.     }
  73. }
  74.  
  75. object { Lens rotate <0 80 0> }
  76.  
  77. // A sphere in the distance
  78. object { sphere { <3 1 30> 2 } texture { Phong_Shiny color Orange }}
  79.  
  80. object { quadric { Cylinder_X }
  81.     rotate <0 -75 0>
  82.     translate <0 -3 25>
  83.     texture {
  84.         Phong_Shiny
  85.         granite
  86.         scale <2 2 2>
  87.         ambient 0.25
  88.         diffuse 0.6
  89.     }
  90. }
  91.