home *** CD-ROM | disk | FTP | other *** search
- // Persistence of Vision Raytracer
- // Sample file
- // By Tom Price
-
- #include "shapes.dat"
- #include "colors.dat"
- #include "textures.dat"
-
- #declare
- RedPencil = composite
- object
- intersection
- quadric Cylinder_Y scale <0.5 1.0 0.5> end_quadric
- plane <0.0 1.0 0.0> 30.0 end_plane
- plane <0.0 1.0 0.0> 0.0 inverse end_plane
- end_intersection
- texture
- 0.05
- ambient 0.3
- diffuse 0.7
- colour red 1.0
- end_texture
- end_object
-
- object
- intersection
- quadric Cylinder_Y scale <0.5 1.0 0.5> end_quadric
- plane <0.0 1.0 0.0> 32.0 end_plane
- plane <0.0 1.0 0.0> 30.0 inverse end_plane
- end_intersection
- texture
- 0.05
- ambient 0.3
- diffuse 0.7
- colour Tan
- end_texture
- end_object
- end_composite
-
- #declare
- GreenPencil = composite
- object
- intersection
- quadric Cylinder_Y scale <0.5 1.0 0.5> end_quadric
- plane <0.0 1.0 0.0> 30.0 end_plane
- plane <0.0 1.0 0.0> 0.0 inverse end_plane
- end_intersection
- texture
- 0.05
- ambient 0.3
- diffuse 0.7
- colour green 1.0
- end_texture
- end_object
- object
- intersection
- quadric Cylinder_Y scale <0.5 1.0 0.5> end_quadric
- plane <0.0 1.0 0.0> 32.0 end_plane
- plane <0.0 1.0 0.0> 30.0 inverse end_plane
- end_intersection
- texture
- 0.05
- ambient 0.3
- diffuse 0.7
- colour Tan
- end_texture
- end_object
- end_composite
-
- #declare
- BluePencil = composite
- object
- intersection
- quadric Cylinder_Y scale <0.5 1.0 0.5> end_quadric
- plane <0.0 1.0 0.0> 30.0 end_plane
- plane <0.0 1.0 0.0> 0.0 inverse end_plane
- end_intersection
- texture
- 0.05
- ambient 0.3
- diffuse 0.7
- colour blue 1.0
- end_texture
- end_object
- object
- intersection
- quadric Cylinder_Y scale <0.5 1.0 0.5> end_quadric
- plane <0.0 1.0 0.0> 32.0 end_plane
- plane <0.0 1.0 0.0> 30.0 inverse end_plane
- end_intersection
- texture
- 0.05
- ambient 0.3
- diffuse 0.7
- colour Tan
- end_texture
- end_object
- end_composite
-
- view_point
- location <0.0 40.0 -150.0>
- up <0.0 1.0 0.0>
- right <1.3333 0.0 0.0>
- look_at <0.0 0.0 0.0>
- end_view_point
-
- {The back wall}
-
- object
- plane <0.0 0.0 1.0> 200.0 end_plane
- texture
- 0.1
- ambient 0.3
- diffuse 0.7
- colour LightGray
- end_texture
- colour LightGray
- end_object
-
- {The ceiling}
- object
- plane <0.0 1.0 0.0> 500.0 end_plane
- texture
- 0.1
- ambient 0.3
- diffuse 0.7
- colour White
- end_texture
- end_object
-
-
- {The desk surface}
-
- object
- intersection
- plane <0.0 1.0 0.0> 2.0 end_plane
- plane <0.0 1.0 0.0> -2.0 inverse end_plane
- plane <0.0 0.0 1.0> 100.0 end_plane
- plane <0.0 0.0 1.0> -100.0 inverse end_plane
- plane <1.0 0.0 0.0> 125.0 end_plane
- plane <1.0 0.0 0.0> -125.0 inverse end_plane
- end_intersection
- translate <0.0 -20.0 0.0>
- texture
- 0.05
- ambient 0.4
- diffuse 0.6
- Dark_Wood
- scale <5.0 1.0 1.0>
- reflection 0.2
- brilliance 3.0
- end_texture
- end_object
-
- {Paperwork}
- object
- union
- triangle
- <0.0 0.0 0.0>
- <8.5 0.0 0.0>
- <0.0 0.0 -11.0>
- end_triangle
- triangle
- <0.0 0.0 -11.0>
- <8.5 0.0 -11.0>
- <8.5 0.0 0.0>
- end_triangle
- end_union
- scale <3.0 1.0 3.0>
- rotate <0.0 -30.0 0.0>
- translate <-20.0 -17.9 -40.0>
-
- texture
- 0.05
- ambient 0.1
- diffuse 0.4
- colour red 0.5 green 0.5 blue 0.3
- end_texture
- colour red 0.5 green 0.5 blue 0.3
- end_object
-
- {a glass paperweight}
- object
- intersection
- sphere <0.0 -5.0 0.0> 10.0 end_sphere
- plane <0.0 1.0 0.0> 0.0 inverse end_plane
- end_intersection
- translate <0.0 -17.8 -35.0>
- texture
- ambient 0.1
- diffuse 0.6
- colour red 0.3 green 0.5 blue 0.3 alpha 1.0
- reflection 0.1
- refraction 1.0
- ior 1.5
- brilliance 2.0
- end_texture
- end_object
-
- {The desk lamp}
-
- composite
- object
- intersection
- quadric Cylinder_Y scale <3.0 1.0 3.0> end_quadric
- plane <0.0 1.0 0.0> 40.0 end_plane
- plane <0.0 1.0 0.0> -18.0 inverse end_plane
- end_intersection
- texture
- Shiny
- 0.05
- ambient 0.2
- diffuse 0.7
- colour red 0.7 green 0.6 blue 0.1
- end_texture
- end_object
-
- object
- intersection
- quadric Cylinder_Y scale <25.0 1.0 25.0> end_quadric
- plane <0.0 1.0 0.0> 2.0 end_plane
- plane <0.0 1.0 0.0> -2.0 inverse end_plane
- end_intersection
- translate <0.0 -16.0 -5.0>
- texture
- 0.05
- ambient 0.3
- diffuse 0.6
- colour red 0.5 green 0.4 blue 0.1
- reflection 0.4
- brilliance 4.0
- bumps 0.1
- end_texture
- end_object
-
- object
- intersection
- quadric Cylinder_X scale <1.0 10.0 10.0> end_quadric
- quadric Cylinder_X scale <1.0 9.95 9.95> inverse end_quadric
- plane <0.0 1.0 0.0> 0.0 inverse end_plane
- plane <1.0 0.0 0.0> -30.0 inverse end_plane
- plane <1.0 0.0 0.0> 30.0 end_plane
- end_intersection
- translate <0.0 35.0 -13.0>
- texture
- Shiny
- 0.05
- ambient 0.5
- diffuse 0.5
- colour DarkGreen
- reflection 0.3
- brilliance 4.0
- end_texture
- end_object
-
- object
- union
- intersection
- sphere <-30.0 35.0 -13.0> 10.0 end_sphere
- sphere <-30.0 35.0 -13.0> 9.95 inverse end_sphere
- plane <0.0 1.0 0.0> 35.0 inverse end_plane
- plane <1.0 0.0 0.0> -30.0 end_plane
- end_intersection
- intersection
- plane <0.0 1.0 0.0> 35.0 inverse end_plane
- plane <1.0 0.0 0.0> 30.0 inverse end_plane
- sphere <30.0 35.0 -13.0> 10.0 end_sphere
- sphere <30.0 35.0 -13.0> 9.95 inverse end_sphere
- end_intersection
- end_union
- texture
- Shiny
- 0.05
- ambient 0.2
- diffuse 0.7
- colour red 0.7 green 0.6 blue 0.1
- end_texture
- end_object
-
-
- rotate <0.0 35.0 0.0>
- translate <50.0 0.0 30.0>
-
- end_composite
-
- {The fluorescent tube inside the lamp}
-
- object
- intersection
- quadric Cylinder_X end_quadric
- plane <1.0 0.0 0.0> -25.0 inverse end_plane
- plane <1.0 0.0 0.0> 25.0 end_plane
- end_intersection
- translate <0.0 43.0 -10.0>
- rotate <0.0 35.0 0.0>
- translate <50.0 0.0 30.0>
- texture
- colour White
- ambient 1.0
- diffuse 0.0
- end_texture
- light_source
- colour White
- end_object
-
- {The Picture itself}
-
- composite
- object
- intersection
- plane <1.0 0.0 0.0> 1.0 end_plane
- plane <1.0 0.0 0.0> -1.0 inverse end_plane
- plane <0.0 1.0 0.0> 1.0 end_plane
- plane <0.0 1.0 0.0> -1.0 inverse end_plane
- plane <0.0 0.0 1.0> 1.0 end_plane
- plane <0.0 0.0 1.0> -1.0 inverse end_plane
- end_intersection
- translate <1.0 1.0 1.0>
- scale <20.0 15.0 1.0>
- texture
- ambient 0.05
- diffuse 0.9
- imagemap <1.0 -1.0 0.0> gif "rough.gif" once
- interpolate 2.0
- end_map
- scale <40.0 30.0 1.0>
- scale <1.5 1.5 1.0>
- end_texture
- end_object
-
- { The picture frame }
- object
- union
- intersection
- union
- quadric Cylinder_Y scale <1.0 1.0 1.0> translate <41.0 0.0 0.0> end_quadric
- quadric Cylinder_Y scale <1.0 1.0 1.0> translate <-1.0 0.0 0.0> end_quadric
- end_union
- plane <0.0 1.0 0.0> 31.0 end_plane
- plane <0.0 1.0 0.0> -1.0 inverse end_plane
- end_intersection
- intersection
- union
- quadric Cylinder_X scale <1.0 1.0 1.0> translate <0.0 31.0 0.0> end_quadric
- quadric Cylinder_X scale <1.0 1.0 1.0> translate <0.0 -1.0 0.0> end_quadric
- end_union
- plane <1.0 0.0 0.0> 41.0 end_plane
- plane <1.0 0.0 0.0> -1.0 inverse end_plane
- end_intersection
- sphere <-1.0 -1.0 0.0> 1.0 end_sphere
- sphere <-1.0 31.0 0.0> 1.0 end_sphere
- sphere <41.0 -1.0 0.0> 1.0 end_sphere
- sphere <41.0 31.0 0.0> 1.0 end_sphere
- end_union
- texture
- 0.05
- Shiny
- colour red 0.6 green 0.5 blue 0.1
- ambient 0.3
- diffuse 0.7
- end_texture
- colour red 0.6 green 0.5 blue 0.1
- end_object
-
- scale <1.5 1.5 1.5>
- rotate <10.0 -35.0 0.0>
- translate <-65.0 -15.0 -25.0>
-
- end_composite
-
- {The pencil holder}
- composite
- object
- intersection
- quadric Cylinder_Y scale <5.0 1.0 5.0> end_quadric
- quadric Cylinder_Y scale <4.8 1.0 4.8> inverse end_quadric
- plane <0.0 1.0 0.0> 0.0 inverse end_plane
- plane <0.0 1.0 0.0> 15.0 rotate <-45.0 0.0 0.0> end_plane
- end_intersection
- texture
- 0.05
- Shiny
- ambient 0.3
- diffuse 0.7
- colour red 0.7 green 0.6 blue 0.1
- reflection 0.4
- brilliance 6.0
- end_texture
- end_object
- composite RedPencil
- rotate <0.0 0.0 -2.0>
- translate <1.0 0.0 1.0>
- end_composite
- composite GreenPencil
- rotate <0.0 0.0 2.0>
- translate <-1.0 3.0 0.0>
- end_composite
- composite BluePencil
- rotate <-2.0 0.0 3.0>
- translate <0.0 -2.0 -1.0>
- end_composite
- bounded_by
- intersection
- quadric Cylinder_Y scale <6.0 1.0 6.0> end_quadric
- plane <0.0 1.0 0.0> 36.0 end_plane
- plane <0.0 1.0 0.0> -4.0 inverse end_plane
- end_intersection
- end_bound
-
- rotate <0.0 45.0 0.0>
- translate <70.0 -18.0 -20.0>
-
- end_composite
-
- {The light source}
-
- object
- sphere <0.0 0.0 0.0> 20.0 end_sphere
- translate <20.0 100.0 -200.0>
- texture
- colour White
- ambient 0.3
- diffuse 0.0
- end_texture
- light_source
- colour White
- end_object
-