home *** CD-ROM | disk | FTP | other *** search
- // Persistence of Vision Raytracer
- // Sample file
- // By Dan Farmer
- { Script for a lawn with a swimming pool.
- Written by Dan Farmer. Takes quite a while to render because of
- the many textures and waveforms used. An interesting variation of this
- theme would be to change the view to look into the garden globe and see
- the rest of the scene as the reflection in the globe.
-
- As stated below, most of the garden globe structure was taken from the
- file "roman.dat" that was included with pvdat.
- }
-
- #include "colors.dat"
- #include "shapes.dat"
- #include "textures.dat"
-
- #declare Cube = intersection { this is a good one to add to basicsha.dat }
- plane <0.0 0.0 1.0> 1.0 end_plane
- plane <0.0 0.0 -1.0> 1.0 end_plane
- plane <0.0 1.0 0.0> 1.0 end_plane
- plane <0.0 -1.0 0.0> 1.0 end_plane
- plane <1.0 0.0 0.0> 1.0 end_plane
- plane <-1.0 0.0 0.0> 1.0 end_plane
- scale <1.0 1.0 1.0>
- end_intersection
-
- { Most of the garden globe is borrowed from "roman.dat"}
- {******************************************************}
- #declare Beam = quadric Cylinder_Y
- scale <0.5 20.0 0.5>
- translate <2.0 0.0 0.0>
- end_quadric
-
- { create a sample column for the base of the structure }
- #declare BaseColumn = object
- intersection
- union
- quadric Beam end_quadric
- quadric Beam rotate <0.0 -25.7 0.0> end_quadric
- quadric Beam rotate <0.0 -51.4 0.0> end_quadric
- quadric Beam rotate <0.0 -77.1 0.0> end_quadric
- quadric Beam rotate <0.0 -102.8 0.0> end_quadric
- quadric Beam rotate <0.0 -128.5 0.0> end_quadric
- quadric Beam rotate <0.0 -154.2 0.0> end_quadric
- quadric Beam rotate <0.0 -179.9 0.0> end_quadric
- quadric Beam rotate <0.0 -205.6 0.0> end_quadric
- quadric Beam rotate <0.0 -231.3 0.0> end_quadric
- quadric Beam rotate <0.0 -257.0 0.0> end_quadric
- quadric Beam rotate <0.0 -282.7 0.0> end_quadric
- quadric Beam rotate <0.0 -308.4 0.0> end_quadric
- quadric Beam rotate <0.0 -334.1 0.0> end_quadric
- end_union
- plane <0.0 1.0 0.0> 20.0 end_plane
- plane <0.0 -1.0 0.0> 0.0 end_plane
- end_intersection
- bounded_by
- intersection
- plane <0.0 1.0 0.0> 20.0 end_plane
- plane <0.0 -1.0 0.0> 0.0 end_plane
- quadric
- Cylinder_Y
- scale <2.51 1.0 2.51>
- end_quadric
- end_intersection
- end_bound
- texture
- White_Marble
- scale <10.0 10.0 10.0>
- ambient 0.4
- diffuse 0.9
- reflection 0.1
- end_texture
- colour red 0.8 green 0.0 blue 0.0
- end_object
-
- { and a rectangular pad to serve as a footing for the column }
- #declare BasePad = object
- intersection Cube
- scale <4.0 1.0 4.0>
- end_intersection
- bounded_by
- quadric
- QSphere
- scale <10.0 3.0 10.0>
- end_quadric
- end_bound
- texture
- White_Marble
- scale <10.0 10.0 10.0>
- ambient 0.4
- diffuse 0.9
- reflection 0.1
- end_texture
- colour red 0.6 green 0.6 blue 0.4
- end_object
-
- #declare Globe = object
- sphere <0.0 0.0 0.0> 5.0 end_sphere
- texture
- Mirror
- color CBlue
- end_texture
- color CBlue
- end_object
-
- #declare Garden_Globe = composite
- object BaseColumn translate <0.0 0.0 0.0> end_object
- object BasePad translate <0.0 -1.0 0.0> end_object
- object BasePad translate <0.0 21.0 0.0> end_object
- object Globe translate<0.0 26.0 0.0> end_object
- end_composite
- {******************** End of Garden Globe Epic ******************************}
-
- { Everybody's gotta have a point of view. }
- view_point
- location <0.0 30.0 -120.0>
- direction <0.0 0.0 1.0>
- up <0.0 1.0 0.0>
- right <1.33333 0.0 0.0>
- look_at <0.0 0.0 0.0>
- end_view_point
-
- { No, fool... i said _bud_ light! }
- object
- sphere <0.0 0.0 0.0> 2.0 end_sphere
- translate <100.0 200.0 -200.0>
- texture
- colour White
- ambient 1.0
- diffuse 0.0
- end_texture
- light_source
- colour White
- end_object
-
- { "The sky was the color of her eyes" }
- { ... and just as cloudy! }
- object
- sphere <0.0 -10000.0 -200.0> 15000.0 end_sphere
- texture
- 0.05
- Bright_Blue_Sky
- scale <7500.0 1000.0 5000.0>
- ambient 0.7
- diffuse 0.0
- end_texture
- colour red 0.5 green 0.5 blue 1.0
- end_object
-
- { Plant a little grass, well mowed. }
- object
- plane <0.0 1.0 0.0> 0.0 end_plane
- texture
- 0.05 { This value dithers the colours }
- color CGreen
- ripples 0.5
- frequency 2000.0
- scale <50000.0 50000.0 50000.0>
- end_texture
- color CGreen
- end_object
-
- { Now, we pour the concrete and set the tiles...}
- object
- difference
- intersection Cube
- scale <45.0 10.0 60.0>
- end_intersection
- intersection Cube { Inside box }
- scale <35.0 11.0 50.0>
- end_intersection
- end_difference
- translate <0.0 -8.0 0.0 >
- texture
- checker colour DarkTurquoise colour White
- scale <2.0 2.0 2.0>
- end_texture
- color DarkTurquoise
- end_object
-
- { Better put some water in the pool! }
- object
- intersection Cube
- scale <35.0 10.0 50.0>
- translate<0.0 -9.0 0.0>
- end_intersection
- texture
- 0.05
- color LightBlue {alpha 0.5 ?}
- ripples 0.5
- frequency 100.0
- scale <5.0 5.0 10.0>
- translate <20.0 4.0 -15.0> { Where the ball floats?? }
- reflection 0.5
- brilliance 3.0
- {?? refraction 1.0 { Doesn't really help the scene any... }
- ior 1.2 ?? }
- end_texture
- color LightBlue
- end_object
-
- { Let's add a diving board }
- object
- union
- intersection Cube { The board itself }
- scale <6.0 1.0 30.0 >
- translate <0.0 2.0 -30.0>
- end_intersection
- intersection Cube { a block under the board }
- scale <6.0 2.0 2.0 >
- translate <0.0 1.0 -30.0>
- end_intersection
- end_union
- texture
- Cherry_Wood
- 0.05
- scale <0.02 0.02 0.02>
- end_texture
- color Brown
- end_object
-
- { Float a red and white striped ball in the pool }
- object
- sphere <0.0 0.0 0.0> 5.0 end_sphere
- translate <20.0 4.0 -15.0> { Sorta right front center of pool }
- texture
- gradient < 1.0 1.0 0.0 >
- colour_map
- [0.00 0.25 colour White colour White ]
- [0.25 0.75 colour red 1.0 colour red 1.0]
- [0.75 1.001 colour White colour White ]
- end_colour_map
- scale <7.0 7.0 7.0>
- rotate <-30.0 30.0 0.0>
- ambient 0.3
- diffuse 0.7
- phong 0.5
- phongsize 10.0
- end_texture
- color CRed
- end_object
-
- { Place the garden globe on left side of pool }
- composite Garden_Globe translate <-60.0 0.0 0.0> end_composite
-
- { The hedge behind the pool }
- object
- intersection Cube end_intersection
- scale <200.0 30.0 30.0>
- translate <-100.0 0.0 180.0>
- texture
- 0.05 { This value dithers the colours }
- color YellowGreen
- turbulence 0.5
- spotted 0.5
- colour_map
- [0.00 0.25 colour YellowGreen colour CGreen ]
- [0.25 0.75 colour CGreen colour DarkGreen]
- [0.75 1.001 colour DarkGreen colour YellowGreen ]
- end_colour_map
- wrinkles 1.0
- frequency 2000.0
- scale <10.0 10.0 20.0>
- end_texture
- color YellowGreen
- end_object
-
- { The hedge on the right side of pool }
- object
- intersection Cube end_intersection
- scale <30.0 30.0 100.0>
- translate <100.0 0.0 -85.0>
- texture
- 0.05 { This value dithers the colours }
- color YellowGreen
- turbulence 0.5
- spotted 0.5
- colour_map
- [0.00 0.25 colour YellowGreen colour CGreen ]
- [0.25 0.75 colour CGreen colour DarkGreen]
- [0.75 1.001 colour DarkGreen colour YellowGreen ]
- end_colour_map
- wrinkles 1.0
- frequency 2000.0
- scale <10.0 10.0 20.0>
- end_texture
- color YellowGreen
- end_object
-
- { a low, squat shrub of some generic species }
- object
- quadric QSphere end_quadric
- scale <30.0 20.0 25.0>
- translate <-70.0 0.0 110.0>
- texture
- 0.05 { This value dithers the colours }
- color YellowGreen
- turbulence 0.5
- spotted 1.0
- colour_map
- [0.00 0.25 colour Khaki colour CGreen ]
- [0.25 0.50 colour CGreen colour DarkGreen]
- [0.50 0.75 colour DarkGreen colour MediumForestGreen]
- [0.75 1.001 colour MediumForestGreen colour YellowGreen ]
- end_colour_map
- wrinkles 1.0
- frequency 2000.0
- scale <5.0 5.0 5.0>
- end_texture
- color YellowGreen
- end_object
-