Practical Algorithms for

3D Computer Graphics

Second Edition

by Stuart Ferguson

3D Graphics

Taken as a whole, the topics covered in this book will enable you to create a complete suite of programs for three-dimensional computer animation, modeling and image synthesis. It is about practical algorithms for each stage in the creative process.The text takes you from the construction of polygonal models of objects (real or imaginary) through rigid body animation into hierarchical character animation and finally down the rendering pipeline for the synthesis of realistic images of the models you build. The content of the book arises from a postgraduate course on computer graphics that I have given for many years and the experience of working on two comprehensive 3D animation and modeling application programs Envisage 3D and SoftFX for the personal computer in the 1990s. In that time the capabilities of both the hardware and software for creating computer graphics have increased almost unimaginably.

A quick look at the contents of the bookShark

The book is is three parts:

Part 1 : Basics and fundamentals.
This first part  covers the key concepts of 3D computer graphics. After this brief introduction the focus moves to the fundamental mathematical ideas that lie at the heart of
all the other algorithms discussed in the book.

Personally, I find it very satisfying that in just a few pages we can set out all the maths you need to produce beautiful photo-realistic pictures.

Part 2 : Real-Time 3D for the desktop and mobile devices.

Part 2 is devoted to the topic of real-time 3D rendering, and dissecting the OpenFX software. In the first chapter we look at how to use the OpenGL library to take maximum advantage of the computer hardware specifically designed for 3D graphics. With the growth of the use of the {so-called} smart-phone and the fact that these devices include specialist hardware for rendering 3D graphics, it seems very timely to show how easy it is to move a 3D application from the desktop into the pocket.

The second chapter will show you how to build an environment on the most popular mobile devices for deploying a 3D game or other 3D application.

To complete this part we examine the code for OpenFX which is an open source, fully functional, 3D modeling, animation and visualization application program that puts into practice the algorithms of the book.

Part 3 : Advanced modeling algorithms and algorithmic shaders.

Part three is intended for the professional {\em plug-in} or game engine developer and provides (hopefully) a rich collection of algorithms covering such diverse topics as polygonal modeling procedures and procedural textures for use with a photo-realistic Z~buffer or ray tracing renderer, or in the fragment programs of a GPU.

The chapter on pseudo three-dimensional video transition effects from the first edition has been removed and may now be found in an updated form on the book's website.


About the book

The book was published in Jan 2014

It contains three parts and details of many of the authors unique algorithms for procedural shaders and  3D modeling tools.

Section 1 Basics

Section 2 Practical Code

Section 3 Algorithms