home *** CD-ROM | disk | FTP | other *** search
- // Persistence Of Vision raytracer version 3.1 sample file.
- // Description: Old fashioned lamppost on a reflective floor
- // File by Anton Raves
-
-
- global_settings { assumed_gamma 1 }
-
- #include "shapes.inc"
- #include "colors.inc"
-
- #declare Use_Arealights = true;
- #if(Use_Arealights=false)
- #debug "Try Use_Arealights=true\n"
- #end
-
- camera
- {
- location <0, 95, -475>
- direction 1.4*z
- up y
- right 1.33*x
- look_at <0, 95, 0>
- }
-
-
- light_source { <190, 679, -250> color White
- #if(Use_Arealights)
- area_light <25, 0, 0>, <0, 0, 25>, 5, 5
- adaptive 1
- jitter
- #end
- }
-
- // To make things a little more interesting the light comes from ... a lightbulb
- // This should use "looks_like"
- light_source { <100, 179, -160> color Yellow * 1.5
- #if(Use_Arealights)
- area_light <4, 0, 0>, <0, 0, 4>, 4, 4
- adaptive 1
- jitter
- #end
- }
- sphere { <100, 179, -160>, 3
- texture { pigment { rgb<1, 1, 0.9> } finish { ambient 1 diffuse 1 } }
- no_shadow
- }
-
- // This is the glass2-texture from the TEXTURES.INC-file that I tweaked a little
- #declare Glass_tex =
- texture {
- pigment { color red 1 green 1 blue 1 filter .4 }
- finish { ambient .1 diffuse .1 reflection 0.5 phong 0.3 phong_size 60 }
- }
-
- // This is the gold-texture Mike Miller used in his SLUG1-scene
- #declare Gold_tex =
- texture {
- pigment { color red .64 green .51 blue .05 }
- finish { crand .02 ambient .3 diffuse .5 reflection .6 brilliance 8 specular .5 }
- }
-
- #declare Lamp_tex =
- texture {
- pigment { color Gray20 }
- finish { ambient .1 phong .7 }
- }
-
- #declare Vent_cutout =
- box { <-.5, -1.5, -1> <.5, 1.5, 1> }
-
- #declare Collar_piece =
- union {
- cylinder { .5*z, -.5*z, 1.5 translate <-4, 0, 0> }
- cylinder { .5*z, -.5*z, 1.5 translate <4, 0, 0> }
- box { <-4, -1.5, -.5> <4, 1.5, .5> }
- }
-
- #declare Collar =
- union {
- object { Collar_piece }
- object { Collar_piece rotate -45*y }
- object { Collar_piece rotate -90*y }
- object { Collar_piece rotate -135*y }
- object { Collar_piece rotate -180*y }
- object { Collar_piece rotate -225*y }
- object { Collar_piece rotate -270*y }
- object { Collar_piece rotate -315*y }
- }
-
- #declare Little_feature =
- union {
- sphere { <0, 0, 0>, 1 }
- triangle { <0, 2, 0> <0, 0, -1> <1, 0, 0> }
- triangle { <0, 2, 0> <0, 0, -1> <-1, 0, 0> }
- }
-
- #declare Little =
- union {
- object { Little_feature translate <3.5, 0, 0> }
- object { Little_feature translate <3.5, 0, 0> rotate -45*y }
- object { Little_feature translate <3.5, 0, 0> rotate -90*y }
- object { Little_feature translate <3.5, 0, 0> rotate -135*y }
- object { Little_feature translate <3.5, 0, 0> rotate -180*y }
- object { Little_feature translate <3.5, 0, 0> rotate -225*y }
- object { Little_feature translate <3.5, 0, 0> rotate -270*y }
- object { Little_feature translate <3.5, 0, 0> rotate -315*y }
- }
-
- #declare support_piece =
- difference {
- union {
- cylinder { .5*z, -.5*z 1.5 }
- box { <-1.5, -1.5, -.5> <0, 0, .5> }
- }
- cylinder { z, -z, .5 }
- }
-
- #declare support =
- union {
- difference {
- cylinder { .5*z, -.5*z, 6 }
- cylinder { z, -z, 5 }
- plane { y, 0 inverse }
- plane { x, 0 }
- }
- object { support_piece translate <6.5, 1.5, 0> }
- }
-
- #declare Lamppost_stem =
- union {
- cylinder { y, -y, 7 translate <0, 1, 0> }
- cylinder { .5*y, -.5*y, 6 translate <0, 2.5, 0> }
- cylinder { y, -y, 6.75 translate <0, 4, 0> }
- cone { y, 5, -y, 6.75 translate <0, 6, 0> }
- cylinder { 17*y, -17*y, 4.5 translate <0, 24, 0> }
- cylinder { y, -y, 5 translate <0, 41, 0> }
- cylinder { y, -y, 6.75 translate <0, 43, 0> }
- cylinder { y, -y, 5 translate <0, 45, 0> }
- cylinder { y, -y, 4 translate <0, 47.5, 0> }
- cylinder { 2*y, -2*y, 3.5 translate <0, 51, 0> }
- cylinder { .5*y, -.5*y, 4.5 translate <0, 53.5, 0> }
- cylinder { 53*y, -53*y, 3.5 translate <0, 107, 0> }
- object { Little translate <0, 69.5, 0> }
- object { Collar translate <0, 135.5, 0> }
- texture { Lamp_tex }
- }
-
- #declare Lamppost_head =
- union {
- sphere { <0, 0, 0>, .5 texture { Gold_tex } translate <0, 29.5, 0> }
- cone { 1.5*y, 0, -1.5*y, 1 texture { Gold_tex } translate <0, 27.5, 0> }
- cylinder { .5*y, -.5*y, 2 translate <0, 25.5, 0> }
- cylinder { .5*y, -.5*y, 1 translate <0, 24.5, 0> }
- cone { 1.5*y, 1, -1.5*y, 4 translate <0, 22.5, 0> }
- cylinder { .5*y, -.5*y, 6 translate <0, 20.5, 0> }
- difference {
- cylinder { 2.5*y, -2.5*y, 4 translate <0, 17.5, 0> }
- object { Vent_cutout translate <4, 17.5, 0> }
- object { Vent_cutout translate <4, 17.5, 0> rotate -45*y }
- object { Vent_cutout translate <4, 17.5, 0> rotate -90*y }
- object { Vent_cutout translate <4, 17.5, 0> rotate -135*y }
- object { Vent_cutout translate <4, 17.5, 0> rotate -180*y }
- object { Vent_cutout translate <4, 17.5, 0> rotate -225*y }
- object { Vent_cutout translate <4, 17.5, 0> rotate -270*y }
- object { Vent_cutout translate <4, 17.5, 0> rotate -315*y }
- }
- cylinder { .5*y, -.5*y, 5 texture { Gold_tex } translate <0, 14.5, 0> }
- cylinder { .5*y, -.5*y, 6 texture { Gold_tex } translate <0, 13.5, 0> }
- cone { 3.5*y, 6, -3.5*y, 14 open translate <0, 9.5, 0> }
- difference {
- cylinder { y, -y, 16 translate <0, 5, 0> }
- cylinder { 2*y, -2*y, 12 translate <0, 5, 0> }
- }
- cone { 11.5*y, 14, -11.5*y, 10 interior {ior 1.5} texture { Glass_tex } translate <0, -7.5, 0> }
- object {
- difference {
- cylinder { y, -y, 10 translate <0, -20, 0> }
- cylinder { 2*y, -2*y, 8 translate <0, -20, 0> }
- }
- }
- box { <-9, -21, -1> <9, -19, 1> no_shadow }
- box { <-1, -21, -9> <1, -19, 9> no_shadow }
- object { support translate <3.5, -24, 0> no_shadow }
- object { support translate <3.5, -24, 0> rotate 90*y no_shadow }
- object { support translate <3.5, -24, 0> rotate 180*y no_shadow }
- object { support translate <3.5, -24, 0> rotate 270*y no_shadow }
- cylinder { 4.5*y, -4.5*y, 1.5 texture { Gold_tex } translate <0, 9.5, 0> }
- texture { Lamp_tex }
- }
-
- #declare Lamppost =
- union {
- object { Lamppost_stem }
- object { Lamppost_head translate <0, 189, 0> }
- }
-
- object { Lamppost translate <100, -10, -160> }
- plane { y, -10
- texture {
- pigment { color Gray30 }
- finish { ambient .2 reflection .4 }
- }
- }
-