Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

OpenGL Programming Guide

timothy posted more than 9 years ago | from the robotic-pleasure dept.

Graphics 143

Martin Ecker writes "The Red Book, also known as the OpenGL Programming Guide, is back in its fifth edition. It received the name Red Book because of the nice red book cover, and possibly also because it has remained the standard introductory text on the OpenGL graphics API for years, and always referring to it as "OpenGL Programming Guide" is too long. This fifth edition now also covers new features introduced with versions 1.5 and 2.0 of the OpenGL standard. So let me take you on a tour through the pages of this book to see what it has to offer." Ecker's review continues below.

I should mention that the last edition I read of the Red Book was the first edition, and a lot of material has been added to the book in the meantime. Just as the first edition, however, the fifth edition is still incredibly complete and thorough. It contains explanations of pretty much every feature of OpenGL, even the rarely used ones. You want to know about the new occlusion queries added to OpenGL recently? It's in this book. You want to know about the accumulation buffer and its uses? It's in this book. You want to know about the (mostly deprecated) use of indexed color buffers? It's in this book. The only thing the book does not cover in detail is vertex and fragment shaders because they have their own book, the Orange Book (aka The OpenGL Shading Language) -- see my previous Slashdot review.

The Red Book is aimed at the beginning to intermediate graphics programmer who is not yet familiar with OpenGL. It assumes a basic background in computer graphics theory and working knowledge of the C programming language. The book consists of 15 chapters and 9 appendices that together span approximately 800 pages.

The first chapter gives a brief introduction to the basic concepts of OpenGL and describes the rendering pipeline model used in the API. GLUT, a cross-platform library that allows easily creating OpenGL applications, is also shortly discussed together with a program that shows GLUT in action. The following chapters proceed to explain the basic geometric primitives, such as lines and polygons, supported by OpenGL and how to render them in different positions and from different viewpoints using the various OpenGL matrix stacks. The authors also discuss here the basics of using colors, fixed-function lighting, framebuffer blending, and fog.

Chapter seven contains a description of display lists, a unique feature of OpenGL that allows to store OpenGL API calls for efficient multiple use later on in a program. Chapter eight then moves on to discuss what an image is for OpenGL, which brings us straight to chapter nine on texture mapping, one of the largest chapters in the book. This chapter discusses everything you need to know on textures, from specifying texture images in uncompressed and compressed form to applying textures to primitives using the various kinds of supported texture filters. Also depth textures and their application as shadow maps are presented.

In chapter ten the authors discuss the buffers that make up the framebuffer, such as the color buffer, depth buffer, and stencil buffer. This chapter summarizes some of the things already presented in the earlier chapters and then describes the various framebuffer operations in more detail. Also the accumulation buffer and its uses, such as motion blur and depth of field effects, are discussed. Chapter eleven and twelve are on the tools provided by GLU, the GL utility library, in particular tesselators, quadrics, evaluators, and NURBs. GLU is nowadays rarely ever used in production code, so these chapters mostly demonstrate just how complete the Red Book is in its coverage of OpenGL. This also applies to chapter thirteen on selection and feedback, which are rarely used features, mostly because of the lack of hardware acceleration.

Finally, chapter fourteen is a collection of topics that didn't fit into the other chapters, such as error handling and the OpenGL extension mechanism. Additionally, this chapter presents various higher level techniques and tricks, for example how to implement a simple fade effect, how to render antialiased text, and some examples of using the stencil buffer. The final chapter of the book - newly added in the fifth addition -- is a short introduction to the OpenGL Shading Language (GLSL, for short). Even though the OpenGL API functions required to use GLSL are presented, this is only a quick overview of how programmable shaders are used in OpenGL. For a more detailed description of GLSL the reader is referred to the Orange Book.

The book closes with quite a few appendices on the order of operations in the OpenGL rendering pipeline, the state variables that can be queried, the interaction of OpenGL with the operating system-specific windowing systems, a brief discussion of homogeneous coordinates as used in OpenGL, and some programming tips. Also a reference of the built-in GLSL variables and functions is included, which is a bit odd considering that the Red Book actually doesn't really concentrate on programmable shaders or GLSL. It's a good reference nevertheless.

The book contains a large number of images and diagrams, all of them in black and white except for 32 color plates in the middle of the book. The illustrations are of high quality and generally help make the explained concepts and techniques easier to understand. Most of the color plates depict spheres, teapots, and other simple geometric objects, so they aren't overly eye-catching but do serve their purpose of showing what can be achieved with OpenGL.

The Red Book remains the definitive guide to learning OpenGL. Whenever someone asks me "What book should I read first to learn OpenGL?" this is the book I refer them to. Apart from being a good introduction, it also contains many interesting tips and tricks that make the experienced OpenGL programmer come back to it often. If you've read through this book in its entirety you pretty much know everything there is to know about OpenGL.

Martin Ecker has been involved in real-time graphics programming for more than 9 years and works as a games developer for casual arcade games. In his rare spare time he works on a graphics-related open source project called XEngine. You can purchase OpenGL Programming Guide (5th Ed.) - The Official Guide to Learning OpenGL, Version 2 from Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

Sorry! There are no comments related to the filter you selected.

First post!!! (0)

SCO STINKS (858283) | more than 9 years ago | (#13465989)

Thanks for the review!

RIght on time (0)

Anonymous Coward | more than 9 years ago | (#13466003)

Wow, my company wants me to become an expert on
OpenGL because we're looking into all the possible
uses of GPU-based computing for general info

This book will get an order from me^H^H my company!

Re:RIght on time (2, Funny)

LifesABeach (234436) | more than 9 years ago | (#13466031)

I'm glad its NOT referred to as the "'Little' Red Book". That would just not be acceptable.

Re:RIght on time (1)

Conspiracy_Of_Doves (236787) | more than 9 years ago | (#13466171)

Kind of like the book I had to get for one of my college english classes, the "Little, Brown Handbook"

'Little' and 'Brown' were the names of the authors of the first edition.

Re:RIght on time (0)

Anonymous Coward | more than 9 years ago | (#13466624)

No, it's not like that at all.

Microsoft (1, Informative)

Anonymous Coward | more than 9 years ago | (#13466006)

There's still the problem of Windows Vista making DirectX much faster than OpenGL.

Re:Microsoft (0, Offtopic)

shis-ka-bob (595298) | more than 9 years ago | (#13466134)

reference please ....

Re:Microsoft (1)

egoots (557276) | more than 9 years ago | (#13466885)

see [] and scroll down to the section entitled "Future in Microsoft Windows".

It includes excerpts from some meetings at the recent Siggraph... it doesnt look good for OpenGL under Vista?

Re:Microsoft (1, Insightful)

myukew (823565) | more than 9 years ago | (#13466375)

it's always better to install proper driver for your graphics card if you want full performance. same for directx performance btw...

Re:Microsoft (4, Informative)

Decimal Dave (411182) | more than 9 years ago | (#13466448)

Microsoft's OGL wrapper for DirectX does add a lot of overhead, but it doesn't matter - hardly anyone uses that. Normally under Windows you use the OpenGL implementation that comes from the graphics chipset manufacturer. NVIDIA, ATI, 3DLabs, etc. all have their own, which can be very fast without any sort of DirectX involvement. These are generally much more up to data than MS OGL anyway.

Re:Microsoft (1)

msh104 (620136) | more than 9 years ago | (#13466593)

but using one of those will disable your hardware accelerated windows desktop candy thingy's.

Re:Microsoft (3, Insightful)

2008 (900939) | more than 9 years ago | (#13466700)

A gamer craves not these things.

Seriously, not only are games full-screen most of the time, but I would much rather have my graphics card working on my framerate than transparent jiggly menus.

Re:Microsoft (1)

CyricZ (887944) | more than 9 years ago | (#13467133)

There comes a point when your framerate is basically irrelevant. The human eye and brain can only capture and process about 26 images per second. So once you get past about 30 frames/second, any additional frames that are rendered are basically useless. They're just not observed by the human vision. So getting a few extra frames per second once you're already at 180+ fps is a pointless task, in practicality.

Re:Microsoft (2, Informative)

Edgewize (262271) | more than 9 years ago | (#13467339)

False. Additional frames pass too quickly to be perceived as individual images, but they still add to the perception of smooth motion.

Re:Microsoft (1)

CyricZ (887944) | more than 9 years ago | (#13467353)

Up until a point. And that is usually around 30 frames per second for most individuals, which is indeed above the perceivable ~26 fps. An increase from 185 fps to 189 fps will not be noticed as either a single image nor as better flowing animation.

Re:Microsoft (1)

Taladar (717494) | more than 9 years ago | (#13467520)

And even if the human eye would be able to see faster changes it makes no sense to render more frames than the monitor refresh rate allows it to display.

Re:Microsoft (1)

grumbel (592662) | more than 9 years ago | (#13467942)

### And that is usually around 30 frames per second for most individuals

Detecting a difference between 30fps and 60fps is pretty easy for basically any gamer, detecting a difference between 60fps and 100fps already gets a bit more difficult, but is still doable for many people. So up until you have at the very least 60fps, better 100fps, constantly in all situations I wouldn't call the framerate irrelevant, sure, a game gets playable much earlier, but that wasn't the point. Everything above 100fps gets rather irrelevant quickly since it goes bejoint monitor refresh rates, but the human can pretty well detect framerate changes well bejoint 30fps.

Re:Microsoft (0)

Anonymous Coward | more than 9 years ago | (#13467424)

... Use a 30 hz Monitor then, bitch.

not quite, (1)

circusboy (580130) | more than 9 years ago | (#13467529)

one of the things that @26 fps doesn't cover is the motion blur that would normally be a part of a 'moving' image. massive frame rates cover that part up. given how fast I've seen some of these games play, the possiblity of seeing the blur vs. finding out something hit you between frames, might make a difference.

the bit that confuses me sometimes is that I don't recall ever seeing a monitor with better than a 120Hz frame rate... the one I'm working with now only goes as far as 90. is this not a barrier?

Re:not quite, (1)

CyricZ (887944) | more than 9 years ago | (#13467544)

Indeed, monitors with refresh rates that are less than the FPS being displayed are indeed a technical limitation. But assuming that the technology is, in the future, capable of displaying 180+ frames per second, there is still the human limiting factor way back at approx. 30 frames/second.

Re:Microsoft (0)

Anonymous Coward | more than 9 years ago | (#13467817)

Warning: this guy doesn't know what he is talking about, anyone else here who *can* see the difference between, say, 30 fps and 60 fps?

If he can't, so be it, but touting it as a proven fact is just plain wrong. I'd take anything he says regarding this topic with a grain or dozen of salt.

You been warned.

Re:Microsoft (1)

CyricZ (887944) | more than 9 years ago | (#13467838)

It's quite plausible that some people could tell the difference at that lower range. That is still relatively close to the ~26 fps limit of human vision. Of course there will be people with brains that are capable of processing more images/second. I don't doubt that for a moment. But what we're talking about here is the unnoticeable effects of minor fps jumps when we're in the 180 fps and above range.

Re:Microsoft (0)

Anonymous Coward | more than 9 years ago | (#13467867)

You're missing the point. If the limit is 26 frames per second, we still need a signal at atleast twice the frequency to avoid aliasing, ditto: 52 frames per second.

Therefore, it is beneficial to have framerate hover a magnitude higher than what you were proposing as the "limit", however, I agree that detecting miniscule differences at framerate differences above the refresh rate of the display device are very hard to notice in practise, that is, with a naked eye!

Please never again mention 26, 30, or other figure as limit and giving impression striving to achieve better throughput from graphics system than that as wasted effort: it's not. Thank you for your attention.

Heck, even late 3dfx tried to debunk this myth with a simple demo, roughly a decade (?) ago. The muth seems to be alive and well, please don't feed the myth.

Re:Microsoft (1)

AndreiK (908718) | more than 9 years ago | (#13466992)

Why would it do such a stupid thing? Does Windows not display video if you aren't using a MS video card? Then why would it shut it down if you aren't using MS drivers?

Making DirectX faster isn't the issue (1)

RoverDaddy (869116) | more than 9 years ago | (#13466631)

Making OpenGL slower is. If Microsoft can achieve real technical gains in DirectX, more power to them. If they're hobbling OpenGL, that's a different story. If, for instance, they're accepting optimized drivers from the hardware vendors for DirectX, but refusing to accept optimized OpenGL drivers for inclusion in Vista, that's playing dirty. If they're getting -no- optimized drivers from the vendors, but taking it upon themselves to make DirectX faster, I'm not sure how to take that. Does anybody know if ATI and nVidia are -offering- drivers to MS?

Re:Making DirectX faster isn't the issue (3, Informative)

egoots (557276) | more than 9 years ago | (#13466922)

What they are doing is layering the opengl icd on top of directx, freezing it at 1.4, disallowing extensions, and NOT providing info to 3rd parties to implement their own icd driver... Net result it will be 50% slower. See [] for details (scroll to "Future in Microsoft Windows").

If true, it sure sounds like they are hobbling Opengl

Re:Making DirectX faster isn't the issue (1)

0rganicM0lecules (582831) | more than 9 years ago | (#13467971)

This is only when using the Aeroglass gui system; so presumably, you can turn off the eye-candy and enjoy full-excellerated GL. I wonder how Windows users who also run programs such as Maya/Blender/3dsMax/Lightwave will react to having thier programs broken.

Re:Microsoft (1)

TrancePhreak (576593) | more than 9 years ago | (#13467198)

It appears everyone is forgetting that this is to allow the desktop renderer to use DirectX in a fairly exclusive mode. This is good for the desktop as switching between OGL/DX contexts is a big hit. And of course, should you want you can get a third party OGL driver (NV/ATI likely) that will fully accelerate your OGL stuff, but disable your eye candy desktop.

What about this site? (5, Interesting)

irtza (893217) | more than 9 years ago | (#13466019)

How does this new version compare to this site: The red book [] ?? Is it worth the money to buy it if you are a true beginner with a decent C background, but little prior work with 3D graphics? Or would it be fair to say that the online book would suffice and that a API reference for changes and updates would allow you to do simple rendering?

Re:What about this site? (4, Informative)

pstreck (558593) | more than 9 years ago | (#13466051)

thats the 1st edition up there. If you are serious about writing with the opengl api, I highly reccomend getting the latest revision.

Re:What about this site? (1)

TomorrowPlusX (571956) | more than 9 years ago | (#13466346)

I don't know about you, but when I'm studying a complicated topic, be it programming or something in the real world, I prefer to have a real book to read, which I can hilight, post-it-note and carry into the toilet with me for deep thinking time.

Also, I'm not a cheap bastard. The book's good, so I paid for it.

Re:What about this site? (2, Informative)

TomorrowPlusX (571956) | more than 9 years ago | (#13466391)

Sorry about the rant.

To answer your actual question, you *do* need a relatively modern API reference, if you're studying from the 1.1 spec ( I learned off the 1.2 spec ). But the thing is, OpenGL is very well backwards compatible, so code written for the first edition will work fine on a modern OpenGL 2 driver.

Still, but it: It's a good book. I went from *zero* opengl experience to My mediocre game [] in 1.5 years, with a robotics simulator in the interim.

Re:What about this site? (1)

Winckle (870180) | more than 9 years ago | (#13467295)

Hey, neat looking game, anymore details?

Re:What about this site? (1)

ezweave (584517) | more than 9 years ago | (#13466374)

I would be curious to know how the newer edition stands up to the old edition. OpenGL programming is very math ("maths" for the UK) intensive (canonical view volumes, vectors, etc). Of course, game mechanics are complicated enough.

If you are trying to learn OpenGL, Neon Helium [] is more useful (I have an older edition of the red book).

NeHe not so great (1, Informative)

Anonymous Coward | more than 9 years ago | (#13466592)

I don't recommend using NeHe any more. At one point, it was a great resource, but it has gone far downhill.

For one thing, the sample code is pretty crappily written, sadly outdated, and makes use of obsolete stuff like glaux.

For another, the maintainer has moved is (kinda) maintaining the site now, and not much is happening in the way of new tutorials.

Try before you buy... (5, Informative)

Anonymous Coward | more than 9 years ago | (#13466028)

Book is available online here (and a few other places/formats, try google): []

This is an older version, but still a very good grounding in the basics of interactive 3d graphics.

Re:Try before you buy... (1)

lys (769976) | more than 9 years ago | (#13466103)

Such a great book! A must read for any OpenGL supporter!

Re:Try before you buy... (4, Informative)

Kjellander (163404) | more than 9 years ago | (#13466333)

That one is an old version. Get Edition 4 here instead: []

Don't know if the fifth is online yet.

Re:Try before you buy... (3, Informative)

shawnkirst (188856) | more than 9 years ago | (#13466717)

That's only a sample chapter from Edition 4. The rest of the links are for the first edition.

Is the shading language *going* anywhere? (0)

Anonymous Coward | more than 9 years ago | (#13466059)

It just kind of seems like opengl has been standing still for the last several years while microsoft falls over themselves to make overwrought glittery things possible on their platforms, with the result being that directx has been gradually nabbing up all the major game developers and ending any hope of their stuff being crossplatform.

But after all these years of stagnation now we've finally got this standard shading language. Is this going to cover the technological and mindshare gap with directx, or is it too little too late? Is anybody going to actually read this orange book?

The Red Book is not the Blue Book (5, Informative)

webbroberts (249675) | more than 9 years ago | (#13466068)

The reason they call it the red book is to distinguish it from the blue book, which is the OpenGL reference manual. []

And the green book is this! (0)

Anonymous Coward | more than 9 years ago | (#13466084)

Re:And the green book is this! (1)

trewornan (608722) | more than 9 years ago | (#13466993)

"The green book" is a phrase you hear a lot in the UK if you have much to do with the government. It means something totally different [] to UK civil servants.

Re:The Red Book is not the Blue Book (1)

hackwrench (573697) | more than 9 years ago | (#13466110)

Yeah great, but when I hear "Red Book" I think audio CD's andard) []

Re:The Red Book is not the Blue Book (0)

Anonymous Coward | more than 9 years ago | (#13467194)

#include <windows.h>
void start()
MessageBox(0, "Hello", "World", MB_OK);
Wow, the simplest program in the world and you fucked it up.

Really How. (1)

hackwrench (573697) | more than 9 years ago | (#13467278)

How is it messed up pray tell?

Re:Really How. (0)

Anonymous Coward | more than 9 years ago | (#13467888)

It looks like it's trying to be a Windows C or C++ program, so:
#1 - WTF is "start()"?
#2 - In your message box you're going to have the message split between the client area of the window and the title bar.
#3 - It's not like this function won't return if you don't add a "return" statement!
Real men write it thusly:
#include <cstdlib>
#include <iostream>
int main()
    std::cout << "Hello, World" << std::endl;
    return EXIT_SUCCESS;

Real men wouldn't achieve the same result. (1)

hackwrench (573697) | more than 9 years ago | (#13468080)

Start is what I call my entry point.
I compile the program with:
cl hello.c /link /SUBSYSTEM:WINDOWS /entry:start USER32.LIB #2, #3 This is somehow wrong because? I added the return; because I wasn't sure if some C's wouldn't do like assembler and run out the bottom of the program, and originally a ExitProcess was there. Having it there doesn't change anything, though. There is no need for WinMain, and that is the point that my program is supposed to illustrate in so limited space as a sig. In a more robust program one would do HINSTANCE inst = GetModuleHandle(NULL);
With WinMain in a program, a bunch of protective but essentially worthless stuff gets linked in before WinMain gets called.

Re:The Red Book is not the Blue Book (0)

Anonymous Coward | more than 9 years ago | (#13466720)

Why do they call the blue book as blue book?

Morpheus says... (1)

chub_mackerel (911522) | more than 9 years ago | (#13467824)

I liked the part where Neo had to choose between the red book and the blue book.

Figures (3, Funny)

iSlak (615695) | more than 9 years ago | (#13466081)

Damn it! I just bought the 4th edition two days ago on Amazon.

Re:Figures (1)

guaigean (867316) | more than 9 years ago | (#13466105)

I did the same thing when the 4th came out. I bought the 3rd from Barnes & Noble (locally) 3-4 days before the 4th came out. Although I had the ability to return it. Don't worry excessively though, the 4th is still impressive and recent (only 1.5 yrs old?) and covers tha majority of OpenGL functionality. If you wait until the most recent Blue Book comes out (the Reference) you should be able to function just fine.

Re:Figures (0)

Anonymous Coward | more than 9 years ago | (#13467230)

Damn it! I just bought the 4th edition two days ago on Amazon.

Oh? You did, did you? May I ask why you purchased the 4th edition--and then later complained about it--when the 5th edition was published on August 1, nearly a month prior to when you say you bought the 4th edition?

What's that, you say? You made the whole thing up so that you could use a tired old joke? Well, why didn't you say that earlier?

Free version (5, Informative)

Anonymous Coward | more than 9 years ago | (#13466083)

You can get this book in PDF or HTML for free from here [] . Obviously it's as up to date as this edition but probably good enough for most beginners.

Did I miss something (1)

MatthewNewberg (519685) | more than 9 years ago | (#13466092)

From the review it just basically looks like the last edition but with a little bit added for GLSL. I think most people that are interested have already read the Red Book and many other OpenGL texts so it seems kinda unneeded. What would be really interesting is a book about implementing Shaders in OpenGL or other advance features coming in OpenGL 2.0.

Re:Did I miss something (1)

guaigean (867316) | more than 9 years ago | (#13466149)

It's not 2.0, but they do have the Orange Book [] . Still covers quite a bit of the shading language.

Re:Did I miss something (1)

evol262 (721773) | more than 9 years ago | (#13466179)

I know you can't bother reading the articles, but not even the review? The book covers OGL 2.0, and the Orange Book (which covers vertex/pixel/fragment shaders) if alluded to several times as well as directly referenced with a clear explanation of what it is.

Re:Did I miss something (1)

chemistry (876982) | more than 9 years ago | (#13467376)

What would be really interesting is if the next openGL implementation provided GLU triangulation algorithms. why oh why do I have to continue t implement these when there has been so much research published on how to do this?

games (3, Funny)

BillFarber (641417) | more than 9 years ago | (#13466098)

Maybe the people who complain about the lack of quality games [] should put the book to use.

Re:games (0)

Anonymous Coward | more than 9 years ago | (#13466141)

You probably could have saved yourself a lot of effort by just posting this link. []

Re:games (2)

ytm (892332) | more than 9 years ago | (#13466150)

I don't think that graphics is the most important problem with latest games and many comments to the story you mentioned agree with that.

Re:games (1)

justinhj (601309) | more than 9 years ago | (#13466670)

Yeah you're right. Compared to making a fun game the graphics part is easy. At least the technical side is, you still need skilled artists to get a good looking game regardless of the tech. Good gameplay takes longer and is more difficult than implementing the latest shaders and advanced physics. I can say that as someone who has written low level graphics code on Playstation 1 and 2, and then specialised in game and AI code.

Re:games (1)

agraupe (769778) | more than 9 years ago | (#13467921)

Well, although graphics is not a problem with many of the blockbuster games of the day (quite the opposite, in fact), it could be said that graphics represent the biggest barrier to entry when it comes to indie and open source developers, who may have a great, fun idea.

That's not the red book! (4, Funny)

merreborn (853723) | more than 9 years ago | (#13466120)

I've seen "Hackers"! They use the Red Book to hack the Gibson.

Also, hacking looks a lot like a bad screensaver. There's never any text editing or commandlines involved.

Re:That's not the red book! (4, Informative)

cwebster (100824) | more than 9 years ago | (#13466188)

no, that would be this red book []

Re:That's not the red book! (2, Funny)

deinol (210478) | more than 9 years ago | (#13466268)

I always think of this little red book [] .

Re:That's not the red book! (0)

Anonymous Coward | more than 9 years ago | (#13466541)

That's not what people call "the little red book" (since, for starters, I don't think the association between Communism and the colour red really kicked in until the Russian revolution).

This [] is what most people refer to as "the little red book".

Re:That's not the red book! (1)

tim_mathews (585933) | more than 9 years ago | (#13467628)

Which can be found in the NCSC Rainbow Series Library [] along with most of the other books in that very neat picture.

Re:That's not the red book! (1)

cwebster (100824) | more than 9 years ago | (#13467827)

yup, thats where i got them (the ordering info for CDROM used to also offer hardcoopies).

Save Some 1.57%! (1, Informative)

Anonymous Coward | more than 9 years ago | (#13466181)

Save yourself some money by buying the book here and using the "secret" 1.57% A9 discount you get by using OpenGL Programming Guide []

Mod down, same kaleidojewel spam as always... (0)

Anonymous Coward | more than 9 years ago | (#13466282)

... trying to push the book by offering a <2% "discount", while spamming the forum with his referral-fee link. Truly pathetic.

Re:Save Some 1.57%! (1)

StrayJay (228526) | more than 9 years ago | (#13466677)

And if you buy the new edition together with the old one, you only pay $106.60! Good deal!

You would think... (1, Insightful)

Nom du Keyboard (633989) | more than 9 years ago | (#13466271)

It contains explanations of pretty much every feature of OpenGL, even the rarely used ones.

You would think, wouldn't you, that it would contain explanations of every feature of OpenGL? After all, if it's not in the book, should it be in the language?

Re:You would think... (1)

forkazoo (138186) | more than 9 years ago | (#13466404)

First off, OpenGL isn't a language. Second off, just because somebody leaves something out of a book, you think they should remove the feature?! So, if I write an introductory C++ book, but don't mention everything in the STL, the whole STL should be removed?

Re:You would think... (1)

Matimus (598096) | more than 9 years ago | (#13466814)

Since the book is written and published by the OpenGL Review Board, yeah, it should contain every feature in the API. The 'Red Book' is not just an introductory book on OpenGL. The purpose of the Specification is to show someone how to write an implementation of OpenGL. The purpose of the Red Book is to show someone how to use any conforming implementation of OpenGL. IMO the parrent is correct, since the book is produced by OpenGLs governing body, it should cover everything. I'm not going to dispute with you about OpenGL being an API though, because it is an API, not a language.

Re:You would think... (1)

amendol (8682) | more than 9 years ago | (#13467025)

This was true before 2.0 with the GLslang language...

Strictly speaking though it is an API that includes a GLSlang language.

Hard cover? (2)

gr8_phk (621180) | more than 9 years ago | (#13466311)

Is this book available in hard cover?

Re:Hard cover? (1)

Mundocani (99058) | more than 9 years ago | (#13467733)

No, all of the OpenGL ARB books are paperback only

The real "Red Book" (1)

mlheur (212082) | more than 9 years ago | (#13466323)

As far as I'm concerned, the red book is "Applied Cryptography" []

Obsolete? (0, Troll)

repruhsent (672799) | more than 9 years ago | (#13466369)

Since the industry is moving away from OpenGL and toward DirectX (hence Microsoft's exclusion of full OpenGL support for Vista), is this guide even needed? Vista will be out sometime next year, and I doubt that anything decent could be developed with the use of this book in that amount of time.

Besides, given OpenGL's proprietary nature and lack of portability, I don't see the need in its existence. It's obvious that if you want to write graphics code in a portable fashion that the choice of API for you is Direct3D and not OpenGL. Sheesh.

Re:Obsolete? (1)

Gloume (581815) | more than 9 years ago | (#13466416)

An excellent example of disinformation and/or sarcasm. Well done.

Covers & Colors (5, Informative)

Anonymous Coward | more than 9 years ago | (#13466408)

The thing about these OpenGL books that makes them different from all the others on the market is that they are DEFINITIVE. They are put out by the OpenGL Architecture Review Board - who are the very people who design and update the API. If the books don't agree with the implementation - it's the implementation that's wrong!

The full set are as follows:

Red Book - Programming guide - chatty description which still has all of the arguments of all of the functions described within it. You *need* this book...expect to buy a new one every couple of years as the API evolves. Keep one copy at work and the last generation one at home...maybe keep the one before that in your car!

Blue Book - Reference Manual - quite literally a set of 'man' pages printed out and bound together in a book. Useful if you like to read books instead of screens.

Green Book - GLUT. Covers the GL Utility Toolkit. This is really rather unnecessary.

Alpha Book - OpenGL programming for Windows. (It actually has a white cover...but since we had the RGB books, we needed Alpha to complete the set!)

Orange Book - OpenGL shader language (GLSL). If you want to program at the cutting edge of realtime graphics, you'll be using shaders. It's written in a style broadly similar to the way the Red Book is written and is very readable.

Finally, there is the OpenGL specification document. This has (AFAIK) never been put into print (which is a great shame - I'd buy it) - you can download it from and it contains VERY detailed documentation of every function that goes far beyond any of the printed manuals - but which presumes you already know OpenGL pretty well. However, if you need to know the mathematical description of how OpenGL implementations are supposed to calculate the level of detail of your texture map...this is where you'll find that.

Whilst all the other books are handy to have around, the RedBook is utterly essential to OpenGL programmers (even those of us who've been using it for the whole eleven years of it's life will find themselves referring to it often enough to warrant owning a copy). The nice thing about it is that it's very readable. You can open it at page 1 knowing nothing - and read through to the end and wind up having learned all of OpenGL - or you can pretend it's a set of man pages and use the (excellent) index to find a simple description of every function and it's arguments that's *NEARLY* as good as the Blue Book.

Green Book (0)

Anonymous Coward | more than 9 years ago | (#13466635)

My copy of the green book is titled "OpenGL Programming for the X Window System", and it's much more than just a book about the GLUT. You learn how limited the GLUT is, and how to get down to basics.

Too Bad OpenGL Is Getting Crippled (0, Troll)

ThatDamnMurphyGuy (109869) | more than 9 years ago | (#13466429)

Too bad OpenGL is getting crippled [] in Windows Vista. By the time Vist is in full swng, OpelGL on windows can't possibly be as popular if it's performance is drained by the layering.

Re:Too Bad OpenGL Is Getting Crippled (5, Informative)

brain007 (798589) | more than 9 years ago | (#13466763)

It's great that you jump on the freak out bandwagon. MS has tried to kill OpenGL before and they will try again. It's not going to be that big of a deal. OpenGL is used way more then DirectX for everything non-games (yes, there is a world out there that doesn't involve games). Here's a clue [] for everyone who is freaking out about this and doesn't mind having an open mind and learning a thing or two in the process.

Re:Too Bad OpenGL Is Getting Crippled (1)

yo_tuco (795102) | more than 9 years ago | (#13467098)

Excellent link! Thanx.

Re:Too Bad OpenGL Is Getting Crippled (1)

IntergalacticWalrus (720648) | more than 9 years ago | (#13467254)

Yeah, though OpenGL on Windows has always been crippled to some extent on Windows.

For example, there is no way to change resolutions or switch to windowed/fullscreen without losing the entire context. It's a well known limitation of WGL. Of course, Direct3D has no such problem...

Also, out-of-the-box video drivers never include OpenGL support, and basically everyone but nVidia and ATI ships worthless OpenGL support with their drivers anyway.

Re:Too Bad OpenGL Is Getting Crippled (1)

daemonc (145175) | more than 9 years ago | (#13467309)

Yeah, though OpenGL on Windows has always been crippled to some extent on Windows.

Who would do such a thing???
Personally, I blame the Department of Redundancy Department.

Re:Too Bad OpenGL Is Getting Crippled (1)

daemonc (145175) | more than 9 years ago | (#13467338)

By the time Vist is in full swng, OpelGL on windows can't possibly be as popular if it's performance is drained by the layering.

By the time Vista is in full swing (2010?), no one will care about OpenGL performance on Windows, because they already switched to Linux and/or OS X Intel, both of which happen to have great OpenGL support.

Re:Too Bad OpenGL Is Getting Crippled (1)

Paralizer (792155) | more than 9 years ago | (#13467522)

OpenGL will be around as long as lead figures such as Carmack desire to use them. John has expressed frustration with some of the OpenGL API, but currently has no plans (at least publicly stated) to drop development with it. It's pretty safe to say with the position he and other large developers have over Windows gaming, Microsoft would never ignore support for it. To do so would be financially hazardous, why they push Direct3D is beyond me. What do they care what API developers are using for games for their OS? From what I've read, Vista will still have OpenGL support in the form of a D3D wrapper, and hardware manufactures can still make their own API's.

What the heck? (1)

CrackHappy (625183) | more than 9 years ago | (#13466547)

Has anyone actually read the Red Book? WTF is GL, or Open GL, or an API? What the hell does any of that have to do with the adventures of Frodo, or Bilbo.

I know - bad joke, but I just HAD to say it. The little elves in my head whisper evil things.

The "Red Book" huh ? (1)

justinmoo (907840) | more than 9 years ago | (#13466560)

Funny I thought that the Red Book refereed to all those nice free technical bookies that IBM has been providing for years.

Or is that Aussies used car prices ..

Slightly Offtopic (0)

Anonymous Coward | more than 9 years ago | (#13466642)

I've always wanted to get into graphics programming, but my maths isn't strong. Can anyone recommend any maths book(s) that can help get started graphics programming?


stop calling it the Red Book. (1)

nblender (741424) | more than 9 years ago | (#13466783)

Everyone already knows the Red Book is the Postscript Language Reference. s.htm

I did the cover for the Red Book (2, Interesting)

Thagg (9904) | more than 9 years ago | (#13466892)

I had originally wanted to make a Lego dinosaur, but the people in charge at SGI had thought that perhaps that was a message that they didn't want to put out there.

Anyway, if you're wondering, the idea of the globe is that you can make the whole world out of little tiny pieces -- which seems like OpenGL to me. OpenGL is a great library, beautifully orthogonal, simple, and consistent, just the right thing for building 3D applications.

And, btw, I think that the Google logo looks a whole lot like the OpenGL on the table in the book cover, but...hey, whatever.

Thad Beier

Red Book == Postscript (2, Insightful)

Sebastopol (189276) | more than 9 years ago | (#13467066)

My googling for jargon revealed that the Red Book is really a Postscript manual.

What gives?

Re:Red Book == Postscript (1)

nihilogos (87025) | more than 9 years ago | (#13467929)

There are, in fact, several red books. Another one is the 'Red Book of Westmarch' which is far more interesting reading than either.

New Red Book is Disappointing (1)

atcdevil (700926) | more than 9 years ago | (#13467772)

So the Red Book is going to continue down a path focusing on the fixed-function pipeline...

I had such high expectations of the next Red Book. I was hoping for a more modern approach to OpenGL. What a shame.

I'll wait for the next edition of the orange book

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?