home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #7 / amigamamagazinepolishissue1998.iso / varia / povray3 / povray3_fpu / povscn / level2 / lamppost.pov < prev    next >
Text File  |  1997-12-12  |  6KB  |  204 lines

  1. // Persistence Of Vision raytracer version 3.0 sample file.
  2. // Description: Old fashioned lamppost on a reflective floor
  3. // File by Anton Raves
  4.  
  5. #version 3.0
  6. global_settings { assumed_gamma 1 }
  7.  
  8. #include "shapes.inc"
  9. #include "colors.inc"
  10.  
  11. #declare Use_Arealights = true
  12. #if(Use_Arealights=false)
  13.     #debug "Try Use_Arealights=true\n"
  14. #end
  15.  
  16. camera
  17. {
  18.   location  <0, 95, -475>
  19.   direction 1.4*z
  20.   up        y
  21.   right     1.33*x
  22.   look_at   <0, 95, 0>
  23. }
  24.  
  25.  
  26. light_source { <190, 679, -250> color White
  27. #if(Use_Arealights)
  28.   area_light <25, 0, 0>, <0, 0, 25>, 5, 5
  29.   adaptive 1
  30.   jitter
  31. #end
  32. }
  33.  
  34. // To make things a little more interesting the light comes from ... a lightbulb
  35. // This should use "looks_like"
  36. light_source { <100, 179, -160> color Yellow * 1.5
  37. #if(Use_Arealights)
  38.   area_light <4, 0, 0>, <0, 0, 4>, 4, 4
  39.   adaptive 1
  40.   jitter
  41. #end
  42. }
  43. sphere { <100, 179, -160>, 3
  44.   texture { pigment { rgb<1, 1, 0.9> } finish { ambient 1 diffuse 1 } }
  45.   no_shadow
  46. }
  47.  
  48. // This is the glass2-texture from the TEXTURES.INC-file that I tweaked a little
  49. #declare Glass_tex =
  50. texture {
  51.   pigment { color red 1 green 1 blue 1 filter .4 }
  52.   finish { ambient .1 diffuse .1 reflection 0.5 refraction 1 ior 1.5 phong 0.3 phong_size 60 }
  53. }
  54.  
  55. // This is the gold-texture Mike Miller used in his SLUG1-scene
  56. #declare Gold_tex =
  57. texture {
  58.   pigment { color red .64 green .51 blue .05 }
  59.   finish { crand .02 ambient .3 diffuse .5 reflection .6 brilliance 8 specular .5 }
  60. }
  61.  
  62. #declare Lamp_tex =
  63. texture {
  64.   pigment { color Gray20 }
  65.   finish { ambient .1 phong .7 }
  66. }
  67.  
  68. #declare Vent_cutout =
  69. box { <-.5, -1.5, -1> <.5, 1.5, 1> }
  70.  
  71. #declare Collar_piece =
  72. union {
  73.   cylinder { .5*z, -.5*z, 1.5 translate <-4, 0, 0> }
  74.   cylinder { .5*z, -.5*z, 1.5 translate <4, 0, 0> }
  75.   box { <-4, -1.5, -.5> <4, 1.5, .5> }
  76. }
  77.  
  78. #declare Collar =
  79. union {
  80.   object { Collar_piece }
  81.   object { Collar_piece rotate -45*y }
  82.   object { Collar_piece rotate -90*y }
  83.   object { Collar_piece rotate -135*y }
  84.   object { Collar_piece rotate -180*y }
  85.   object { Collar_piece rotate -225*y }
  86.   object { Collar_piece rotate -270*y }
  87.   object { Collar_piece rotate -315*y }
  88. }
  89.  
  90. #declare Little_feature =
  91. union {
  92.   sphere { <0, 0, 0>, 1 }
  93.   triangle { <0, 2, 0> <0, 0, -1> <1, 0, 0> }
  94.   triangle { <0, 2, 0> <0, 0, -1> <-1, 0, 0> }
  95. }
  96.  
  97. #declare Little =
  98. union {
  99.   object { Little_feature translate <3.5, 0, 0> }
  100.   object { Little_feature translate <3.5, 0, 0> rotate -45*y }
  101.   object { Little_feature translate <3.5, 0, 0> rotate -90*y }
  102.   object { Little_feature translate <3.5, 0, 0> rotate -135*y }
  103.   object { Little_feature translate <3.5, 0, 0> rotate -180*y }
  104.   object { Little_feature translate <3.5, 0, 0> rotate -225*y }
  105.   object { Little_feature translate <3.5, 0, 0> rotate -270*y }
  106.   object { Little_feature translate <3.5, 0, 0> rotate -315*y }
  107. }
  108.  
  109. #declare support_piece =
  110. difference {
  111.   union {
  112.     cylinder { .5*z, -.5*z 1.5 }
  113.     box { <-1.5, -1.5, -.5> <0, 0, .5> }
  114.   }
  115.   cylinder { z, -z, .5 }
  116. }
  117.  
  118. #declare support =
  119. union {
  120.   difference {
  121.     cylinder { .5*z, -.5*z, 6 }
  122.     cylinder { z, -z, 5 }
  123.     plane { y, 0 inverse }
  124.     plane { x, 0 }
  125.   }
  126.   object { support_piece translate <6.5, 1.5, 0> }
  127. }
  128.  
  129. #declare Lamppost_stem =
  130. union {
  131.   cylinder { y, -y, 7 translate <0, 1, 0> }
  132.   cylinder { .5*y, -.5*y, 6 translate <0, 2.5, 0> }
  133.   cylinder { y, -y, 6.75 translate <0, 4, 0> }
  134.   cone { y, 5, -y, 6.75 translate <0, 6, 0> }
  135.   cylinder { 17*y, -17*y, 4.5 translate <0, 24, 0> }
  136.   cylinder { y, -y, 5 translate <0, 41, 0> }
  137.   cylinder { y, -y, 6.75 translate <0, 43, 0> }
  138.   cylinder { y, -y, 5 translate <0, 45, 0> }
  139.   cylinder { y, -y, 4 translate <0, 47.5, 0> }
  140.   cylinder { 2*y, -2*y, 3.5 translate <0, 51, 0> }
  141.   cylinder { .5*y, -.5*y, 4.5 translate <0, 53.5, 0> }
  142.   cylinder { 53*y, -53*y, 3.5 translate <0, 107, 0> }
  143.   object { Little translate <0, 69.5, 0> }
  144.   object { Collar translate <0, 135.5, 0> }
  145.   texture { Lamp_tex }
  146. }
  147.  
  148. #declare Lamppost_head =
  149. union {
  150.   sphere { <0, 0, 0>, .5 texture { Gold_tex } translate <0, 29.5, 0> }
  151.   cone { 1.5*y, 0, -1.5*y, 1 texture { Gold_tex } translate <0, 27.5, 0> }
  152.   cylinder { .5*y, -.5*y, 2 translate <0, 25.5, 0> }
  153.   cylinder { .5*y, -.5*y, 1 translate <0, 24.5, 0> }
  154.   cone { 1.5*y, 1, -1.5*y, 4 translate <0, 22.5, 0> }
  155.   cylinder { .5*y, -.5*y, 6 translate <0, 20.5, 0> }
  156.   difference {
  157.     cylinder { 2.5*y, -2.5*y, 4 translate <0, 17.5, 0> }
  158.     object { Vent_cutout translate <4, 17.5, 0> }
  159.     object { Vent_cutout translate <4, 17.5, 0> rotate -45*y }
  160.     object { Vent_cutout translate <4, 17.5, 0> rotate -90*y }
  161.     object { Vent_cutout translate <4, 17.5, 0> rotate -135*y }
  162.     object { Vent_cutout translate <4, 17.5, 0> rotate -180*y }
  163.     object { Vent_cutout translate <4, 17.5, 0> rotate -225*y }
  164.     object { Vent_cutout translate <4, 17.5, 0> rotate -270*y }
  165.     object { Vent_cutout translate <4, 17.5, 0> rotate -315*y }
  166.   }
  167.   cylinder { .5*y, -.5*y, 5 texture { Gold_tex } translate <0, 14.5, 0> }
  168.   cylinder { .5*y, -.5*y, 6 texture { Gold_tex } translate <0, 13.5, 0> }
  169.   cone { 3.5*y, 6, -3.5*y, 14 open translate <0, 9.5, 0> }
  170.   difference {
  171.     cylinder { y, -y, 16 translate <0, 5, 0> }
  172.     cylinder { 2*y, -2*y, 12 translate <0, 5, 0> }
  173.   }
  174.   cone { 11.5*y, 14, -11.5*y, 10 texture { Glass_tex } translate <0, -7.5, 0> }
  175.   object {
  176.     difference {
  177.       cylinder { y, -y, 10 translate <0, -20, 0> }
  178.       cylinder { 2*y, -2*y, 8 translate <0, -20, 0> }
  179.     }
  180.   }
  181.   box { <-9, -21, -1> <9, -19, 1> no_shadow }
  182.   box { <-1, -21, -9> <1, -19, 9> no_shadow }
  183.   object { support translate <3.5, -24, 0> no_shadow }
  184.   object { support translate <3.5, -24, 0> rotate 90*y no_shadow }
  185.   object { support translate <3.5, -24, 0> rotate 180*y no_shadow }
  186.   object { support translate <3.5, -24, 0> rotate 270*y no_shadow }
  187.   cylinder { 4.5*y, -4.5*y, 1.5 texture { Gold_tex } translate <0, 9.5, 0> }
  188.   texture { Lamp_tex }
  189. }
  190.  
  191. #declare Lamppost =
  192. union {
  193.   object { Lamppost_stem }
  194.   object { Lamppost_head translate <0, 189, 0> }
  195. }
  196.  
  197. object { Lamppost translate <100, -10, -160> }
  198. plane { y, -10
  199.   texture {
  200.     pigment { color Gray30 }
  201.     finish { ambient .2 reflection .4 }
  202.   }
  203. }
  204.