Download PDF version of this article PDF

Essential RenderMan

Ian Stephenson, Springer-Verlag New York, Inc., 2007, $39.95, ISBN: 1846283442

RenderMan, a rendering API associated with film production, is an essential tool for creating many of the effects and images in recent animated films (such as Monsters Inc. and Finding Nemo). Essential RenderMan is a self-paced tutorial that facilitates the understanding of many of the features of the API. The tone of the book is set in the preface, where author Ian Stephenson explains why he wrote the first edition (2003) and the reason for the second edition.

In each chapter, Stephenson provides code segments or complete code and shows the resulting image. Many of these images are included in the color plates, with some extra images illustrating the power of RenderMan. Most chapters have a summary of the idea and include related commands. The book is divided into three parts: overview, geometry, and shading.

The overview includes what RenderMan is and isn’t; a summary of the RenderMan API features; where to get software that implements the API; and how to use the book. I urge you to follow the author’s suggestions.

The geometry section uses mostly spheres, although the standard teapot makes an appearance. Stephenson starts with a simple scene, extends it by using positioning commands, and then adds other round objects, such as cones. He then adds coloring options to the code and introduces camera and lighting features to enhance the final image. At this point, the surface is plain, which leads readers to the next four chapters, which address standard and complex surface types, shadows with shadow maps, motion blur, and depth of field. Stephenson shows the C language interface. I wondered why, until he used it to enhance an image with multiple objects and features (difficult to accomplish by hand coding).

The shading section deals with writing code for a variety of shaders, starting with the basic one introduced in part 2. The chapters cover, in order: simple lighting; color ramps; simple, tiling, and repeating patterns; projections and coordinate spaces, including the math details for those interested; painted textures; displacements; noise; aliasing and how it solves many, but not all, problems; highlights models; advanced lighting; and, finally, GI (global illumination). Stephenson points out the advantages and disadvantages of the various methods and shows ways to improve the final image with code samples.

I found the book to be a good introduction to the subject, although a bit terse in spots. On the flip side, Stephenson refers to a related Web site, which I could not find listed in the book, and the last three chapters have some misspelled words (not a lot, but enough to show a certain lack of care). — Howard Whitston

Enterprise Ajax: Strategies for Building High-performance Web Applications

David Johnson, Alexei White, Andre Charland, Prentice Hall PTR, 2007, $39.99, ISBN: 0132242060.

The authors of Enterprise Ajax explain why Ajax (Asynchronous JavaScript and XML) offers such great promise in large-scale development. The book was written for advanced enterprise developers, architects, and user interface designers, covering the key concepts and techniques of Ajax as a large-scale development methodology. The authors also systematically introduce today’s key Ajax techniques and components.

The best features of the book include: its in-depth coverage of the use of Ajax to implement MVC (model-view-controller) in the browser; how to encapsulate user interface functionality; how to avoid the security challenges associated with Ajax Web applications; and Ajax usability improvement, including the use of the back button, caching, bookmarking, and offline usage.

The Web site that complements the book ( contains code samples, case studies, tutorials, and demos. This is an essential feature for a book that addresses such a dynamic topic as Ajax.

Chapter 5 offers something new to the Ajax literature. It examines the Ajax development life cycle, identifying what is specific for Ajax applications. This chapter is important to project leaders who need to build a development framework and overcome the performance and security problems associated with Ajax.

This book is a necessary addition to the library of anyone interested in the development of robust enterprise Web applications. — Jose M. Ramirez


Originally published in Queue vol. 6, no. 2
see this item in the ACM Digital Library


© ACM, Inc. All Rights Reserved.