on 12 February 2014
I was looking forward to this book, the chapter headings looked promising and with a low page count (about 90) I was expecting a concise introduction to glsl. Any hopes were short lived, however.
Apart from the chapter headings this is a confused mess of book. Written and, worse, poorly edited by non-native English speakers, with confusing, distracting, incorrect grammar which makes the already poor descriptions even more confusing and difficult to follow.
Chapter headings aside, there is no clear progression and important steps/points are missed in both explanations and code samples. Key concepts -- fixed and programmable pipelines, their relationship to each other, and the flow of data through the programmable pipeline -- are poorly described.
The code samples are incomplete:
for instance no values are given for the projection and model-view matrices -- "fill with proper values" is the sum total of the information given to aid the reader.
Apart from a dozen or so lines of C, the code samples are all GLSL. I was unable to find any source code online so it appears that the reader is expected to write the host code themselves.
Some specific shortcomings:
* "floats" are used in "for" loops, apart from being an unnecessary waste of GPU space they can lead to off-by-one errors.
* The description of matrices as an array of vectors is out-and-out wrong.
GLSL Essentials might have been a good book, all the necessary parts are there, but they are confusingly realised, so this book is sorely lacking as an introduction. While some basic concepts are over-explained (e.g. comments) others are simply taken for granted (e.g. variable location) and left unexplained.
While it aims to cover the essentials, it does so very poorly and with the basic mistakes it makes it is difficult to trust anything in this book (I was constantly referring to the internet to confirm what I read).
A very poor book and most definitely not essential.