[Home Page] - [Reviews Main] | |
| 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) |
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!
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.