ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Texturing&Modelling 2ed
Author:
David S. Ebert
ISBN:
0 12 228730 4
Publisher:
AP Professional
Pages:
415pp+CD
Price:
£39-95
Reviewer:
Francis Glassborow
Subject:
graphics
Appeared in:
11-1
By contrast to the previous book this is one aimed at the programmer. The opening sentence of the Preface isThis book imparts a working knowledge of procedural approaches in texturing, modeling(stet, that is how the author consistently spells that word - neither my dictionary nor MSWord's spellchecker agrees),shading, and animation.' The object-oriented programmer should not be put off by the use of the word 'procedural.' because this kind of low-level material will be encapsulated into objects. However what did disturb me a little was to find that the C source code in the book is a random mixture of K&R C and what seems to be ISO C.

Indeed the code does not bear close examination. For example on page 115 (in the context of ANSI C) the author offers the following coding trick to replace

floor()
from
math.h
with a macro:

#define floor(a) ((double)((long)(a) - ((a)<0.0)))

He maintains that on the three compilers he tried this he got a highly significant increase in execution speed. While I have every reason to believe him, the problem is that using the pre-processor to re-write reserved words is a nasty hack. Why not just write your code with an all- uppercase macro name that can be used to provide either the above macro or the ISO C

floor()
function.

Finding things like these leaves me a little unhappy. The authors are well aware of flaws in other published works on graphics coding so it would have been nice if they had been more consistent themselves. I suspect that the problems come from multiple authorship.

Having entered the above caveat on the source code, the technical content of the book seems to be good and as long as it is used for study rather than as a source of cut and paste code.

You should also be warned that to get full value you will need access to RenderMan (though most of the book is independent of this).

Finally, it is not clear from the copyright notice on the CD whether you are entitled to use any of the provided code either privately or as part of a distributed executable. Publishers must be clear in their own minds whether published code is simple to help understanding or is usable as is.

With my stated caveats, this is a good book and one well worth study if the subject matter is one that interests you. Just be careful.