Main Site Links Resources Tutorials
News VB Gaming Code Downloads DirectX 7
Contact Webmaster VB Programming Product Reviews DirectX 8
  General Multimedia Articles DirectX 9
      Miscellaneous

Focus On Curves and Surfaces
Author: Kelly Dempski
Publisher: Premier Press
ISBN: 1-59200-007-X
Purchasing: [Amazon.Com] - RRP US$20.99
Reviewed: 9th February 2004

Front Cover Shot:

Overview

With the recent advances in real-time 3D graphics rendering, curved geometry has been of particular interest. Whereas artists used to have to approximate curved models using multiple linear segments (in order to keep the number of triangles minimal) we can now generate high density approximations that to all intents and purposes look 'curved'. For example, the Quake-3 engine was highly praised for its usage of such techniques.

Some of the visionaries in real-time (or even non real-time) 3D graphics claimed curved surfaces as being the next basic rendering primitive. This is a reasonably strong statement that is well beyond the context of this review, but nonetheless is an interesting concept - one that fully justifies reading a book like this.

NURBS (Non Uniform Rational B-Spline) rendering, one of the most common forms of 'curved surface' rendering, is regularly used to model more organic items - such as animal and plant life. One of the recent snowboarding games used NURBS surfaces to generate a more organic and realistic form of ski-slope in it's game environment. There are more than enough other contexts whereby a clever usage of NURBS not only simplifies modeling on the artists part, but also rendering on the programmers part.

The author of this book, Kelly Dempski, has written a previous book for the Premier Press Game Development series - "Real-Time Rendering Tricks and Techniques in DirectX" (read the review here). This is important simply because, having read over 50 books in the last few years I still keep this particular book within easy reach. It is one of 6-8 books that I regularly use as a reference for various projects that I work on - it is simply that good.

Grab your graphics calculator

This book is reasonably heavy on the mathematics, as such you may wish to have a calculator and a mathematical brain to hand... However, it's no where near as heavy as some of the more academic texts on the subject. It is a basic pre-requisite of a book on this subject - no discussion of surfaces (let alone curved surfaces) will be complete without a hefty does of mathematics at some point. 

It could be seen in either light, but the short-and-sweet format of the 'Focus On' series limits the mathematical depth. Such that you will be spared much of the heavy calculus-based derivations and proofs of the curve functions, yet at the same time this part is skipped more in favor of defining a result and using it. Whether you see this as good or bad depends entirely on what you are looking for from a book of this kind - I personally far prefer the focus on, and usage of, a resultant equation than a three page derivation of how/why said formulae exist!

Not like learning to walk up a vertical wall

If you'll excuse the pun, this book has a very reasonable learning curve. For a topic that, as a fundamental unit, is based on mathematics it is quite refreshing not to get destroyed by mathematical theory having only read the first 30 pages.

Curves, or more particularly, parametric equations are first explained in a strictly two-dimensional manner. This helps build up a basic understanding of what they are, and how each type of function differs. It's not until this 'base' is cemented that the book moves onto 3D surfaces (typically a multiplication of two n-dimensional parametric curves).

Having commented on the progression being reasonable, it's not quite a walk-through. Expect this book to be reasonably hard, yet I have to give huge respect to Kelly Dempski in that it is not impossible. Hard but still understandable is a quality that many technical books lack - on the unfortunate occasion the "introductory" chapters explaining the basic mathematics used throughout the book is more complex than the majority of the book, but definitely not in this case.

Applied theory

As mentioned, this book has a good coverage of the mathematics behind curved surfaces, yet this is not overly useful unless you know what to do with said theory. Dempski, as stated in the introduction, is an engineer - and is more concerned with implementing the techniques than theoretical 'musings'. This is clear throughout the book as there is quite a lot of discussion regarding the sample code and various tid-bits of code here and there, as opposed to all out implementation or all out theory.

The last chapter in this book is dedicated to the more practical implementations of curved surfaces in the Direct3D API. For all of the theory in this book, it is useful to have this chapter - explaining the finer points of sticking your head in the sand and letting D3D do the hard work for you. However, higher order surface rendering in D3D is a bit of an odd topic - it is highly dependent on the hardware, and the hardware vendors have been a bit random in their implementations (and some vendors enabling/disabling support with different software releases). As such, it is a useful topic - but due to no fault on the authors part, still a little ambiguous due to the D3D specification and the driver implementation.

But, using the code and techniques in this book the deficiencies of a specific API should be negligable - as you should be more than capable of writing your own implementation (one such implementation is available on this site, here).

In Conclusion

This is a slight exception for the 'Focus On' series; whereas most of the others reviewed on this site proved to be useful overviews/introductions to their respective field, this book is actually a good all-round book on curves and surfaces. As shown in the above link to a tutorial on this site, I've done a bit of work with higher order surface rendering, and having read this book it covers everything I found necessary to learn in order to write my initial sample - and gives more than enough extra info. As such, this book comes highly recommended to anyone who is interested in going beyond the trivial polygonal modeling/rendering tools.

Good Things Bad Things
Experienced author Useful for implementing, but possibly not enough maths for the hardcore readers.
Good on the maths, but not too heavy Depth limited by size - doesn't cover the full extremes of the field
Enough maths to make it a usable reference book as well as a learning book. Still a bit ambiguous how much use curved surface rendering is in practice.
Applied section particularly useful  
Reasonable CD included - all source code, few useful tools  

 

DirectX 4 VB 2000 Jack Hoxley. All rights reserved.
Reproduction of this site and it's contents, in whole or in part, is prohibited,
except where explicitly stated otherwise.
Design by Mateo
Contact Webmaster