Advertisement

Is OpenGL Programming Guide 8th Edition Version 4.3 a good book to learn from?

Started by May 20, 2013 02:55 AM
25 comments, last by rip-off 6 years, 11 months ago

My path started with some tutorials (one of them was NeHe). Then some books to enhance knowledge.

Now, I have ended with official Khronos Reference and some books on graphic effects and numerical methods.

OpenGL itself is tool, and real work is to use it well - e.g.. writting good shaders.

So, I recommend everybody to start fast and when you learn how to setup OpenGL,

how to write simple shader and run it, then spend your money on books which show you direction

to go to obtain a certain imagined end effect. After the "first start" you will just know what you need.

My path started with some tutorials (one of them was NeHe). Then some books to enhance knowledge.

Now, I have ended with official Khronos Reference and some books on graphic effects and numerical methods.

OpenGL itself is tool, and real work is to use it well - e.g.. writting good shaders.

So, I recommend everybody to start fast and when you learn how to setup OpenGL,

how to write simple shader and run it, then spend your money on books which show you direction

to go to obtain a certain imagined end effect. After the "first start" you will just know what you need.

I see, so start a bit of OpenGL from a web tutorial or something and learn the basics, then go for example, read OpenGL Programming Guide 8th Edition Version 4.3? I also read that this book also basically teaches 3.3 with little code having to be changed.

Advertisement

I own both the 7th and 8th edition of the Red Book, and can only recommend not to waste money on it. The online resources linked to above are free and much better.

The "Red Books" are the best "learning OpenGL" books you can buy, but only because there are only 2 or 3 books alltogether, and the other ones are still worse. Sadly. I wouldn't mind paying $$$ for a good book.

In their defense, the 8th edition (OpenGL 4.3) is not as abysmal as the 7th edition, which despite its name does not at all refer to "OpenGL versions 3.0 and 3.1", but is rather an "OpenGL 1.x" book that had a few words added on some new 3.0/3.1 features -- but without any diligence onto the modern programming models or deprecation, and with hardly a way for the reader to figure it out (if you don't know already, you're lost). At least this has been fixed in the 8th edition, this edition really addresses OpenGL 4.x as promised.

The books are full with errors (spelling, logic, subtle, and not so subtle ones) which gives the impression the authors didn't even bother to proof read (they probably did, but it doesn't look the like). I stopped counting after scanning over the first 20-30 pages.

The code samples are in "C with some C++" or whatever the authors call it, and I sometimes find them needlessly obscure in some places, but alas... that may as well be a matter of taste.

Still, I find the online resources such as the one by Arcsynthesis more comprehensive, more useful, and well... they're even free.

I own both the 7th and 8th edition of the Red Book, and can only recommend not to waste money on it. The online resources linked to above are free and much better.

The "Red Books" are the best "learning OpenGL" books you can buy, but only because there are only 2 or 3 books alltogether, and the other ones are still worse. Sadly. I wouldn't mind paying $$$ for a good book.

In their defense, the 8th edition (OpenGL 4.3) is not as abysmal as the 7th edition, which despite its name does not at all refer to "OpenGL versions 3.0 and 3.1", but is rather an "OpenGL 1.x" book that had a few words added on some new 3.0/3.1 features -- but without any diligence onto the modern programming models or deprecation, and with hardly a way for the reader to figure it out (if you don't know already, you're lost). At least this has been fixed in the 8th edition, this edition really addresses OpenGL 4.x as promised.

The books are full with errors (spelling, logic, subtle, and not so subtle ones) which gives the impression the authors didn't even bother to proof read (they probably did, but it doesn't look the like). I stopped counting after scanning over the first 20-30 pages.

The code samples are in "C with some C++" or whatever the authors call it, and I sometimes find them needlessly obscure in some places, but alas... that may as well be a matter of taste.

Still, I find the online resources such as the one by Arcsynthesis more comprehensive, more useful, and well... they're even free.

I see. I'm curious, how did you learn modern opengl? How did you approach the arcsynthesis tutorials (if you did learn it from arcsynthesis)? Did you read it and then tested the source code? Or did you read and try to make your own demo?

The best way for me to learn OpenGL was/is to get examples from somewhere and cross reference them with the specification and reference pages. That is also why I wrote a bunch of examples myself (see my signature) that i regularly consult and copy from as a starting point.

Also, I looked at the superbible and it teaches you their opengl wrapper instead of opengl until later into the chapters.

The SuperBible isn't teaching the wrapper. The author is using the wrapper to teach the basic concepts of 3D programming with OpenGL. The book is targeting a wide audience, including people who have never done any 3D programming. His decision to postpone the gory details of the modern programmable pipeline until later is a sound one, IMO. If you know all there is to know about coordinate systems, matrices & vectors, when & why to load shaders and such, you can jump straight to chapter 6 (IIRC) and get busy with the shader API.

Advertisement

Which is what I found so infuriating about most OpenGL resources... They claim to teach OpenGL in their name but in reality try to teach Graphics Programming while wierdly working around the math and just happen to use OpenGL for that. But that is apparently the main audience I guess angry.png . So if you don't need someone to simplify the math for you and have some idea about how computer graphics work you are better off diving into the specs.

Which is what I found so infuriating about most OpenGL resources... They claim to teach OpenGL in their name but in reality try to teach Graphics Programming while wierdly working around the math and just happen to use OpenGL for that. But that is apparently the main audience I guess angry.png . So if you don't need someone to simplify the math for you and have some idea about how computer graphics work you are better off diving into the specs.

Maybe you'll find what you're looking for here?

http://www.opengl.org/documentation/books/

I see. I'm curious, how did you learn modern opengl?

With time and pain, a lot of pain. Reading the publicly available "What's new in OpenGL 3.0/3.1" presentations from IVHs and some university courses as they became available, then digging through the specs and the online man pages, and... trying and failing, trying again and failing again, and trying. Unluckily, no such thing as the Arcsynthesis site existed at that time (I only read it about 8-10 months after GL 3.3 came out).

Going to version 3.3 and later 4.0 was a breeze (nothing in 4.1/4.2 that I'm much interested in, except what's supported as ARB extension for 3.x already anyway).

I bought the Red Book (7th ed) after having gone the hard way, as "holiday reading" with a mindset "All nice and well, but not good enough. Let's learn this thing properly, from the bottom up". That didn't happen.

When the 8th edition came out, I figured "Well, this one really has to be better, because you can't pull the same thing for a 4.x book again". With version 3.x, one might still find kind of an excuse insofar as deprecated functionality was not stricly disallowed, but for versions 4.x that approach won't work.

And indeed, the 8th edition turned out being much better (more honest) insofar as inside the book you really get what the cover promises.

OpenGL Programming Guide uses GLUT (which you'd never use in a real game). Other than that, it's a decent book to learn from. It's arranged more logically than the Superbible, and I haven't found any better beginner books on OpenGL. Beginning OpenGL Game Programming is also extremely easy to learn from and doesn't use external libraries for initialization.

This topic is closed to new replies.

Advertisement