home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / resources / jpeg / scenes / Tie < prev    next >
Encoding:
Text File  |  1995-04-03  |  4.7 KB  |  237 lines

  1. //  Mike Williams
  2. //   111 Evering Road
  3. //    LONDON N16 7SL
  4.  
  5. #include "colors"
  6. #include "textures"
  7. #include "shapes"
  8. #declare Starry_Sky =
  9. texture
  10. { marble
  11.   turbulence 1
  12.   ambient 1
  13.   diffuse 0
  14.   colour_map
  15.   { [0.0 0.97 colour Black colour Black]
  16.     [0.97 1.01 colour Black colour White]
  17.   }
  18. }
  19.  
  20. camera {
  21.    location  <20 1 -40>
  22.    direction <0 0 1.5>  // FOV control
  23.    up        <0 1 0>
  24.    right     <1.25 0 0>
  25.    look_at   <0 0 0>
  26.    rotate    <0 0 30>
  27. }
  28.  
  29. object { light_source { <-50 80 -50> color White }}
  30. object { light_source { < 50 90 -50> color White }}
  31.  
  32. //Floor at -16
  33. object
  34. { plane {<0 1 0> -16 }
  35.   rotate <0 0 50>
  36.    texture { colour Gray60 }
  37.    colour Tan
  38. }
  39.  
  40. // Sky Sphere
  41. object 
  42. { sphere {<0 0 0> 1000}
  43.    texture { Starry_Sky }
  44.    colour SkyBlue
  45. }
  46.  
  47.  
  48. //******************** HULL *********************
  49.  
  50. object
  51. { difference 
  52.   { union
  53.     { difference
  54.       { sphere {<0 0 0> 5} 
  55.         box {<-5 -0.1 -5><5 0.1 5>}
  56.         box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 30>}
  57.         box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 60>}
  58.         box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 90>}
  59.         box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 120>}
  60.         box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 150>}
  61.       }
  62.       sphere {<0 0 0> 4.9}
  63.     }
  64.     intersection { Disk_Z scale <3 3 3> translate <0 0 -3>}
  65.   }
  66.   rotate <0 0 15>
  67.   bounded_by {sphere {<0 0 0> 5.1}}
  68.   texture {Chrome_Texture}
  69. }
  70.  
  71. object
  72. { union
  73.   { box { <-6 -1.5 -1.5> <6 1.5 1.5> }
  74.     intersection {Disk_X scale <2.5 1 1> translate <-8.5 0 0>}
  75.     intersection {Disk_X scale <2.5 1 1> translate < 8.5 0 0>}
  76.     intersection {Disk_X scale <0.5 1.25 1.25> translate < 8.5 0 0>}
  77.     intersection {Disk_X scale <0.5 1.25 1.25> translate <-8.5 0 0>}
  78.   }
  79.   bounded_by {box {<-11 -1.5 -1.5><11 1.5 1.5>}}
  80.   texture {Chrome_Texture}
  81. }
  82.  
  83. //************************* WINGS **************
  84.  
  85. #declare WPart1 =
  86. intersection
  87. { box {<-6 0 -0.2><13 7 0.2>}
  88.   plane {<-1 1 0> 10}
  89.   plane {<7 13 0> 91}
  90. }
  91.  
  92. #declare WPart2 =
  93. intersection
  94. { box {<0.6 0.6 -1><10 6 1>}
  95.   plane {<7 13 0> 80}
  96. }
  97.  
  98. #declare WPart3 =
  99. intersection
  100. { box {<-5.4 0.6 -1><-0.6 6.4 1>}
  101.   plane {<-9 9 0> 81}
  102. }
  103.  
  104. #declare WPart4 =
  105. union
  106. { triangle {<0 0 0><13 0 0><0 7 0>}
  107.   triangle {<0 0 0><0 7 0><-3 7 0>}
  108.   triangle {<0 0 0><-3 7 0><-6 4 0>}
  109.   triangle {<0 0 0><-6 4 0><-6 0 0>}
  110. }
  111.  
  112. #declare WPart123 =
  113. difference
  114. { intersection {WPart1}
  115.   intersection {WPart2}
  116.   intersection {WPart3}
  117. }
  118.  
  119. #declare Blade =
  120. composite
  121. { object
  122.   { intersection {WPart123}
  123.     texture {colour Gray70}
  124.     bounded_by { box {<-6 0 -0.2><13 7 0.2>}}
  125.     colour Gray70
  126.   }
  127.   object
  128.   {union {WPart4}  
  129.     texture {colour Gray20}
  130.     bounded_by { box {<-6 0 -0.2><13 7 0.2>}}
  131.     colour Gray20
  132.   }
  133. }
  134.  
  135. #declare WPart5 =
  136. object
  137. { difference
  138.   { box {<-6 -3 -0.2><0 3 0.2>}
  139.     box {<-5 1 -1><-1 2 1>}
  140.     box {<-5 -2 -1><-1 -1 1>}
  141.   }
  142.     texture {colour Gray70}
  143.     bounded_by { box {<-6 -3 -0.2><0 3 0.2>}}
  144.     colour Gray70
  145. }
  146.  
  147. #declare WPart6 =
  148. object
  149. { box {<-6 -3 -0.1><0 3 0.1>}
  150.   texture {colour Gray20}
  151.   colour Gray20
  152. }
  153.  
  154. #declare WPart56 =
  155. composite
  156. { object {WPart5}
  157.   object {WPart6}
  158. }
  159.  
  160.  
  161. #declare Wing =
  162. composite
  163. { composite {WPart56}
  164.   composite {Blade rotate <-30 0 0> translate <0 3 0>}
  165.   composite {Blade rotate <-150 0 0> translate <0 -3 0>}
  166. }
  167.  
  168. composite {Wing rotate <0 90 0> translate <11 0 0>}
  169. composite {Wing rotate <0 0 180> rotate <0 -90 0> translate <-11 0 0>}
  170.  
  171.  
  172.  
  173. //*************** Window **************
  174.  
  175. #declare Window = intersection {
  176.    box {<-1.5 0 -1.5> <1.5 1.1 1.5>}
  177.    plane { <1 0 0> 1  rotate <0 0 40> }
  178.    plane { <-1 0 0> 1 rotate <0 0 -40>}
  179.    plane { <0 0 1> 1  rotate <-40 0 0>}
  180.    plane { <0 0 -1> 1 rotate <40 0 0>}
  181.    plane { <1 0 0> 1  rotate <0 0 40> rotate <0 45 0>}
  182.    plane { <-1 0 0> 1 rotate <0 0 -40> rotate <0 45 0>}
  183.    plane { <0 0 1> 1  rotate <-40 0 0> rotate <0 45 0>}
  184.    plane { <0 0 -1> 1 rotate <40 0 0> rotate <0 45 0>}
  185.    plane { <0 -1 0> 0 }
  186. }
  187.  
  188. object 
  189. { intersection {Window }
  190.   bounded_by {box {<-1.5 0 -1.5> <1.5 1.4 1.5>}}
  191.   rotate <-90 0 0> scale <3 3 1.5> translate <0 0 -3.4>
  192.   clipped_by {intersection { Disk_Z scale <3 3 3> translate <0 0 -4>}}
  193.  
  194.   texture {colour Gray70 alpha 0.7 phong 1}
  195.   colour Yellow
  196. }
  197.  
  198. //*********** Lasers *********************
  199.  
  200. object
  201. { intersection { Disk_Z }
  202.   scale <0.2 0.2 2>
  203.   translate <-2 -4 -2>
  204.   texture {Chrome_Texture}
  205.   colour Green
  206. }
  207. object
  208. { intersection { Disk_Z }
  209.   scale <0.2 0.2 2>
  210.   translate <2 -4 -2>
  211.   texture {Chrome_Texture}
  212.   colour Green
  213. }
  214.  
  215. object
  216. { intersection {Disk_Z}
  217.   scale <0.1 0.1 100>
  218.   translate <-2 -4 -100>
  219.   texture {colour red 1 green 0.5 blue 0.5 alpha 0.9
  220.            ambient 3 diffuse 0}
  221.   colour Red
  222.   no_shadow
  223. }
  224.  
  225. object
  226. { intersection {Disk_Z}
  227.   scale <0.1 0.1 100>
  228.   translate <2 -4 -100>
  229.   texture {colour red 1 green 0.5 blue 0.5 alpha 0.9
  230.            ambient 3 diffuse 0}
  231.   colour Red
  232.   no_shadow
  233. }
  234.  
  235.  
  236.  
  237.