home *** CD-ROM | disk | FTP | other *** search
- // Persistence of Vision Raytracer
- // Sample file
- // By Ville Saari
- // Copyright (c) 1991 Ferry Island Pixelboys
-
- {
- *
- * PvRay scene description for chess board.
- *
- * Created: 01-Feb-91
- * Updated: 02-Mar-91
- *
- * This scene has 430 primitives in objects and 41 in bounding shapes and
- * it takes over 40 hours to render by standard amiga.
- *
- * If you do some nice modifications or additions to this file, please send
- * me a copy. My Internet address is:
- *
- * vsaari@niksula.hut.fi
- }
-
- #include "shapes.dat"
- #include "colors.dat"
- #include "textures.dat"
-
- view_point
- location <59 20 -48>
- direction <0 0 1>
- up <0 1 0>
- right <1.33 0 0>
- look_at <0 0 1>
- end_view_point
-
- object
- sphere <0 0 0> 1 end_sphere
- translate <800 600 -200>
- colour White
- texture
- colour White
- ambient 1
- diffuse 0
- end_texture
- light_source
- end_object
-
- #declare Pawn = union
- sphere <0 7 0> 1.5 end_sphere
-
- quadric QSphere
- scale <1.2 0.3 1.2>
- translate <0 5.5 0>
- end_quadric
-
- intersection
- plane <0 1 0> 5.5 end_plane
- quadric Hyperboloid_Y
- translate <0 5 0>
- scale <0.5 1 0.5>
- end_quadric
- plane <0 -1 0> -2.5 end_plane
- end_intersection
-
- quadric QSphere
- scale <2 0.5 2>
- translate <0 2.3 0>
- end_quadric
-
- intersection
- sphere <0 0 0> 2.5 end_sphere
- plane <0 -1 0> 0 end_plane
- end_intersection
- end_union
-
- #declare Rook = union
- intersection
- union
- plane < 1 0 0> -0.5 end_plane
- plane <-1 0 0> -0.5 end_plane
- plane < 0 1 0> 9 end_plane
- end_union
-
- union
- plane <0 0 1> -0.5 end_plane
- plane <0 0 -1> -0.5 end_plane
- plane <0 1 0> 9 end_plane
- end_union
-
- plane <0 1 0> 10 end_plane
- quadric Cylinder_Y scale <2 1 2> end_quadric
- quadric Cylinder_Y scale <1.2 1 1.2> inverse end_quadric
- plane <0 -1 0> -8 end_plane
- end_intersection
-
- intersection
- plane <0 1 0> 8 end_plane
- quadric Hyperboloid_Y
- scale <1 1.5 1>
- translate <0 5.401924 0>
- end_quadric
- plane <0 -1 0> -3 end_plane
- end_intersection
-
- quadric QSphere
- scale <2.5 0.5 2.5>
- translate <0 2.8 0>
- end_quadric
-
- intersection
- sphere <0 0 0> 3 end_sphere
- plane <0 -1 0> 0 end_plane
- end_intersection
- end_union
-
- #declare Knight = union
- intersection
- quadric Cylinder_Z
- scale <17.875 17.875 1>
- translate <-18.625 7 0>
- inverse
- end_quadric
-
- quadric Cylinder_Z
- scale <17.875 17.875 1>
- translate <18.625 7 0>
- inverse
- end_quadric
-
- quadric Cylinder_X
- scale <1 5.1 5.1>
- translate <0 11.2 -5>
- inverse
- end_quadric
-
- union
- plane <0 1 0> 0
- rotate <30 0 0>
- translate <0 9.15 0>
- end_plane
- plane <0 0 1> 0
- rotate <-20 0 0>
- translate <0 10 0>
- end_plane
- end_union
-
- union
- plane <0 -1 0> 0
- rotate <30 0 0>
- translate <0 7.15 0>
- end_plane
- plane <0 1 0> 0
- rotate <60 0 0>
- translate <0 7.3 0>
- end_plane
- end_union
-
- union
- plane <0 1 0> 0
- rotate <0 0 -45>
- end_plane
- plane <0 1 0> 0
- rotate <0 0 45>
- end_plane
- translate <0 9 0>
- end_union
-
- quadric Cylinder_Y scale <2 1 2> end_quadric
- sphere <0 7 0> 4 end_sphere
- end_intersection
-
- quadric QSphere
- scale <2.5 0.5 2.5>
- translate <0 2.8 0>
- end_quadric
-
- intersection
- sphere <0 0 0> 3 end_sphere
- plane <0 -1 0> 0 end_plane
- end_intersection
- end_union
-
- #declare Bishop = union
- sphere <0 10.8 0> 0.4 end_sphere
-
- intersection
- union
- plane <0 0 -1> -0.25 end_plane
- plane <0 0 1> -0.25 end_plane
- plane <0 1 0> 0 end_plane
- rotate <30 0 0>
- translate <0 8.5 0>
- end_union
-
- quadric QSphere
- scale <1.4 2.1 1.4>
- translate <0 8.4 0>
- end_quadric
-
- plane <0 -1 0> -7 end_plane
- end_intersection
-
- quadric QSphere
- scale <1.5 0.4 1.5>
- translate <0 7 0>
- end_quadric
-
- intersection
- plane <0 1 0> 7 end_plane
- quadric Hyperboloid_Y
- scale <0.6 1.4 0.6>
- translate <0 7 0>
- end_quadric
- plane <0 -1 0> -3 end_plane
- end_intersection
-
- quadric QSphere
- scale <2.5 0.5 2.5>
- translate <0 2.8 0>
- end_quadric
-
- intersection
- sphere <0 0 0> 3 end_sphere
- plane <0 -1 0> 0 end_plane
- end_intersection
- end_union
-
- #declare QueenAndKing = union
- sphere <0 10.5 0> 1.5 end_sphere
-
- intersection
- union
- sphere <1.75 12 0> 0.9 rotate <0 150 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 120 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 90 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 60 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 30 0> end_sphere
- sphere <1.75 12 0> 0.9 end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 -30 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 -60 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 -90 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 -120 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 -150 0> end_sphere
- sphere <1.75 12 0> 0.9 rotate <0 180 0> end_sphere
- inverse
- end_union
-
- plane <0 1 0> 11.5 end_plane
-
- quadric Cone_Y
- scale <1 3 1>
- translate <0 5 0>
- end_quadric
-
- plane <0 -1 0> -8 end_plane
- end_intersection
-
- quadric QSphere
- scale <1.8 0.4 1.8>
- translate <0 8 0>
- end_quadric
-
- intersection
- plane <0 1 0> 8 end_plane
- quadric Hyperboloid_Y
- scale <0.7 1.6 0.7>
- translate <0 7 0>
- end_quadric
- plane <0 -1 0> -3 end_plane
- end_intersection
-
- quadric QSphere
- scale <2.5 0.5 2.5>
- translate <0 2.8 0>
- end_quadric
-
- intersection
- sphere <0 0 0> 3 end_sphere
- plane <0 -1 0> 0 end_plane
- end_intersection
- end_union
-
- #declare Queen = union
- sphere <0 12.3 0> 0.4 end_sphere
- union QueenAndKing end_union
- end_union
-
- #declare King = union
- intersection
- union
- intersection
- plane <0 1 0> 13 end_plane
- plane <0 -1 0> -12.5 end_plane
- end_intersection
-
- intersection
- plane < 1 0 0> 0.25 end_plane
- plane <-1 0 0> 0.25 end_plane
- end_intersection
- end_union
-
- plane < 0 0 1> 0.25 end_plane
- plane < 0 0 -1> 0.25 end_plane
- plane < 1 0 0> 0.75 end_plane
- plane <-1 0 0> 0.75 end_plane
- plane < 0 1 0> 13.5 end_plane
- plane < 0 -1 0> -11.5 end_plane
- end_intersection
-
- union QueenAndKing end_union
- end_union
-
- #declare WWood = texture
- wood
- turbulence 0.1
- colour_map
- [ 0.0 0.35 colour red 0.7 green 0.4
- colour red 0.7 green 0.4 ]
- [ 0.35 1.0 colour red 0.95 green 0.62
- colour red 0.95 green 0.62 ]
- end_colour_map
- scale <0.6 1000.0 0.6>
- translate <200.0 0.0 100.0>
- specular 1
- roughness 0.02
- end_texture
-
- #declare BWood = texture
- wood
- turbulence 0.1
- colour_map
- [ 0.0 0.55 colour red 0.45 green 0.25
- colour red 0.45 green 0.25 ]
- [ 0.55 1.0 colour red 0.30 green 0.16
- colour red 0.30 green 0.16 ]
- end_colour_map
- scale <0.6 1000.0 0.6>
- translate <100.0 0.0 -200.0>
- specular 1
- roughness 0.02
- end_texture
-
- #declare WPawn = object
- union Pawn end_union
-
- bounded_by
- sphere <0 4 0> 4.72 end_sphere
- end_bound
-
- texture WWood end_texture
- colour red 0.95 green 0.62
- end_object
-
- #declare BPawn = object
- union Pawn end_union
-
- bounded_by
- sphere <0 4 0> 4.72 end_sphere
- end_bound
-
- texture BWood end_texture
- colour red 0.4 green 0.2
- end_object
-
- #declare WRook = object
- union Rook end_union
-
- bounded_by
- sphere <0 5 0> 5.831 end_sphere
- end_bound
-
- texture WWood end_texture
- colour red 0.95 green 0.62
- end_object
-
- #declare BRook = object
- union Rook end_union
-
- bounded_by
- sphere <0 5 0> 5.831 end_sphere
- end_bound
-
- texture BWood end_texture
- colour red 0.4 green 0.2
- end_object
-
- #declare WKnight = object
- union Knight end_union
-
- bounded_by
- sphere <0 5 0> 5.831 end_sphere
- end_bound
-
- texture WWood end_texture
- colour red 0.95 green 0.62
- end_object
-
- #declare BKnight = object
- union Knight end_union
- rotate <0 180 0>
-
- bounded_by
- sphere <0 5 0> 5.831 end_sphere
- end_bound
-
- texture BWood end_texture
- colour red 0.4 green 0.2
- end_object
-
- #declare WBishop = object
- union Bishop end_union
-
- bounded_by
- sphere <0 5.5 0> 6.265 end_sphere
- end_bound
-
- texture WWood end_texture
- colour red 0.95 green 0.62
- end_object
-
- #declare BBishop = object
- union Bishop end_union
- rotate <0 180 0>
-
- bounded_by
- sphere <0 5.5 0> 6.265 end_sphere
- end_bound
-
- texture BWood end_texture
- colour red 0.4 green 0.2
- end_object
-
- #declare WQueen = object
- union Queen end_union
-
- bounded_by
- intersection
- sphere <0 6 0> 6.71 end_sphere
- quadric Cylinder_Y scale <3 1 3> end_quadric
- end_intersection
- end_bound
-
- texture WWood end_texture
- colour red 0.95 green 0.62
- end_object
-
- #declare BQueen = object
- union Queen end_union
-
- bounded_by
- intersection
- sphere <0 6 0> 6.71 end_sphere
- quadric Cylinder_Y scale <3 1 3> end_quadric
- end_intersection
- end_bound
-
- texture BWood end_texture
- colour red 0.4 green 0.2
- end_object
-
- #declare WKing = object
- union King end_union
-
- bounded_by
- intersection
- sphere <0 6.5 0> 7.16 end_sphere
- quadric Cylinder_Y scale <3 1 3> end_quadric
- end_intersection
- end_bound
-
- texture WWood end_texture
- colour red 0.95 green 0.62
- end_object
-
- #declare BKing = object
- union King end_union
-
- bounded_by
- intersection
- sphere <0 6.5 0> 7.16 end_sphere
- quadric Cylinder_Y scale <3 1 3> end_quadric
- end_intersection
- end_bound
-
- texture BWood end_texture
- colour red 0.4 green 0.2
- end_object
-
- object { Sky }
- sphere <0 -39000 0> 40000 inverse end_sphere
-
- texture
- bozo
- turbulence 0.6
- colour_map
- [0 0.5 colour red 0.4 green 0.5 blue 1
- colour red 0.4 green 0.5 blue 1.0]
- [0.5 0.7 colour red 0.4 green 0.5 blue 1
- colour red 1 green 1 blue 1.0]
- [0.7 1 colour red 1 green 1 blue 1
- colour red 0.7 green 0.7 blue 0.7]
- end_colour_map
- scale <500 500 500>
- ambient 1
- diffuse 0
- end_texture
-
- colour red 0.4 green 0.5 blue 1
- end_object
-
- object { Ground }
- plane <0 1 0> -80 end_plane
-
- texture
- 0.05
- colour green 1
- ambient 0.5
- diffuse 0.5
- end_texture
- colour green 1
- end_object
-
- #declare Frame = intersection
- plane < 0 1 0> -0.0001 end_plane
- plane < 0 -1 0> 3 end_plane
- plane < 0 0 -1> 35 end_plane
- plane <-1 0 1> 0 end_plane
- plane < 1 0 1> 0 end_plane
- end_intersection
-
- composite
- composite
- object
- union
- intersection Frame end_intersection
- intersection Frame rotate <0 180 0> end_intersection
- end_union
-
- texture
- wood
- turbulence 0.3
- scale <0.8 1000 0.8>
- rotate <0 0 -88>
- translate <200 40 -20>
- specular 1
- roughness 0.02
- end_texture
-
- colour red 0.5 green 0.25
- end_object
-
- object
- union
- intersection Frame rotate <0 -90 0> end_intersection
- intersection Frame rotate <0 90 0> end_intersection
- end_union
-
- texture
- wood
- turbulence 0.3
- scale <0.8 1000 0.8>
- rotate <-91 0 0>
- translate <100 30 0>
- specular 1
- roughness 0.02
- end_texture
-
- colour red 0.5 green 0.25
- end_object
-
- object { Board }
- intersection
- plane < 1 0 0> 32 end_plane
- plane <-1 0 0> 32 end_plane
- plane < 0 1 0> 0 end_plane
- plane < 0 -1 0> 1 end_plane
- plane < 0 0 1> 32 end_plane
- plane < 0 0 -1> 32 end_plane
- end_intersection
-
- texture
- checker_texture
- texture
- marble
- turbulence 1.0
- colour_map
- [0.0 0.7 colour White
- colour White]
- [0.7 0.9 colour White
- colour red 0.8 green 0.8 blue 0.8]
- [0.9 1.0 colour red 0.8 green 0.8 blue 0.8
- colour red 0.5 green 0.5 blue 0.5]
- end_colour_map
- scale <0.6 1 0.6>
- rotate <0 -30 0>
- end_texture
- tile2
- texture
- granite
- scale <0.3 1 0.3>
- colour_map
- [0 1 colour Black
- colour red 0.5 green 0.5 blue 0.5]
- end_colour_map
- end_texture
- end_checker_texture
- scale <8 1 8>
- specular 1
- roughness 0.02
- reflection 0.25
- end_texture
-
- colour red 0.63 green 0.52 blue 0.45
- end_object
-
- object { Table }
- union
- intersection
- plane <0 1 0> -3 end_plane
- plane <0 -1 0> 8 end_plane
- sphere <0 -5.5 0> 55 end_sphere
- end_intersection
-
- intersection
- plane <0 1 0> -8 end_plane
- quadric Hyperboloid_Y
- scale <10 20 10>
- translate <0 -20 0>
- end_quadric
- end_intersection
- end_union
-
- texture granite
- scale <6 6 6>
- specular 1
- roughness 0.02
- reflection 0.3
- end_texture
-
- colour red 0.5 green 0.5 blue 0.5
- end_object
-
- bounded_by
- plane <0 1 0> 0 end_plane
- end_bound
- end_composite
-
- composite
- object WPawn translate <-28 0 -20> end_object
- object WPawn translate <-20 0 -20> end_object
- object WPawn translate <-12 0 -20> end_object
- object WPawn translate < -4 0 -20> end_object
- object WPawn translate < 4 0 -20> end_object
- object WPawn translate < 12 0 -20> end_object
- object WPawn translate < 20 0 -20> end_object
- object WPawn translate < 28 0 -20> end_object
-
- object WRook translate <-28 0 -28> end_object
- object WKnight translate <-20 0 -28> end_object
- object WBishop translate <-12 0 -28> end_object
- object WQueen translate < -4 0 -28> end_object
- object WKing translate < 4 0 -28> end_object
- object WBishop translate < 12 0 -28> end_object
- object WKnight translate < 20 0 -28> end_object
- object WRook translate < 28 0 -28> end_object
-
- bounded_by
- quadric Cylinder_X
- scale <1 9.56 9.56>
- translate <0 6.5 -24>
- end_quadric
- end_bound
- end_composite
-
- composite
- object BPawn translate <-28 0 20> end_object
- object BPawn translate <-20 0 20> end_object
- object BPawn translate <-12 0 20> end_object
- object BPawn translate < -4 0 20> end_object
- object BPawn translate < 4 0 20> end_object
- object BPawn translate < 12 0 20> end_object
- object BPawn translate < 20 0 20> end_object
- object BPawn translate < 28 0 20> end_object
-
- object BRook translate <-28 0 28> end_object
- object BKnight translate <-20 0 28> end_object
- object BBishop translate <-12 0 28> end_object
- object BQueen translate < -4 0 28> end_object
- object BKing translate < 4 0 28> end_object
- object BBishop translate < 12 0 28> end_object
- object BKnight translate < 20 0 28> end_object
- object BRook translate < 28 0 28> end_object
-
- bounded_by
- quadric Cylinder_X
- scale <1 9.56 9.56>
- translate <0 6.5 24>
- end_quadric
- end_bound
- end_composite
-
- bounded_by
- intersection
- plane <0 1 0> 13.5 end_plane
- sphere <0 -30 0> 63 end_sphere
- end_intersection
- end_bound
- end_composite
-