1 // This work is licensed under the POV-Ray v3.7 distribution license.
2 // To view a copy of this license, visit http://www.povray.org/licences/v3.7/.
4 // Persistence Of Vision raytracer sample file.
5 // POV-Ray scene description for chess board.
7 // Copyright (c) 1991 Ferry Island Pixelboys
9 // This scene has 430 primitives in objects and 41 in bounding shapes and
10 // it takes over 40 hours to render by standard amiga.
12 // If you do some nice modifications or additions to this file, please send
13 // me a copy. My Internet address is: vsaari@niksula.hut.fi
18 // Note : CHESS2.POV was created from Ville Saari's chess.pov
20 // - Cchanged textures
21 // - Added camera blur and changed focal length
23 // - Modularized the code
24 // - Added felt pads to bottom of pieces
26 // remaining manual bounding commented out by Bob Hughes, August 31, 2001
36 #
include "textures.inc"
41 #
declare FB_Quality_Off
= 0;
42 #
declare FB_Quality_Fast
= 1;
43 #
declare FB_Quality_Default
= 2;
44 #
declare FB_Quality_High
= 3;
46 #
declare FB_Quality
= FB_Quality_High
;
49 location <59, 20, -55>
52 right x*image_width
/image_height
// keep proportions with any aspect ratio
55 #
if(FB_Quality
!= FB_Quality_Off
)
63 #
debug "\nNo focal blur used...\n"
65 #
case (FB_Quality_Fast
)
67 confidence 0.5 // default is 0.9
68 variance 1/64 // default is 1/128 (0.0078125)
69 #
debug "\nFast focal blur used...\n"
71 #
case(FB_Quality_Default
)
73 confidence 0.90 // default is 0.9
74 variance 1/128 // default is 1/128 (0.0078125)
75 #
debug "\nDefault focal blur used...\n"
77 #
case(FB_Quality_High
)
79 confidence 0.975 // default is 0.9
80 variance 1/255 // default is 1/128 (0.0078125)
81 #
debug "\nHigh Quality focal blur used...\n"
84 #
debug "\nNo focal blur used...\n"
88 light_source { <800, 600, -200> colour White
}
93 sphere { <0, 0, 0>, 2.5 }
96 cylinder { 0, y*0.35, 2.5 pigment { green 0.65 } }
102 sphere { <0, 0, 0>, 3 }
105 cylinder { 0, y*0.35, 3.0 pigment { green 0.65 } }
108 #
declare Pawn
= union {
109 sphere { <0, 7, 0>, 1.5 }
111 sphere { <0, 0, 0>, 1
112 scale <1.2, 0.3, 1.2>
126 sphere { <0, 0, 0>, 1
128 translate <0, 2.3, 0>
134 #
declare Rook
= union {
149 object { Cylinder_Y
scale <2, 1, 2> }
150 object { Cylinder_Y
scale <1.2, 1, 1.2> inverse }
156 object { Hyperboloid_Y
163 sphere { <0, 0, 0>, 1
164 scale <2.5, 0.5, 2.5>
171 #
declare Knight
= union {
174 scale <17.875, 17.875, 1>
175 translate <-18.625, 7, 0>
180 scale <17.875, 17.875, 1>
181 translate <18.625, 7, 0>
187 translate <0, 11.2, -5>
223 object { Cylinder_Y
scale <2, 1, 2> }
224 sphere { <0, 7, 0>, 4 }
227 sphere { <0, 0, 0>, 1
228 scale <2.5, 0.5, 2.5>
229 translate <0, 2.8, 0>
235 #
declare Bishop
= union {
236 sphere { <0, 10.8, 0>, 0.4 }
247 sphere { <0, 0, 0>, 1
248 scale <1.4, 2.1, 1.4>
255 sphere { <0, 0, 0>, 1
256 scale <1.5, 0.4, 1.5>
264 scale <0.6, 1.4, 0.6>
270 sphere { <0, 0, 0>, 1
271 scale <2.5, 0.5, 2.5>
278 #
declare QueenAndKing
= union {
279 sphere { <0, 10.5, 0>, 1.5 }
283 sphere { <1.75, 12, 0>, 0.9 rotate 150*y }
284 sphere { <1.75, 12, 0>, 0.9 rotate 120*y }
285 sphere { <1.75, 12, 0>, 0.9 rotate 90*y }
286 sphere { <1.75, 12, 0>, 0.9 rotate 60*y }
287 sphere { <1.75, 12, 0>, 0.9 rotate 30*y }
288 sphere { <1.75, 12, 0>, 0.9 }
289 sphere { <1.75, 12, 0>, 0.9 rotate -30*y }
290 sphere { <1.75, 12, 0>, 0.9 rotate -60*y }
291 sphere { <1.75, 12, 0>, 0.9 rotate -90*y }
292 sphere { <1.75, 12, 0>, 0.9 rotate -120*y }
293 sphere { <1.75, 12, 0>, 0.9 rotate -150*y }
294 sphere { <1.75, 12, 0>, 0.9 rotate 180*y }
308 sphere { <0, 0, 0>, 1
309 scale <1.8, 0.4, 1.8>
315 object { Hyperboloid_Y
316 scale <0.7, 1.6, 0.7>
322 sphere { <0, 0, 0>, 1
323 scale <2.5, 0.5, 2.5>
330 #
declare Queen
= union {
331 sphere { <0, 12.3, 0>, 0.4 }
332 object { QueenAndKing
}
335 #
declare King
= union {
357 object { QueenAndKing
}
360 #
declare WWood
= texture {
364 #
declare BWood
= texture {
368 #
declare WPawn
= object {
371 // bounded_by { sphere { <0, 4, 0>, 4.72 } }
375 pigment { quick_color red 0.95 green 0.62 }
379 #
declare BPawn
= object {
382 // bounded_by { sphere { <0, 4, 0>, 4.72 } }
386 pigment { quick_color red 0.4 green 0.2 }
390 #
declare WRook
= object {
393 // bounded_by { sphere { <0, 5, 0>, 5.831 } }
397 pigment { quick_color red 0.95 green 0.62 }
401 #
declare BRook
= object {
404 // bounded_by { sphere { <0, 5, 0>, 5.831 } }
408 pigment { quick_color red 0.4 green 0.2 }
412 #
declare WKnight
= object {
415 // bounded_by { sphere { <0, 5, 0>, 5.831 } }
419 pigment { quick_color red 0.95 green 0.62 }
423 #
declare BKnight
= object {
427 // bounded_by { sphere { <0, 5, 0>, 5.831 } }
431 pigment { quick_color red 0.4 green 0.2 }
435 #
declare WBishop
= object {
438 // bounded_by { sphere { <0, 5.5, 0>, 6.265 } }
442 pigment { quick_color red 0.95 green 0.62 }
446 #
declare BBishop
= object {
450 // bounded_by { sphere { <0, 5.5 ,0>, 6.265 } }
454 pigment { quick_color red 0.4 green 0.2 }
458 #
declare WQueen
= object {
463 sphere { <0, 6, 0>, 6.71 }
464 object { Cylinder_Y scale <3, 1, 3> }
470 pigment { quick_color red 0.95 green 0.62 }
474 #
declare BQueen
= object {
479 sphere { <0, 6, 0>, 6.71 }
480 object { Cylinder_Y scale <3, 1, 3> }
486 pigment { quick_color red 0.4 green 0.2 }
490 #
declare WKing
= object {
495 sphere { <0, 6.5, 0>, 7.16 }
496 object { Cylinder_Y scale <3, 1, 3> }
502 pigment { quick_color red 0.95 green 0.62 }
506 #
declare BKing
= object {
511 sphere { <0, 6.5, 0>, 7.16 }
512 object { Cylinder_Y scale <3, 1, 3> }
518 pigment { quick_color red 0.4 green 0.2 }
523 #
declare SkySphere
= sky_sphere { S_Cloud1
}
528 pigment { green 0.65 }
537 object { BPawn
translate <-28, 0, 20> }
538 object { BPawn
translate <-20, 0, 20> }
539 object { BPawn
translate <-12, 0, 20> }
540 object { BPawn
translate < -4, 0, 20> }
541 object { BPawn
translate < 4, 0, 20> }
542 object { BPawn
translate < 12, 0, 20> }
543 object { BPawn
translate < 20, 0, 20> }
544 object { BPawn
translate < 28, 0, 20> }
546 object { BRook
translate <-28, 0, 28> }
547 object { BKnight
translate <-20, 0, 28> }
548 object { BBishop
translate <-12, 0, 28> }
549 object { BQueen
translate < -4, 0, 28> }
550 object { BKing
translate < 4, 0, 28> }
551 object { BBishop
translate < 12, 0, 28> }
552 object { BKnight
translate < 20, 0, 28> }
553 object { BRook
translate < 28, 0, 28> }
558 scale <1, 9.56, 9.56>
559 translate <0, 6.5, 24>
567 object { WPawn
translate <-28, 0, -20> }
568 object { WPawn
translate <-20, 0, -20> }
569 object { WPawn
translate <-12, 0, -20> }
570 object { WPawn
translate < -4, 0, -20> }
571 object { WPawn
translate < 4, 0, -20> }
572 object { WPawn
translate < 12, 0, -20> }
573 object { WPawn
translate < 20, 0, -20> }
574 object { WPawn
translate < 28, 0, -20> }
576 object { WRook
translate <-28, 0, -28> }
577 object { WKnight
translate <-20, 0, -28> }
578 object { WBishop
translate <-12, 0, -28> }
579 object { WQueen
translate < -4, 0, -28> }
580 object { WKing
translate < 4, 0, -28> }
581 object { WBishop
translate < 12, 0, -28> }
582 object { WKnight
translate < 20, 0, -28> }
583 object { WRook
translate < 28, 0, -28> }
602 #
declare FramePiece
=
607 plane { <-1, 0, 1>, 0 } // 45 degree bevel
608 plane { < 1, 0, 1>, 0 } // 45 degree bevel
614 object { FramePiece
}
615 object { FramePiece
rotate 180*y }
630 object { FramePiece
rotate -90*y }
631 object { FramePiece
rotate 90*y }
645 box { <-32, -1, -32> <32, 0, 32>
654 [0.0 0.7 colour White
656 [0.7 0.9 colour White
657 colour red 0.8 green 0.8 blue 0.8]
658 [0.9 1.0 colour red 0.8 green 0.8 blue 0.8
659 colour red 0.5 green 0.5 blue 0.5]
677 colour red 0.5 green 0.5 blue 0.5]
699 sphere { <0, -5.5, 0>, 55 }
727 sky_sphere { SkySphere
}