Texturing & Modeling – A Procedural Approach (WIP)

Texturing & Modeling - A Procedural Approach Cover Art

This book was recommended to me by my supervisor for the dissertation during university. The content I required from the book was a rather small section – simply the base noise functions such as the all-famous Perlin Noise. After borrowing it from the library, it never sat on the their shelves until 18 weeks later.

You see, the book surpassed the base noise functionality written up by the creator of the function itself (Ken Perlin). The book, having 687 pages dedicated entirely to procedural techniques offered more than just a curiosity in the subject, or a quick requirement for a project. The book instead did a wonderful job of creating an interest in procedural techniques, whether for terrain, generating tree models via a string of text (L-Systems), textures (including bump-mapping), clouds via hypertexture, and the modeling of gases, to name just a selection. Throughout borrowing the book, the temptation to pick it up and read on chapters not required for my needs was a constant nag, which resulted in a good few nights of ‘light reading’ well into the night, even when due to be up early.

Whereas the work may be tedious and technical, the achievement of having a virtual world rendered entirely procedurally, including textures and models, all produced entirely from mere bytes of data to describe the procedure, makes the work satisfying. Once one technique works, the ‘high moment’ whilst seeing the finished result quickly becomes the flick-through to another chapter, fueled with the temptation to see yet another success. It sounds almost too good to be true – whereas artists spend long hard hours carefully designing models and textures which take up Megabytes, the CPU does a much quicker job at producing SOME of the tasks. If you expect to model a character procedurally, you will not find that covered here, by what appears to be the famous five of procedurals. If you want trees and plants, you are looking at the right book.

Yet Another Graphics Book?

Ken Perlin has written a chapter or two for a number of books in the past. His noise technique has appeared, or been mentioned in many more books. The concept of a procedural landscape is very commonly introduced, but no one seems to go into the detail offered by Kenton Musgrave (Doc. Mojo), and his astounding work in this field. If Ken Perlin manufactures noise, Kenton Musgrave pitches and sells it, coated in platinum. Kenton takes the noise functionality, expands on it, explains his parameters, and shows you numerous screenshots which makes you want have that functionality, and NOW. It has to be said though, that throughout the graphics industry, few people have ever made landscapes as accurate as Kenton, which made me feel as if the book as missing something important. On the flipside, you do get the functionality in your application – that is, the Fractal Brownian Motion, and Multifractals, amongst other offerings which expand even on these functions.

What makes this book different from the numerous other books which cover parts of this topic is again, the authors, and the way the book is written. There is easily more text than images in this book, and the text reads moreso as if it was written by expert academics who have gone beyond just researching procedurals, but have made it a goal, and a big part of their lives. They are here to share their knowledge with you, but at a price. The cost of this book is a good £20 more than most hard-cover books on computer graphics. They write to the reader, as experts, or at least amateurs in computer graphics, and expect a good grounding in maths. Do not take this as a hint to get a top grade in Calculus – if you are determined, you will get your money’s worth, but you will be required to work and think hard. Again though, the outcome is worth the graft.

Amongst the shelves, this book stands out above it’s peers by it’s dedication to a single area of computer graphics. Most books will have chapters on lighting and shadows, terrain, post-processing, and more, most of which feel very seperate from each other, even as far as different writing styles. The authors here have remained remarkably consistent and on-topic, despite the many acres of text and coverage of the topic.

The final chapters include probably the most selling examples of proceduralism, thanks to F. Kenton Musgrave, and his obvious talent and ability with procedural art. For those of you looking to include, or improve your procedural terrain, you will find the best of the best here.

Downfalls, potentially

The book does feel outdated. There is no mention of HLSL or GLSL, instead they use Rendermonkey, which makes sense considering it was the language used to bring Perlin’s noise function to the big screen. If you are looking at implementing noise in your shaders, then you will be dissapointed. As you will be told by other developers of graphics – you should be able to port from one shading language to the other, and even from C code, to shaders, and being encouraged to think for yourself is not a bad thing, especially considering you are supposed to be learning from this book. If everything was handed to you, line by line, you may have a working model, but can you tell someone how it was done? If the book was taken away from you, would you be able to re-implement the concept? Simply implementing something, and learning it are two seperate tasks.

The biggest failure comes with the layout of the book. The most basic Fractal Brownian Motion, and Multifractals are given a rather short introduction in Chapter 14, which gives mention to the parameters; H, lacunarity, octaves, and offset. If you are new to fractals, their explanation here leaves questions even after experimentation. Slight adjustments of these values results in steep changes to the output. Puzzlingly, these parameters are given entire paragraphs MUCH later in chapter 20. These two chapters could have gone together more nicely, sharing a rather similar approach, and I saw little reason for the two chapters to be seperated by genetic textures and atmospheric models. Perhaps the next revision may improve on this – at least mention in chapter 14, that you should read more in chapter 20 if you need to. This certainly would have helped me, as it was sheer luck I found their detail.

Conclusions

Frustrations aside, the information is there. Images throughout the book help to grasp your attention to different concepts whilst only providing example when required. Images are sufficient, on-topic, and not excessive. The authors remain consistent, determined, and proud of their work.

Technical ability is required for this book, but this is rather relative. You may be excellent at maths, and able to understand what is going on almost entirely by the equations presented amongst the text. Others may be excellent at producing graphics and built up a nice grounding, but were poor at maths to begin with. The common denominator is that you will find this book frustrating and useless if you are ‘too’ new to computer graphics.

If you wish to slap together textures to create a world, and don’t care how they are made or where they come from, then this book may also not be for you. This book is about CREATING the artwork without the need for an artist to sit and model landscapes, textures, plants, clouds, and whatnot.

If so far you are not swayed, then all that remains is whether you are happy parting with a small fortune. Personally, this book is one of my favourites. It is the book I am most likely to pick off the shelf if I want a random read. It has also remained open on my desk for weeks at a time. Suffice to say, that as soon as the library copy was handed in, it did not take much of a decision to fork over the cash.

  1. No comments yet.
(will not be published)