COMPUTER GRAPHICS & OPENGL

Texturing and Modeling

This classic tutorial-reference on procedural approaches to texturing and modeling in computer graphics, now in a Second Edition, is a "must read" for anyone involved in creating computer graphics and animation. The First Edition helped to define the procedural approach to texturing and modeling and the Second Edition continues that tradition. With six new chapters covering topics such as volumetric cloud modeling with implicit functions to interacting with virtual actors, this new edition presents the state of the art and will be as valuable to readers of the first edition as to first-time readers. Key Features: -- Discusses the design and implementation of essential procedural primitives such as noise and turbulence. -- Introduces volumetric cloud modeling. -- Describes procedural character animation techniques, including facial animation. -- Shows how to exploit the inherent multi-resolution capability of procedural models. -- Discusses the use of genetic techniques for generating textures. -- Describes the use of fractals for generating realistic mountains, landscapes, and planets. Texturing & Modeling: A Procedural Approach, Second Edition is written at a useable level by the developers of the techniques and includes extensive explanations of how the techniques work as well as how to design new functions. The Second Edition also includes additional full-color examples and illustrations of the techniques presented in the text. All of the procedures are presented in C code segments or RenderMan shading language and are provided on the enclosed CD-ROM.

Practical Algorithms for 3D Computer Graphics

The topics covered in this book provide the tools for creating a complete suite of programs for three-dimensional computer animation, modeling, and image synthesis. The text takes the reader from the construction of polygonal models of objects through rigid body animation into hierarchical character animation, and finally down the rendering pipeline for the synthesis of realistic images. This book is useful to anyone who wants to learn about 3D graphics programming, game programmers, movie animators, and anyone beginning a career in an industry associated with computer graphics. It also serves as a reference to a wide range of practical algorithms. The level extends to the needs of more experienced professional software developers, for example those who wish to write plugin modules for any 3D application program or commercially available game engine.

Computer Graphics Using Open GL (2nd Edition)

New edition of an introduction to computer graphics for students who wish to learn the basic principles and techniques of the field and want to write substantial graphics applications themselves. With an emphasis upon 3D computer graphics, Hill (electrical and computer engineering, U. of Massachusetts) shows how to translate a particular design task first into its underlying geometric components, to find a suitable mathematical representation for the objects involved, and finally to translate this representation into suitable algorithms and program codes.

cover OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL, Version 1.2
(August 1999)

The OpenGL Programming Guide, now in its third edition, is the definitive volume for programmers using this evolving graphics interface standard. Written by members of the OpenGL Architecture Review Board, this book offers understandable tutorials and lessons on getting up to speed and getting the most out of the latest version of OpenGL, version 1.2. The guide uses code examples in C and is targeted at programmers who have experience in coding yet are new to coding for OpenGL applications. The opening chapters go into descriptive detail of how OpenGL, the software interface for hardware 3-D chipsets, works and what you can expect from it, which turns out to be much more than you might have thought. Color plates are used, for example, to show how OpenGL handles such effects as motion blur and depth-of-field blur, in addition to shadows and texture mapping. This is not a beginner's guide to programming computer graphics. Some previous knowledge of both programming in general and computer graphics in particular is required. For example, code snippets are used to describe how to implement these effects, but because OpenGL is platform-independent, some code examples may need to be modified when used with your specific compiler.

cover OpenGL SuperBible, Second Edition
(December 1999)

The OpenGL SuperBible lives up to its name: nearly 700 pages of examples, function descriptions, and code snippets for the Windows-based programmer trying to get up to speed on coding OpenGL graphics. This new edition has been revised and updated to include OpenGL 1.2, which offers more features and tighter integration with hardware accelerators than any earlier version. Sections are logically broken down into graphics fundamentals and an introduction to OpenGL, the "Meat and Potatoes" of OpenGL rendering, and the specifics of OpenGL programming for Windows. Long on examples and function descriptions, the book is a bit short on pictures, color plates, and screen shots. However, the accompanying CD-ROM has all the examples used in the book, some other exciting examples of OpenGL programming (the flight simulator with the terrain generator is remarkably smooth, for example), and the OpenGL library toolkits (GLUT 3.7, MESA 3, ZLIB 1.1.3, and others). It doesn't contain, however, a searchable electronic version of the book, which would have been very valuable given its complexity. But the book is thorough, and it covers every aspect of OpenGL programming, making it a good reference for anyone who codes for graphics applications, in spite of its shortcomings. Mike Caputo

cover OpenGL Programming for the X Window System
(August 1996)

Created by Silicon Graphics, Inc., OpenGL has become the industry standard for the 3D graphics programming community. From SGI's X Windows graphics expert, who developed the utility toolkit which serves as the cornerstone of OpenGL, this book explains how the OpenGL libraries are implemented under X Windows allowing programmers to take advantage of the ease and functionality of OpenGL.

cover Linux 3D Graphics Programming
(April 2001)

There are currently no directly competitive titles on the market that provide the serious Linux programmer and developer with an overview of how to use 3-D graphics with this rapidly growing operating system. Norman Lin focuses on using C++ code relative to the 3-D graphics programming under Linux. The author focuses on providing illustrations of each graphics concept with self-contained code examples and then provides the programmer with the integration of each concept into a larger 3D engine framework. The programmer then is able to use this framework and create a real-time, portal-based engine. The title includes a very distinctive CD which contains a series of animated 3-D videos illustrating key 3-D graphics concepts such as the transformation from world space into camera space. The recent development of Blender 3-D is also included in the book which is a professional quality 3-D modeler available free to programmers and developers.

cover Advanced Linux 3D Graphics Programming (With CD-ROM)
(June 2001)

Advanced Linux 3D Graphics Programming builds upon the foundation set in Norman Lin's Linux 3D Graphics Programming. This second volume provides programmers who are experienced in both Linux and fundamental 3D graphics concepts with a well-rounded perspective on 3D theory and practice within the context of programming larger interactive 3D applications. Lin's primary goal is to provide a solid understanding of the concepts involved in interactive 3D graphics programming in order to enable the reader to write 3D programs, libraries, and games, and to analyze and understand others' 3D code. By focusing on more than just hard-core 3D algorithms, and by providing detailed information on equally important issues such as 3D modeling, world editing, digital sound, and collision detection, Lin gives the reader sufficient information to program and populate complete 3D worlds under Linux. Lin's careful balance between theory and practice provides both working code examples and a firm theoretical foundation, thereby empowering the reader to become a member of the professional 3D programming community.

cover 3D Computer Graphics (3rd edition)
(December 1999)

The third edition of Alan Watt's 3D Computer Graphics, a bible of computer graphics, includes a CD-ROM full of examples and updated information on graphics and rendering algorithms. The book discusses many of the techniques that have evolved in the seven years since the previous edition was published. 3D Computer Graphics is a textbook, and it's designed for serious programmers creating graphics applications (not end users). Over the course of 16 sections, Watt introduces the concepts and implementation of computer imaging, from "Mathematical Fundamentals of Computer Graphics" to "Representation and Rendering" and ending with "Image-Based Rendering and Photo-Modeling." The last section, devoted to computer animation, includes methods for linked structures, collision detection, and particle animation (to name a few). Although the topics are sometimes hard to grasp, Mr. Watt writes clearly and concisely, making generous use of diagrams to help convey the principles described in the text.

cover Computer Animation: Algorithms and Techniques
(September 4, 2001)

What many digital animators fail to realize is that someone needs to make the software that's used to bring images to life. Without the tools, the ideas can never be materialized. In Computer Animation: Algorithms and Techniques, the concepts and formulas used behind the scenes and under the hood of contemporary animation software are clearly explained for the programmer and the technical director. Hardbound, liberally illustrated, and with an eight-page color gallery, there are six chapters and three appendices. The book starts with an overview of animation and works through some technical background information, and then delves into interpolation and basic techniques for representing 3-D motion and space on a 2-D display. Later chapters walk through advanced algorithms (kinematics, rigid body simulation, constraints) and then a discussion of ways to represent natural phenomena. There's also a focus on modeling and animating articulated figures. It's important to note that these chapters are not about which buttons to push in a given software package, but rather about the use and explanation of formulas for representing a specific simulation. Perhaps the best feature of the book is the information and samples available on a companion Web site. Rather than include a CD-ROM, which raises the cost of the book and whose information can grow stale, the reader can find sample animations and ready-to-use code snippets, as well as links to other relevant Web sites. There are any number of books available on computer animation software packages, but precious few on how they do what they do. Computer Animation: Algorithms and Techniques is an invaluable resource, a textbook for anyone interested in computer animation programming or for anyone who simply wants to get under the hood of their favorite animation application. Mike Caputo

back