OpenGL Reference Manual v1.4
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.
Can anybody recommend some good books on learning OpenGL?
Wouldn't a review of the OpenGL Programming Guide, listed towards the end been a bit more appropriate? I can see Brian Paul rubbing his hands with glee at the thoughts of this one, but for developers I think the programming guide plus the man pages are what you're looking for.
The OGL Programming Guide is put out by the OpenGL ARB. The version covering 1.1 was excellent.
Only if you believe that MS controls the gaming industry, and controls the graphics industry and controls....
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 to see what is possible with opengl.
From the practical point of view the version of OpenGL after 1.3 does not matter, because most of functionality are in extensions anyway. That make quite a mess, because if you are using OpenGL 1.4+ the same functionality present both in the extensions and the core.
> opengl, is the standard that runs gamecube, ps2,
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 hardware, not for some abstract layout.
> Direct3D has more features, because they don't follow an industry standard
D3D *is* the industry standard. Each new version shows what the new standard is.
Microsoft used to let the hardware vendors drive the versioning more, even when things are half-baked so you have all sort of crap like D3D ver 3. Forunately Microsoft has standardized on keeping the good ideas, so the process is less ad-hoc like it was in the early days.
OpenGL on the other hand, was built on a foundation that already *worked* (IrisGL), and was well thought (future revision was built-in), so it had less need to change. Unfortunately the ARB has failed to raise the priority and pursue development of new features.
DX won a long time ago (around ver 6) for game development.
And we (the devlopers) let it.
Fortunately nVidia, Mac, Linux, and id are keeping it on life support.