Home Page -------------------
[Home Page] - [Reviews Main]
-------------------

Book Review
Practical Ray Tracing in C by Craig A Lindley
ISBN: 0-471-57301-9       Publisher: Wiley       Pages: 506pp       Price: £.?
Categories:   graphics    
Reviewed by Michael Minihane in C Vu 5-3 (Mar 1993)
Ray tracing is a computer graphics technique which produces an image of a scene by tracing the paths taken by light rays through the scene. Results can be impressive but the technique is computationally expensive.

As well as basic ray tracing details the book provides the reader with much of the background information necessary for image production and storage. This is commendable as such information never seems to be available in one volume and is often assumed by more general graphics books. However, advanced ray tracing techniques are not discussed in any detail.

Two 5¼" high density IBM format discs are supplied with this softback book. These contain all of the listings from the book and the DKBTrace ray tracer (which has evolved into the Persistence of Vision, PoV, ray tracer) in both source and executable forms, together with example files. The files are compacted and must be extracted before use. Although the reader is expected to be a PC user, much of the information is generally applicable and DKBTrace has been ported to many platforms. A VGA adapter and a Borland compiler are assumed, but details of use under Microsoft C are given and the discs contain .EXE files as well as source files.

The book is split into two main sections. The first section deals with ray tracing from scratch to produce a complete working naive ray tracer. The essentials of ray tracing are explained using only one short chapter (which is all that is really required). The code is written to be easily expandable into a more sophisticated ray tracer. One neat feature is that the individual object types contain pointers to their intersection functions, this approach avoids switch statements which must be modified whenever a new object type is added to the system. The rest of the first section deals with:

Display Adaptors A very readable explanation of the VESA standard, colour modes and palettes which come together into a VGA/SuperVGA function library
Colour Quantisation How the range of colour values in an image is used to produce the values used when the image is displayed on screen. 256 and 32k colour mode examples are produced
Graphics Formats PCX, GIF, LZW compression and expansion, PCX to GIF conversion, PCX and GIF display
The second section is a gentle tutorial in the use of DKBTrace, a much more advanced ray tracer than that produced during section one which makes use of texture mapping, bounding volumes, CSG and input script files. The text states that some of the more advanced examples given take over thirty hours to produce on a 33MHz 486 when used with high resolution output; lower resolution output and less complex modelling reduce the time required to more manageable amounts, but the results are still far from instant. A maths coprocessor should be considered a necessity, which may make the book seem even more expensive!


Other Authors with the same surname

Lindley
Photographic Imaging Techniques in C++ by Craig Lindley  (Reviewed Jan 1996)
Practical Image Processing In C by Craig A. Lindley [Recommended]  (Reviewed Jul 1991)


Last Update - 13 May 2001.

To link to this review, please use the URL: http://www.accu.org/bookreviews/public/reviews/p/p001018.htm

Copyright © The Association of C & C++ Users 1998-2000. All rights reserved.

Mirrored from http://www.accu.org/