TITLE: "Mate in two."

NAME: Peter Jones

COUNTRY: Australia

EMAIL: pjones@powerup.com.au

WEBPAGE: http://www.powerup.com.au/~pjones/creative/raytrace.htm

TOPIC: Glass

COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.

JPGFILE: pj-chess.jpg

ZIPFILE: pj-chess.zip

RENDERER USED: POV-Ray 3.0 for Windows

TOOLS USED: PaintShop Pro 4.10 (file conversion); AutoCAD (shape of

knight,angle calculations) 



RENDER TIME: 20h21m Total (Box lid 17h35m; Box side 0h31m; Scene 2h15m)

HARDWARE USED: P133 with 24 Mb RAM



IMAGE DESCRIPTION: "Mate in two."

The game is almost over.  It is White's move - and the game can all be over in

two moves, if only the

player could find the right move.  Can you?  (Solution available if you want it,

from my web page! :))





DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 



There were several steps in the creation of this image.



The Chess Pieces:  Of course, a chess board is pretty useless without pieces, so

they were the first things

to be created.  Three bases were created: small for the pawns; medium for the

knights, rooks, and bishops;

large for the queen and king.  Onto these were placed the shapes of the pieces,

most of which are "lathe"

objects with various CSG additions and/or subtractions.  The knight was the

difficult one - after fiddling

with a few methods, I finally drew the outline in an AutoCAD pline, then

extracted the vertex coordinates

with a custom lisp routine.  I fed the coordinates into a POV-Ray "sweep"

object.  The pieces are defined

in "CHESSSET.INC".



The Piece Textures:  It didn't take long into the development of the pieces

(sometime before I finished

rendering the first pawn, in fact) before I confirmed that GLASS is a truly

horrendous material to work

with, as far as ray tracing is concerned anyway!  I wanted quick 'n easy

textures to use while building

my scene (black and white plastic, in fact), but I also wanted the ability to

switch easily between the

textures.  The result was a #declare variable which can be used to select any of

the predefined textures

in "CHESSTEX.INC".  (I have allowed for at least six, and more can be added

fairly easily, but at the time

I write this file I only have plastic and glass defined.)



The Chess Board:  After getting my pieces set up, I decided to make my chess

board configurable as well.

This resulted in a board which can have any size squares, any width border, and

any thickness - and as an

added bonus a complete set of pieces positioned correctly is also #declared

using a #switch statement

within a #while loop.  At the moment the board itself is restricted to wood

textures, but somewhere along

the way I may make that configurable too.  (I only hope that, one day, I have a

reason to actually use all

the flexibility I've programmed into it...)



The Box:  To create the image on the lid of the box, I rendered the file

"CHESSBOX.POV" at 800x600 with an

anti-alias factor of 0.1, then added the borders and text in PaintShop Pro to

make an image_map.  After

rendering this image (which took 17h35m) I spent a little while juggling the

filter (the "f" in rgbf) values

of my glass textures, but this would not have much impact on the picture I've

used (and I certainly wasn't

going to waste any time rendering it again...)  I used the final values with

"CHESSBX1.POV" to produce the

secondary picture of the two pawns on the side of the box.  (Created at 640x480,

no anti-aliasing, render

time approximately 31 minutes.  This was the image that sent me scuttling to

find "max_trace_level"!)  Then,

of course, they weren't visible in the final image...  The trickiest part of

making the box was the maths

required to prop the lid at an angle against the lower part of the box.



The Table: A simple glass table with chrome supports.



The Room: A simple room with four walls, a nice planking floor, and a plain

ceiling.  There is actually no

way to enter or leave the room: I've got plans for making doors and windows in

the walls, but I didn't

bother for this scene.  The ceiling has two light globes in it: a bright white

one in the centre of the

room, and a yellow one in the corner behind the camera.



The Game: The position of the game in progress is taken from a chess puzzle by

Taverner (1889).  I got the

puzzle from ChessMaster 5000.  The pieces were placed on the board, and all

excess pieces have been removed

by the players.  The piece of paper is there to: (a) protect the table, and (b)

give the white pieces

something to reflect/refract.  It is just a scan of the first thing that came to

hand: the back of my most

recent Mastercard statement :-)  To calculate the positioning of the pawns lying

on their sides I drew up

the profile in AutoCAD, determined the two most "outstanding" points, and

rotated the profile appropriately.

Then I could easily find the rotation angle and the offset distance of the

centre...



Before doing the final, full-size rendering of the image, I tweaked the texture

of my white pieces, giving

them the faintest hint of blue.  Then, after doing the final render (2h15m) I

realised that one of the black

knights had, um, escaped...  I considered changing the title of the image to

"One of our knights is missing",

but finally opted to put him back into the picture and run it again.



The ZIP file contains all of the POV and INC files required to recreate the

scenes.  I have also included GIF

conversions of the TGA files I used for the image maps.  I haven't included the

scan I used for the A4 sheet;

any appropriately sized image would do...  The contents of the ZIP file, then,

are:



        PJ-CHESS.POV    Source for the submitted image;

        CHESSSET.INC    Definitions of the chess pieces;

        CHESSTEX.INC    Selectable textures for the pieces;

        CHESSBRD.INC    Chess board, configurable;

        CHESSBOX.INC    Definition of box and lid;

        FURNITUR.INC    Definition of the table;

        ROOM.INC        Definition of the room;



        CHESSBOX.POV    Source for image on top of box lid;

        CHESSBX1.POV    Source for image on side of box lid;

        CHESSBOX.GIF    GIF files of post-processed image maps

        CHESSBX1.GIF      used on the box lid.

        CHESSBX2.GIF



Post-Processing Applied with Paintshop Pro:



        Converted the image to JPG format;

        Applied a gamma correction of 85;

        Added title and name to bottom left corner.





