home *** CD-ROM | disk | FTP | other *** search
/ PC Format 22 / Disk22.iso / TURTLE.ZIP / TURTLE01.POV
Text File  |  1993-04-20  |  11KB  |  444 lines

  1. //#include "colors.inc"
  2. //#include "textures.inc"
  3. //#include "shapes.inc"
  4. #include "parts.inc"
  5. camera
  6.  {  location  <  0.0       4.0     -13.5>
  7.     direction <  0.0       0.0       1.0>
  8.     up        <  0.0       1.0       0.0>
  9.     right     <  1.33333   0.0       0.0>
  10.     look_at   <  0         5         0  >
  11.  }
  12. //--- light source
  13. object
  14.  { light_source  { < -10 20 -30 > color White } }
  15.  
  16. fog {
  17.     color White
  18.     80000.0
  19.     }
  20.  
  21. /*The Sky*/
  22. object { quadric { Ellipsoid
  23.    scale <50000.0 50000.0 100000.0>
  24.    translate <0 -40000 0>
  25.    texture { 
  26.       0.05 
  27.       Bright_Blue_Sky
  28.       scale <8000.0 3000.0 8000.0>
  29.       ambient 0.6
  30.       diffuse 0.0
  31.    } // end of texture
  32.  } // end of Ellipsoid
  33.    colour Blue
  34. } // end of quadric object
  35.  
  36.  
  37. #declare Lozenge = 
  38.   quadric {
  39.    <1.0 1.0 1.0>
  40.    <0.0 0.0 0.0>
  41.    <0.0 0.0 0.0>
  42.   -1.0
  43.    }
  44.  
  45. //--- shell object
  46. #declare Shell =
  47. object
  48.    { quadric { Ellipsoid
  49.    scale <3.175 4.175 3.175>
  50.    translate <0 4 0>
  51.    texture
  52.    { Bright_Blue_Sky
  53.      turbulence  0.4
  54.      phong       1
  55.      phong_size 80
  56.      reflection  0.1
  57.      color_map {
  58.         [0.0 0.3 color Black color DarkOliveGreen]
  59.         [0.3 0.5 color DarkOliveGreen color DarkGreen]
  60.         [0.5 1.0 color DarkGreen color Green]
  61.         }
  62.      scale < 2 2 2 > } // end of texture
  63.      } // end of Ellipsoid
  64.      clipped_by { 
  65.         quadric { Cylinder_Y  scale <3 1 3> translate <-2.5 0 0> inverse }
  66.      } // end of clipped_by
  67.      rotate <0 -150 0>
  68.  } // end of quadric object
  69.       
  70. #declare Belly =
  71. object
  72.    { quadric { Ellipsoid
  73.    scale <3 4 3>
  74.    translate <0 4 0>
  75.        texture { image_map { gif "reptile.gif" map_type 0 }
  76.        scale <10 10 10>
  77.        rotate <0 20 0> }
  78.    rotate <0 -150 0>
  79.  } // end of quadric object
  80. }      
  81.  
  82. #declare Main_Belt =
  83. object
  84.    { quadric { Ellipsoid
  85.    scale <3.001 4.000 3.001>
  86.    translate <0 4 0>
  87.    texture { Phong_Dull color Black }
  88.  } // end of quadric object
  89. }      
  90.  
  91. #declare Limb = object { quadric { Ellipsoid } }
  92.  
  93. #declare Eyelid =
  94. object {
  95.    sphere { <0 0 0> 0.153
  96.       texture { image_map { gif "x_reptil.gif" map_type 0 }
  97.          brilliance 3.0
  98.          phong 1.0
  99.          scale <8 8 8>
  100.          rotate <0 20 0> 
  101.               } 
  102.          }
  103.      }
  104.  
  105. #declare Eyeball =
  106. object {
  107.    sphere { <0 0 0> 0.15
  108.             texture { Phong_Dull color White }
  109.           }
  110.         }
  111.  
  112. #declare Iris =
  113. object {
  114.    sphere { <0 0 -0.08> 0.1
  115.             texture { Phong_Dull color Black }
  116.           }
  117.         }
  118.  
  119. #declare Eye =
  120. composite {
  121.    object { Eyeball }
  122.    object { Iris    }
  123.           }
  124.  
  125. #declare Fish = 
  126. composite {
  127.    object { quadric { Ellipsoid 
  128.      scale <1.25 0.5 0.2>
  129.      rotate <0 0 15>
  130.      texture { image_map { gif "x_reptil.gif" map_type 0 }
  131.         brilliance 3.0
  132.         phong 1.0
  133.         scale <10 10 10>
  134.         rotate <0 20 0> } } }
  135.    composite { Eye rotate    <0 -45.0 0>
  136.                    rotate    <0 0 30>
  137.                    translate <0.5 0.25 -0.1> }
  138.    composite { Eye rotate    <180 0 0>
  139.                    rotate    <0  45.0 0> 
  140.                    rotate    <0 0 30>
  141.                    translate <0.5 0.25  0.1> }
  142.  }
  143.  
  144. #declare Cranium =
  145. object {
  146.    quadric {
  147.       Ellipsoid
  148.       scale <1.85 2.5 1.85>
  149.       rotate <0 0 20>
  150.       translate <2 8.3 -1>
  151.       texture { image_map { gif "reptile.gif" map_type 0 } scale <10 10 10> }
  152.       }
  153.    }
  154.  
  155. #declare Strap =
  156. object {
  157.    quadric {
  158.       Ellipsoid
  159.       scale <1.9 2.55 1.9>
  160.       rotate <0 0 20>
  161.       translate <2 8.3 -1>
  162.       texture { Phong_Dull color Orange }
  163.            } // end of quadric
  164.       clipped_by { 
  165.          plane { <0 1 0> 8.8 }
  166.          plane { <0 1 0> 8.5 inverse } 
  167.                  } // end of clipped_by
  168.         } // end of object
  169.  
  170. #declare Goggle =
  171. object {
  172.    quadric {
  173.       Cylinder_X
  174.       scale <1 0.75 0.75>
  175.       translate <2 8.65 -2>
  176.       texture { Phong_Dull color Orange }
  177.       }
  178.       clipped_by {
  179.          plane { <1 0 0> 3.85 }
  180.          plane { <1 0 0> 1.5 inverse }
  181.       } 
  182.   }
  183.  
  184. #declare Spear =
  185. object {
  186.    quadric {
  187.       Cylinder_Y
  188.       scale <0.095 1 0.095>
  189.       translate <4 7.6 -3>
  190.       texture { Brass_Metal
  191.           brilliance 3.0
  192.           phong 1.0 }
  193.       }
  194.       clipped_by {
  195.          plane { <0 1 0> 8.0 }
  196.          plane { <0 1 0> 0.5 inverse }
  197.          } 
  198.   }
  199.  
  200. #declare Half_Barb =
  201. object {
  202.    plane { <0 0 1> 0 }
  203.    texture { Brass_Metal
  204.       reflection 0.3
  205.       brilliance 3.0
  206.       phong 1.0  }
  207.    clipped_by {
  208.       plane { <0 1 0> 0 }
  209.       quadric { Paraboloid_X
  210.          rotate <0 0 30>
  211.          translate <0 -0.5 0> }
  212.       plane { <0 0 1> 1 }
  213.       }
  214. }
  215.  
  216. #declare Barb =
  217. composite {
  218.    object { Half_Barb rotate <-3 0 0> }
  219.    object { Half_Barb rotate <180 0 0> }
  220.           }
  221.  
  222.  
  223.  
  224. #declare Snorkel =
  225. object {
  226.    quadric {
  227.       Cylinder_Y
  228.       scale <0.3 1 0.3>
  229.       texture { Phong_Dull color Orange }
  230.    }
  231.       clipped_by {
  232.          plane { <0 1 0> 4 }
  233.          plane { <0 1 0> 0 inverse }
  234.       }
  235.  
  236. }
  237. #declare Abdomen =
  238. object
  239.    { quadric { Ellipsoid
  240.      scale <3 4 3>
  241.      translate <0 4 0>
  242.         texture { image_map { gif "shorts.gif" map_type 0 }
  243.         scale <10 10 10>
  244.         rotate <0 20 0> }
  245.    }  rotate <0 105 0> // end of Ellipsoid
  246. } // end of quadric
  247.  
  248.  
  249. #declare Midriff =
  250. object {
  251.   quartic {
  252.      < 1.0   0.0  0.0  0.0  2.0  0.0    0.0  2.0    0.0
  253.      -104.0  0.0  0.0  0.0  0.0  0.0    0.0  0.0    0.0
  254.         0.0  0.0  1.0  0.0  0.0  2.0    0.0  56.0   0.0
  255.         0.0  0.0  0.0  1.0  0.0 -104.0  0.0  784.0 >
  256. //        scale <0.3 0.3 0.3>
  257. //        texture { image_map { gif "reptile.gif" map_type 3 once } }
  258.         }
  259.         bounded_by {
  260.            sphere { <0.0 0.0 0.0> 10 }
  261.         }
  262. }
  263.  
  264. #declare Bulge =
  265. object {
  266.   quartic {
  267.      < 1.0   0.0  0.0  0.0  2.0  0.0    0.0   2.0    0.0
  268.     -104.0   0.0  0.0  0.0  0.0  0.0    0.0   0.0    0.0
  269.        0.0   0.0  1.0  0.0  0.0  2.0    0.0  56.0    0.0
  270.        0.0   0.0  0.0  1.0  0.0 -104.0  0.0  784.0 >
  271.           texture { image_map { gif "shorts.gif" map_type 0 }
  272.           scale <10 10 10>
  273.           rotate <0 20 0> } 
  274.           }
  275.           bounded_by {
  276.              sphere { <0.0 0.0 0.0> 10 }
  277.           }
  278. }
  279.  
  280.  
  281. #declare Front =
  282. composite {
  283. object { Belly }
  284. object { Midriff scale <0.305 0.305 0.305>  translate  <0 3 0> 
  285.    texture { image_map { gif "reptile.gif" map_type 0 }
  286.    scale <10 10 10>
  287.    rotate <0 20 0> } }
  288. object { Midriff scale <0.32 0.32 0.32> translate <0 3.8 0> 
  289.    texture { image_map { gif "reptile.gif" map_type 0 }
  290.    scale <10 10 10> 
  291.    rotate <0 20 0> } }
  292. object { Midriff scale <0.314 0.314 0.314> translate <0 4.79 0>
  293.    texture { image_map { gif "reptile.gif" map_type 0 }
  294.    scale <10 10 10>
  295.    rotate <0 20 0> } }
  296. }
  297.  
  298. #declare Belt =
  299. composite {
  300. object { Main_Belt }
  301. object { Midriff scale <0.306 0.306 0.306>  translate  <0 3 0> 
  302.    texture { Phong_Dull color Black } }
  303. object { Midriff scale <0.321 0.321 0.321> translate <0 3.8 0> 
  304.    texture { Phong_Dull color Black } }
  305. object { Midriff scale <0.315 0.315 0.315> translate <0 4.79 0>
  306.    texture { Phong_Dull color Black } }
  307. }
  308.  
  309. #declare Trunks =
  310. composite {
  311. object { Abdomen }
  312. object { Bulge scale <0.32 0.32 0.32> translate <0 3.8 0> }
  313. object { Bulge scale <0.305 0.305 0.305> translate <0 3 0> }
  314.           }
  315.  
  316. #declare Torso =
  317. composite { 
  318.       Front
  319.       clipped_by {
  320.          plane { <0 1 0> 2 
  321.          rotate <0 0 30>
  322.          rotate <0 30 0> inverse
  323. //         texture { image_map { gif "reptile.gif" map_type 1 once } }
  324.     }
  325.   }
  326. }
  327.  
  328. #declare Belt2 =
  329. composite { 
  330.       Belt
  331.       clipped_by {
  332.          plane { <0 1 0> 2.15
  333.          rotate <0 0 30>
  334.          rotate <0 30 0> }
  335.          plane { <0 1 0> 2.02
  336.          rotate <0 0 30>
  337.          rotate <0 30 0> inverse }
  338.                  }
  339.           }
  340.  
  341. #declare Trunks2 =
  342.    composite {
  343.       Trunks 
  344.       clipped_by {
  345.          plane { <0 1 0> 2
  346.          rotate <0 0 30> 
  347.          rotate <0 30 0> 
  348.          texture { image_map { gif "shorts.gif" map_type 0 }
  349.             scale <10 10 10> 
  350.             rotate <0 20 0> }
  351.          } // end of plane
  352.       } // end of clipped_by
  353.    } // end of composite
  354.  
  355. #declare Water =
  356. object { // The water
  357.    sphere { <0.0  -6400000.0  0.0> 6400000.75 }
  358.    texture {
  359.       turbulence 0.17
  360.       colour SeaGreen
  361.       ripples 0.35
  362.       frequency 100.0
  363.       ambient 0.1
  364.       diffuse 0.1
  365.       reflection 0.65
  366.       specular 0.5
  367.       roughness 0.03
  368.       scale <700.0 700.0 700.0>
  369.    }
  370. }
  371.  
  372. object    { Water }
  373.  
  374. #declare Turtle =
  375. composite {
  376. composite { Torso }
  377. composite { Trunks2 }
  378. composite { Belt2 }
  379. object    { Shell }
  380. object    { Cranium }
  381. object    { Strap }
  382. object    { Goggle }
  383. /*
  384. composite { Upper_Arm 
  385.      rotate    <0 30 0>
  386.      translate <1 6.2 -2.8> }
  387. composite { Upper_Arm
  388.      rotate    <0 25 0>
  389.      translate <1 3.86 -3.17> }
  390. */
  391. object { quadric { Lozenge 
  392.      rotate <0 45 0>
  393.      translate <0.3 6.2 -2.0>
  394.        texture { image_map { gif "reptile.gif" map_type 0 }
  395.        scale <10 10 10>
  396.        rotate <0 -20 0> }
  397.  } }
  398.  
  399. object { Limb 
  400.      scale <1.5 1.0 0.25>
  401.      rotate <0 0 45>
  402.      translate <0.5 6.2 -2.6>
  403.        texture { image_map { gif "reptile.gif" map_type 0 }
  404.        scale <10 10 10>
  405.        rotate <0 20 0> }
  406.  } 
  407.  
  408. object { Limb 
  409.      scale <1.25 0.75 0.2>
  410.      rotate <0 0 30>
  411.      rotate <0 15 0>
  412.      translate <2.55 6.3 -3.4>
  413.      texture { image_map { gif "reptile.gif" map_type 0 } scale <10 10 10> }
  414.  } 
  415.  
  416. object { Limb 
  417.      scale <1.25 0.95 0.2>
  418.      translate <1.75 6.4 -3.1>
  419.      texture { image_map { gif "reptile.gif" map_type 0 } scale <10 10 10> }
  420.  } 
  421.  
  422. object { Snorkel translate <3.5 9.5 3> }
  423.  
  424. } // end of Turtle
  425.  
  426. //composite { Fish rotate    <0 45 0>
  427. //                 translate < -1 5 -9 > }
  428.  
  429. composite { Fish translate < -4.5 0.73 -4.0 > }
  430. composite { Fish rotate    < 0 30 0 >
  431.                  translate < -5.0 0.65 0 > }
  432. composite { Fish rotate    < 0 25 0 >
  433.                  translate < -6.0 0.6 -2.0 > }
  434.  
  435. composite { Turtle rotate <0 0 -40> translate <-2.5 2.0 0.0> }
  436. composite { Bottom_Half }
  437. object    { Spear }
  438. composite { Barb 
  439.             scale     <0.3 0.3 1> 
  440.             rotate    <0   0  90>
  441.             translate <4   8  -3> }
  442. // object { plane { <1 0 0> 20 rotate <0 35 0> } }
  443. 
  444.