home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Raytrace & Morphing / SOS-RAYTRACE.ISO / programm / scripts / pov / xmas2 / xmas2.inc < prev    next >
Encoding:
Text File  |  1993-12-16  |  6.3 KB  |  190 lines

  1. //------POV 2.0 INCLUDE FILE FOR XMAS2.POV
  2. //---------------- A CHRISTMAS CARD, CANDLE, CANDYCANE, CANDLE HOLDER.
  3. //---------------------------- Jim Devonshire 1992-93
  4. #declare JimGold =
  5. texture { Brass_Metal }
  6.  
  7. #declare CenterHolder =
  8. composite {
  9. // tube
  10. object {
  11.     difference { intersection { Disk_Y scale < 1.2 1.5 1.2 > }
  12.     intersection { Disk_Y scale <1.19 1.49 1.19> translate <0 0.2 0> } }
  13.     texture { JimGold}
  14.     bounded_by { intersection { Disk_Y scale <1.5 2.2 1.5 > } } }
  15.  
  16. // tubeTop
  17. object { intersection {    difference {
  18.     sphere { < 0 0 0 > 15 }
  19.     sphere { < 0 0 0 > 8  } } 
  20.     plane { < 0 1 0 > 1 }
  21.     plane { < 0 1 0 > -1 inverse }}
  22. texture { JimGold }
  23.     bounded_by { sphere { <0 0 0 > 16 } }
  24. scale < 0.15 0.15 0.15 >
  25. translate < 0 1.65 0 >}}
  26.  
  27. #declare CandlHolder = 
  28. composite {
  29. // Bowl
  30. object { intersection {    difference {
  31.     sphere { < 0 0 0 > 12 }
  32.     sphere { < 0 8 0 > 16  } }
  33.     plane { < 0 1 0 > -4   }
  34.     plane { < 0 1 0 > -4  inverse translate <0 -4 0> } }
  35. texture { JimGold }
  36.     bounded_by { sphere { <0 0 0 > 13 } } }
  37. // Handle
  38. object { intersection {    difference {
  39.     sphere { < 0 0 0 > 10 }
  40.     sphere { < 0 0 0 > 9  } }
  41.     plane { < 0 1 0 > 1 }
  42.     plane { < 0 1 0 > -2 inverse translate < 0 -3 0 > } }
  43. texture { JimGold }
  44.     bounded_by { sphere { <0 0 0 > 11 } }
  45. scale < 0.35 0.35 0.35 >
  46. rotate < 90 0 0 >
  47. translate < 13.5 -3 0 > } }
  48.  
  49. #declare CanYellow = color red 1.0 green 1.0 blue 0.7
  50. #declare CandleColor = texture { ambient 0.3 diffuse 0.7  color Red
  51.     specular 1 roughness 0.05 }
  52.  
  53. #declare WickBottom =
  54. texture { color red 0.85 green 0.85 blue 0.85 ambient 0.3 diffuse 0.7 }
  55.  
  56. #declare WickTop =
  57. texture { color red 0.45 green 0.45 blue 0.45 ambient 0.3 diffuse 0.7 }
  58.  
  59. #declare Drool =
  60. object { quartic { Piriform sturm rotate <0 0 -90>}
  61. texture { CandleColor }
  62. bounded_by { quadric { Ellipsoid translate < 0 -0.8 0 > scale <0.8 0.8 0.8> }}}
  63.  
  64. #declare Ellipsoid = quadric {
  65.     <1 1 1>
  66.     <0 0 0>
  67.     <0 0 0>
  68.     -1
  69.  }
  70.  
  71. #declare Cylinder_Y = quadric {
  72.    <1.0 0.0 1.0>
  73.    <0.0 0.0 0.0>
  74.    <0.0 0.0 0.0>
  75.    -1.0
  76. }
  77.  
  78. #declare CandleBod =
  79. intersection { quadric { Cylinder_Y  }
  80.    plane { <0.0 1.0 0.0> -1 inverse }
  81.    plane { <0.0 1.0 0.0>  1 rotate <0 0 -5> } }
  82.  
  83. #declare Disk_Y =
  84. intersection { quadric { Cylinder_Y  }
  85.    plane { <0.0 1.0 0.0> -1 inverse }
  86.    plane { <0.0 1.0 0.0>  1  } }
  87.  
  88. #declare Flame =
  89. object { quartic { Piriform sturm rotate <0 0 -90> translate < 0 1 0 >}
  90. texture { wood color_map { [ 0.00 1.001 color Yellow color Red alpha 1.0 ] }
  91.     ambient 1.0 diffuse 0.3    scale <4 5 1> rotate <0 -8 0> }
  92. bounded_by { quadric { Ellipsoid scale <0.9 0.8 0.9 > translate <0 0.5 0 >} }
  93. scale <5 20 0.5> }
  94.  
  95. #declare CandlUnit =
  96. composite {
  97. object { // Candle
  98. difference { intersection { CandleBod scale <1 4 1> }
  99. sphere { <0.3 4.5 0> 1.1 }} texture { CandleColor }
  100. bounded_by { quadric { Ellipsoid scale <2 6 2> } } rotate < 0 60 0 > }
  101.  
  102. // Wick Bottom not burned
  103. object { intersection { Disk_Y } scale <0.09 1.5 0.09> translate <0 2.8 0>
  104.     texture { WickBottom scale <0.09 0.09 0.09> } }
  105. //Wick Top burned
  106. object { intersection { Disk_Y } scale <0.08 1.5 0.08> translate <0 3.1 0>
  107.     texture { WickTop scale <0.08 0.08 0.08> } }
  108. object { Flame  scale < 0.15 0.15 0.15 > translate < 0 4 0 > } /* 4.3*/
  109. object {  Drool  scale < 0.2 1 0.2 > translate <0.6 3.7 -0.8> }
  110. object {  Drool  scale < 0.2 1 0.2 > translate <0.8 3.68 -0.6> }
  111. object {  Drool  scale < 0.2 2 0.2 > translate <0.8 3.7 -0.6> }
  112. object {  Drool  scale < 0.2 1.7 0.2 > translate <0.5 3.66 -0.88> }
  113. object {  Drool  scale < 0.2 3 0.2 > translate <0.5 3.5 -0.8> } }
  114.  
  115. #declare Card =
  116. composite {
  117. object { box { UnitBox  }
  118. texture { ambient 0.5 diffuse 0.7  phong 0.5 phong_size 10 color White }
  119. texture { ambient 0.3 diffuse 0.7
  120. image_map { gif "snowman.gif" map_type 0 once interpolate 2 alpha 1 1.0 }
  121. translate <-0.5 -0.5 0.0> scale <1 1.5 1> translate <0 -0.2 0> }
  122. scale < 2 3 0.05 >
  123. rotate < 0 -65 0>
  124. translate < -1.8 0 0> }
  125.  
  126. object { box { UnitBox  }
  127. texture { ambient 0.3 diffuse 0.7 phong 0.5 phong_size 10 color White }
  128.  
  129. texture { ambient 0.3 diffuse 0.7
  130. image_map { gif "salutat.gif" map_type 0 once interpolate 2 alpha 0 1.0 }
  131. translate <-0.5 -0.5 0.0> scale <2 2 1>    translate < 0 0.2 0> }
  132.  
  133. texture {
  134. image_map { gif "sleigh.gif" map_type 0 once interpolate 2 alpha 1 1.0 }
  135. translate <-0.5 -0.5 0.0> scale <1 0.5 1>    translate < 0 -0.5 0> }
  136. scale < 2 3 0.05 > translate < 1 0 2> } }
  137.  
  138. // Table
  139. #declare Table = 
  140. object { box { UnitBox  }
  141. texture { DMFLightOak turbulence 0.15
  142. scale <3 1 1> rotate <70 0 0> rotate <0 -1 0> 
  143. ambient 0.3 diffuse 0.7 phong 0.5 phong_size 10 reflection 0.2 }
  144. bounded_by { box { UnitBox scale <4.1 0.3 4.1> } } scale < 9 0.2 9 > }
  145.  
  146. #declare Cane =
  147. composite {
  148. object { difference {
  149.     quartic {
  150.     <  1   0   0   0   2   0   0   2   0
  151.      -25   0   0   0   0   0   0   0   0
  152.        0   0   1   0   0   2   0  24   0
  153.        0   0   0   1   0 -25   0 144 >
  154. rotate <90 0 0>     }
  155. plane { <0 1 0> 0  } }
  156. texture { color White ambient 0.3 diffuse 0.7 specular 1.0 roughness 0.05 }
  157. texture { ambient 0.3 diffuse 0.7 image_map { gif "canemap.gif" map_type 0 
  158. interpolate 2 alpha 0 1.0  }
  159. translate <-0.5 -0.5 0.0> scale <30 30 30> rotate < 0 0 45> } }
  160. object { intersection { Disk_Y }  
  161. texture { color White ambient 0.3 diffuse 0.7 specular 1.0 roughness 0.05 }
  162. texture { ambient 0.3 diffuse 0.7 image_map { gif "canemap.gif" map_type 0 
  163. interpolate 2 alpha 0 1.0 }
  164. translate <-0.5 -0.5 0.0> scale <6 6 6>    rotate < 0 0 5>    translate < 0 0.2 0> }
  165. scale <0.5 8 0.5>  translate < -3.5 -8 0 > }
  166. bounded_by { box { UnitBox scale < 5 10 1.5 > translate < 0 -5.5 0> } } }
  167.  
  168. #declare or =
  169. object {  /* Outer Ring */
  170.    quartic {
  171.    < 1.0   0.0   0.0    0.0     2.0   0.0   0.0   2.0   0.0  -57.0
  172.      0.0   0.0   0.0    0.0     0.0   0.0   0.0   0.0   0.0    0.0
  173.      1.0   0.0   0.0    2.0     0.0  56.0   0.0   0.0   0.0    0.0
  174.      1.0   0.0 -57.0    0.0   800.0 >
  175.     }
  176. texture { JimGold }
  177.     bounded_by { sphere { <0 0 0> 10  }  } rotate <90 0 0> }
  178.  
  179. #declare Center =
  180. composite {
  181. composite { CenterHolder scale < 0.7 0.7 0.7>  translate < 0 0.5 0 > }
  182. composite { CandlUnit scale < 0.65 0.65 0.65> translate < 0 2.01 0 > }
  183. }
  184.  
  185. #declare WholeCandleUnit =
  186. composite {
  187. composite { Center translate < 0 0.7 0>}
  188. composite { CandlHolder scale < 0.3 0.3 0.3 > rotate <0 35 0> translate < 0 2.5 0> }
  189. }
  190.