OpenGL Reference Manual v1.4 90
OpenGL Reference Manual v1.4 | |
author | Dave Shreiner |
pages | 760 |
publisher | Addison-Wesley |
rating | 8 |
reviewer | Tasha Jessup |
ISBN | 032117383X |
summary | Handy desk reference |
First introduced in 1992, OpenGL is an industry-standard graphical application programming interface (API) that supports 2D and 3D rendering across a host of platforms. The Architectural Review Board (ARB) governs the OpenGL API and oversees the adoption of new interface functions. Functions (or commands) within the API are usually simple and discrete. A developer calls a series of these small functions in sequence to specify rendering operations. To help utilize the library, the OpenGL Reference Manual supplies key functional documentation in a uniform manner.
The first two chapters provide an introduction to OpenGL, and an overview of the OpenGL architecture. The provided information is largely for reference rather than instruction. Generally, it is assumed the reader has a working knowledge of the pipeline already. The third and fourth chapters list different groupings of the functional commands to provide the reader with several methods to index and reference functions. The third chapter details all each official OpenGL command categorized by functionality. The fourth chapter lists the various OpenGL constants that are compatible with each command.
Beginning with the fifth chapter, 160 official OpenGL commands are described. Listed alphabetically, every command has the following sections: Name, Function Prototype, Parameters, Description, Notes, Errors, See Also, and (sometimes when appropriate) Associated Gets. The coverage of each command spans an average of 3 pages.
The last two chapters describe fifty-two of the OpenGL Utility Library (GLU) and thirty-five OpenGL X-Windows extension commands. The reference format is identical but slightly shorter (averaging about 2 pages per command).
Overall, the organization and consistency is excellent. Often, material is duplicated per command to save the reader cross-referencing other sections of the book. Throughout the text, the wording is clear and unambiguous (if a bit dry) -- exactly what you'd expect from a reference book of this nature.
The book does have a few shortcomings, however. There is only a small trace of sample source code. While the commands are presented alphabetically by class, the book contained no overall index. OpenGL Extensions (pixel and vertex shader commands, etc.) are not provided since they're not officially part of the Standard. Finally, having an electronic version of the text would have been a nice touch -- especially one that integrated with the common development environments to provide context sensitive help or electronic searching.
Overall, the latest edition of the OpenGL Reference Manual is a great companion for OpenGL developers. To get the most from this book, readers unfamiliar or interested in learning the API should first read the OpenGL Programming Guide, 4th Edition (ISBN 0-3-211-73491) also published by Addison Wesley.
You can purchase the OpenGL Reference Manual v1.4 from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, carefully read the book review guidelines, then visit the submission page.
Learning OGL? (Score:5, Interesting)
Re:Learning OGL? (Score:2, Informative)
Re:Learning OGL? (Score:5, Informative)
As far as the reviewer's desire for a searchable online reference goes, you can't beat Google, as usual. Just look up the function name in question, and it'll bring up the same information that the $60 dead-tree reference book would have given you.
Re:Learning OGL? (Score:3, Interesting)
Contrary to what is written on the cover, that is to say: "Most importantly, the ARB vertex and fragment program extension is introduced.", the book doesn't talk at all about the vertex and fragment programs (also known as shaders).
Despite this important false-advertising (lie?), it is still a good book for learning pure OpenGL 1.4.
But you'll have to buy another book to learn to use shaders..
Re:Learning OGL? (Score:1)
Re:Learning OGL? (Score:3, Informative)
gamedev.net should be sufficent enough to get you started. they'll have links to a lot of reference material and a board to ask questions too.
Re:Learning OGL? (Score:5, Informative)
There is a free (quasi-legal) copy of an old version located online [cc.fer.hr]. I'd recommend getting the newest version, 4, because it is updated for OpenGL 1.4.
Re:Learning OGL? (Score:5, Informative)
http://fly.cc.fer.hr/~unreal/theredbook/ [cc.fer.hr]
http://www.cs.man.ac.uk/applhax/OpenGL/ [man.ac.uk]
the Red Book is a good guide to everything OpenGl
--
Stupid
Re:Learning OGL? (Score:3, Interesting)
OpenGL, a Primer [amazon.com], Edward Angel. It's short, easy to understand, and tells you what you need to know to get reasonably complicated OpenGL programs working, without requiring prior knowledge of GL.
-jim
Re:Learning OGL? (Score:1)
Re:Learning OGL? what about OGL 1.5(2.0)? (Score:1)
Beginning OpenGL Game Programming (Score:2)
I should probably mention that I did the tech editing for this book, so make of that what you will.
Re:Beginning OpenGL Game Programming (Score:1)
Re:Learning OGL? (Score:2)
Infact some editions of teh red book are even available online in electronic format for example here:
http://fly.cc.fer.hr/~unreal/theredbook/ [cc.fer.hr]
Re:Learning OGL? (Score:3, Informative)
Kilgard is the author of GLUT.
Re:Learning OGL? (Score:2, Informative)
Note, it was previously published as OpenGL Game Programming [amazon.com]
Re:Learning OGL? (Score:2)
They've got a bunch of tutorials, starting with basic opengl stuff up to some very tricky effects.
Each tutorial goes step by step through downloadable C code examples, explaining everything.
I picked up most of what I know of OpenGL from it.
Re:Learning OGL? (Score:2)
I'd buy the Reference Manual reviewed here, and use the tutorials at nehe.gamedev.net [gamedev.net] for an entry point.
Read this if you want to learn OpenGL ... (Score:1)
No matter what book you choose, the red book or the cactus (green) [amazon.com] book, make sure you have a good foundation in Linear Algebra. Rendering geometry with OpenGL is no more than programming the API to do Linear Algebra for you.
Re:I Heard.... (Score:1, Interesting)
opengl, is the standard that runs gamecube, ps2, many pc games, and is the standard that is used for anything non-microsoft.
Direct3D has more features, because they don't follow an industry standard, they are able to develop faster. You will also notice that Direct3d contains a very thin wrapper to OpenGL as well.
Take a look at NeHe productions [gamedev.net] to see what is possible with opengl.
Re:I Heard.... (Score:2)
D3D does not wrap OpenGL.
Re:I Heard.... (Score:3, Interesting)
NO, OpenGL it is NOT the standard on ps2. Yes, there was a ps2gl, but that was unofficial, and no one would ever use it in a game, since fundamental features will *never* be natively supported in hardware on the PS2 - i.e. *SLOW* as molasses. (Lack of Stencil is one, allthough there are some pretty cool tricks/hacks to fake it, but then you break the OpenGL paradigm.) The only way to get maximum performance out of the VU's is to optimize for the hardw
Re:I Heard.... (Score:2)
Not exactly tiny players. Saying that "id" is keeping it on life support adds a number of companies who license id's technology. Also, let's not forget to add Epic to your list, with their fabulous cross-platform Unreal series.
Re:I Heard.... (Score:2)
> And we (the developers) let it.
> Fortunately nVidia, Mac, Linux, and id are keeping it on life support.
Gasp, I think that Apple is the most guilty here for why DX has won!
Back in the past, instead of using OpenGL, it created its own technology (can't remember the word) which of course was nearly totally unused..
Only recently Apple switched to OpenGL, if Apple had suffer less from the "Not Invented Here" syndrome, OpenGL may have won..
NeHe's tutorials... (Score:5, Informative)
I would recommend, even before checking out the mentioned 'Bible', taking a look at NeHe Production's OpenGL tutorials [gamedev.net] (see the sidebar).
Re:NeHe's tutorials... (Score:3, Informative)
One of the great sites out there!
Re:NeHe's tutorials... (Score:3, Informative)
GameTutorials also has some great OpenGL/Programming tutorials.
Typos (Score:5, Informative)
Re:Typos (Score:5, Funny)
Horrible for a slashdot post too.
Re:Typos (Score:3, Funny)
Horrible for a slashdot post too.
Yes, that line end should be reference, Manuel.
You'll have to excuse him, he's from Barcelona.
Re:Typos (Score:2)
Keh?
In your best John Cleese voice, imagine... (Score:1)
Basil: "Do you have any references?"
Walk-on: "Yes, I know your waiter."
Basil: "Manuel!" (desk bell)
Manuel: "Si, Mr Fawlty?"
Basil: "Good lord, you're full of typos!" (whack)
Manuel: "Waa!"
(laugh track here)
I wonder if it is worth it (Score:2)
Re:I wonder if it is worth it (Score:2)
next week - list of C reserved words! (Score:1, Interesting)
Re:next week - list of C reserved words! (Score:2)
good book! (Score:5, Insightful)
This book is really one of a pair - it's not the OpenGL Programming Guide (the Red Book) and as such is not supposed to educate a newcomer to OpenGL on how to make use of the API and accomplish simple tasks. This would explain much of the lack of tutorial code. This book really is supposed to be a dictionary, an expanded set of documentation and assuming it sticks to the format of the previous editions will become just as well-worn occupant of my shelf as its predecessor.
Henry
Re:good book! (Score:2)
"orthogonalize" (Score:2)
Re:good book! (Score:1)
Re:good book! (Score:2)
A good thing too. IMO, they were just there to keep an eye on the competition and stifle growth.
Kind of like freemasons sitting in on church committees.
OpenGL Super Bible (Score:4, Informative)
Re:OpenGL Super Bible (Score:2)
i second the e-text motion (Score:1)
Truly, if you're programming, and using a reference manual at the same time (I don't know anyone who has the OpenGL spec memorized), it really slows you down if you have to switch from screen to book constantly.
On the plus side, it's only a matter of time before the text gets scanned and posted to the usual suspects. (names omitted to protect the innocent, and stymie the unlearned)
Already online (Score:1)
Open GL Programming Guide (Score:2, Interesting)
Where is the news here? (Score:1, Informative)
Faster and cheaper (Score:5, Informative)
Re:Faster and cheaper (Score:3, Interesting)
Good OpenGL online references? (Score:2)
I feel very excited of this book (Score:1, Funny)
I'm kind of historian and keeping the count of varios books published.
Here's my summary of hits:
"How To Become 3d Artist/Programmer With OpenGL And Be Just Cool As John Carmack", published n/0 times.
"How To Become 3d Artist/Programmer With Direct3D And Be Just Cool As Bill Gates", published (n-10000)/0 times.
"Request For Comments Refernce Manual - All Y
I'm torn (Score:4, Insightful)
The OpenGL consortium needs to get its act together. DirectX has an incredibly streamlined API with up-to-date documentation that includes all of the latest hardware features and runs identically on all cards. OpenGL is saddled with backward compatibility across 10 years and the latest features are all vendor-specific. The OpenGL 2.0 proposal doesn't go far enough; it basically brings OpenGL up to DirectX 9.0, while Microsoft is already releasing information about DirectX NEXT, which will be the new generation of graphics APIs.
Frankly, the only reason I put up with OpenGL is that it runs on Linux and Mac. Portability is ceasing to be a compelling argument when the common
-m
Re:I'm torn (Score:2)
OpenGL(R) Shading Language [amazon.com]
DX vs OpenGL extensions (Score:5, Insightful)
I'm with you here. I get better reference material on the net.
DirectX has an incredibly streamlined API...
Man, I so totally disagree (this is COM we're talking about), but perhaps that's just me :-)
Uh uh, it most certainly does not. DirectX runs very differently on a 9800XT vs a TNT2. Obviously.
OpenGL's ARB and vendor extensions are good and bad - good because you get the very latest hardware features immediately and you don't have to wait a year or two for the (admittedly slow) ARB to decide whether they like them or not. Bad because the vendor extensions at least aren't standardized, and if you want to use them, chances are you'll need multiple code paths for different vendor hardware. ARB extensions are standard, but of course not all hardware supports them (or indeed, older hardware may not support the newer versions of OpenGL).
Instead, DirectX uses capability bits to differentiate between hardware. If you want a new feature, you have to wait until MS gets around to supporting it (e.g. PS 3.0, even though that's already been defined, cannot be used until you get DX9.0c). MS do update DX more regularly than the ARB (they have to, without vendor extensions), but you could still be waiting a while. You still need multiple codepaths to cope with different hardware caps - no difference there, and you may still have to deal with cards that don't have drivers for the latest DX at all.
OpenGL is saddled with backward compatibility
OpenGL 2.0 reinvents the API to cope with programmable hardware, and mitigates that effect fairly well.
Microsoft is already releasing information about DirectX NEXT
Yeah, like what? Nothing exactly useful. You won't see much from MS for quite a while.
the only reason I put up with OpenGL is that it runs on Linux and Mac. Portability is ceasing to be a compelling argument when the common .NET runtime across all versions of windows (embedded, CE, Xbox, desktop, server)
That's hardly much portability - it doesn't run on Linux and Mac. OpenGL is available on many more platforms than .NET, let alone DirectX.
That could still be some time. I don't think .NET is going to solve portability problems anytime soon, especially for games, professional apps etc, any more than Java did (and probably somewhat less).
If you are look for a free equivalent (Score:2)
http://www.cs.rutgers.edu/~decarlo/428/glman.html [rutgers.edu]
was just looking (Score:1)
But we're on OpenGL 1.5 already (Score:2)
Why X but not Windows (Score:1)
Really though, the main addition a typical programmer would benefit from is a list of some of the more common extensions. Even if they're terse, and give only the briefest of descriptions, it would be nice to know what extensions m
Re:Why X but not Windows (Score:1)
two words (Score:3, Informative)
e.g., man glBegin.
Actually, hypertexting through this the docs found here [opengl.org] is even better.
Missing Content (Score:2, Informative)
opengl 2.0 (Score:2, Insightful)
It is a lot cheaper.... (Score:2)
But, I expect I will not be one of them, I am not into that kind of programming. However, I would like to get at proper USB, PCI and PCMCIA specifications right now, and others from time to time, without paying silly money. Oh yes, and a proper, c