Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming Books Media Graphics Software Book Reviews IT Technology

OpenGL Reference Manual v1.4 90

Tasha Jessup writes "The fourth edition of the OpenGL Reference Manual, edited by Dave Shreiner, provides an official command reference for the OpenGL graphics library version 1.4. Published by Addison Wesley, the text is approximately 760 pages and has a suggested retail price of $59.99." Read on for the rest of Jessup's brief review to see how well it justifies that pricetag, and for whom.
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.

This discussion has been archived. No new comments can be posted.

OpenGL Reference Manual v1.4

Comments Filter:
  • Learning OGL? (Score:5, Interesting)

    by Shadowlion ( 18254 ) on Thursday May 06, 2004 @02:05PM (#9075600) Homepage
    Can anybody recommend some good books on learning OpenGL?
    • Re:Learning OGL? (Score:2, Informative)

      by Anonymous Coward
      try the "opengl super bible", its pretty good.
    • Re:Learning OGL? (Score:5, Informative)

      by John Miles ( 108215 ) * on Thursday May 06, 2004 @02:09PM (#9075646) Homepage Journal
      The best introductory guide is the companion volume to the one being reviewed [amazon.com].

      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)

        by renoX ( 11677 )
        Be careful with The OpenGL Programming Guide, Fourth Edition!

        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..

      • A few years ago, I was learning OpenGL and purchased earlier versions of both the books mentioned above. However, neither of them proved half as useful as NeHe's OpenGL tutorials (http://nehe.gamedev.net); this site is probably the best place on the web to learn how to use OpenGL. my $0.02
    • Re:Learning OGL? (Score:3, Informative)

      by musikit ( 716987 )
      the books usually suck or are written by people only working on windows and teach DirectX Input at the same time for input.

      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)

        by MrBlue VT ( 245806 ) on Thursday May 06, 2004 @02:55PM (#9076115) Homepage
        Not true. The Redbook [amazon.com] (OpenGL Programming Guide) uses GLU or GLUT for input, so it is operating system independent. It also happens to be one of the best books for learning OpenGL.

        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)

      by Anonymous Coward on Thursday May 06, 2004 @02:10PM (#9075653)
      Here are some free online books for ya.

      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 /. Moderators killed my Karma
    • Re:Learning OGL? (Score:3, Interesting)

      by j1m+5n0w ( 749199 )

      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

      • I am a beginner in programming OpenGL stuff. In my opinion, the red book is easier to read comparing to Angel's book. It's just my personal experience. Just my 2 cents.
    • i would recommend some books to search for on amazon.. opengl Game Programming -- yeah a lot of it is windows but you get some practical, first hand code to get u started , even comes with some mostly written classes and some good examples on the accompanying CD. opengl red book - very good using mostly glut so its good on windows or linux. opengl shading language - i think this is the right title. there is also Linux Game Programming but i dunno how old it is. opengl as a forefront requires a lot of (or a
    • Beginning OpenGL Game Programming is a pretty good book for learning OpenGL. It's slanted towards windows development, but most of the book is platform independent (you just won't be able to compile the examples without modifying them). It covers a lot of extensions too, and deals with core OpenGL up to version 1.5.

      I should probably mention that I did the tech editing for this book, so make of that what you will.
      • yes this is the 2nd edition if you will up on top of the OGL Game PRogramming book that i just described above in my previous post. it is good indeed but leaves a lot of junk that the other book had out to put in information and code for the extension associated with OGL 1.5(2.0).
    • The reference manual is not what you should be interested in for learning. The specs are available online and can be downloaded easily. For learning you need to get the official OpenGL Programming Guide a.k.a. the Red Book.

      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)

      by Jamie Zawinski ( 775 )
      If you're a Unix user, "OpenGL Programming for the X Window System" [gamedev.net] by Mark Kilgard is a good one to get. That way you won't have to stumble around Windows-specific instructions. (It's a good book in general, too; fortunately there's not a whole lot about OpenGL that is either Windows- or Unix-specific.)

      Kilgard is the author of GLUT.

    • Re:Learning OGL? (Score:2, Informative)

      by Laser Lou ( 230648 )
      I found the book Beginning OpenGL Game Programming [amazon.com] to be a good for starting out in OpenGL.

      Note, it was previously published as OpenGL Game Programming [amazon.com]
      • It's not a book per se, but I would highly recommend the OpenGL tutorials at NeHe Productions [gamedev.net].

        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.
    • Whatever you do, DON'T buy the OpenGL Superbible [amazon.com]. It is a terrible book, consisting of uninteresting examples accompanied by banal attempts at a light-hearted introduction to the library that provide no insight whatsoever.

      I'd buy the Reference Manual reviewed here, and use the tutorials at nehe.gamedev.net [gamedev.net] for an entry point.
    • 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.

  • NeHe's tutorials... (Score:5, Informative)

    by Brando_Calrisean ( 755640 ) on Thursday May 06, 2004 @02:07PM (#9075621)
    I agree with the reviewer's sentiment that this is not the place to look as a beginner.
    I would recommend, even before checking out the mentioned 'Bible', taking a look at NeHe Production's OpenGL tutorials [gamedev.net] (see the sidebar).
  • Typos (Score:5, Informative)

    by andy666 ( 666062 ) on Thursday May 06, 2004 @02:07PM (#9075628)
    This thing is FILLED with typos, which is horrible for a reference manuel.
  • To buy the new version of the book if you already have the old version, esp. if you do not do much graphics programming. The previous version seems to contain a lot of the same content, though the API(which can be found online) is updated.
    • Go check it out [parallab.uib.no] and decide for yourself. While you're at it, you might even want to check out the specs [opengl.org]. A word of caution, however. The specs are really intended for card and GL server manufacturers. As a result, it tends to go into a lot of details that are often irrelevant to developing OpenGL applications.
  • by Anonymous Coward
    Wouldn't a review of the OpenGL Programming Guide, listed towards the end been a bit more appropriate? I can see Brian Paul [mesa3d.org] 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.
  • good book! (Score:5, Insightful)

    by Gingko ( 195226 ) on Thursday May 06, 2004 @02:09PM (#9075651)
    OpenGL has changed focus a good deal since the last edition, and as such it is particularly good to see this updated. Driven by concerns such as ATI, NVidia and Microsoft (I *think* they're still involved), a lot of work has been done on modernising, streamlining and orthoganalising (like that's a word!) the API and it is now a good deal more useful. We're now in a situation where OpenGL combines the modern feature set of Direct3D with the rigorous review process implied by the ARB, while the extension mechanism, for all its drawbacks, is an elegant way of staging expansion of functionality.

    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

    • ATI's involvement would make sense if they weren't by far the worst abusers of the OpenGL API. Seriously, it seems like half the GL commands just don't friggin work on the ATI drivers. If they don't want to hardware support a given function, fine, just shove in some MESA code and let it run slow, but right now most of them just don't freaking work.
    • Of course "orthogonalize" is a word. In addition to the more well-known (?) Gram-Schmidt orthonormalization algorithm, there is also one for orthogonalization where you don't normalize the vectors you find.
    • Microsoft (I *think* they're still involved)
      Hah! Microsoft [com.com]? Involved with the open standards process when they could be busy being anti-competitive [zdnet.co.uk] and leveraging their proprietary API instead?

    • Microsoft quit the OpenGL ARB in March 2003.
      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)

    by TheRealMindChild ( 743925 ) on Thursday May 06, 2004 @02:10PM (#9075657) Homepage Journal
    I recommend the OpenGL Super Bible [amazon.com] as a good reference book too.
  • Finally, having an electronic version of the text would have been a nice touch

    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)
  • The OGL Programming Guide is put out by the OpenGL ARB. The version covering 1.1 was excellent.
  • by Anonymous Coward
    This OpenGL Ref. Manual has been around for quite a while. Good that they noticed it though, even though it is not as useful as the Red book (the Programming Guide). Most of the info in the Ref manual can be found in man-pages.
  • Faster and cheaper (Score:5, Informative)

    by The Old Me ( 641450 ) on Thursday May 06, 2004 @02:14PM (#9075719)
    You can get the OpenGL spec (1.5!) for free from opengl.org, if you are a true hard-core OpenGL programmer.
    • by S3D ( 745318 )
      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.
  • The review didn't mention this, I'm wondering if there are there similar references available online so I don't have to drop $60?
  • That's something astonishingly exciting in this book, it extends 1.4 refernce manuals and it will last forever as... well.. 1.4 opengl reference manual.

    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)

    by magic ( 19621 ) on Thursday May 06, 2004 @02:47PM (#9076018) Homepage
    I'm really glad the book has been updated to version 1.4. The problem is that the API is currently on version 1.5 and the useful functions are all in extension (GL_vertex_buffer_object, GL_shader_objects) that aren't covered at all by the main API.

    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 .NET runtime across all versions of windows (embedded, CE, Xbox, desktop, server) and new features of DirectX NEXT are available.

    -m
    • There is a whole book in the series on OpenGL shader programming

      OpenGL(R) Shading Language [amazon.com]
    • by Namarrgon ( 105036 ) on Friday May 07, 2004 @01:56AM (#9081233) Homepage
      The problem is that the API is currently on version 1.5 and the useful functions are all in extension (GL_vertex_buffer_object, GL_shader_objects) that aren't covered at all by the main API.

      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 :-)

      ...runs identically on all cards

      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.

      ...and new features of DirectX NEXT are available.

      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).

  • Probably not as complete, but the man pages are free:

    http://www.cs.rutgers.edu/~decarlo/428/glman.html [rutgers.edu]
  • I was just looking for a review for this on /. yesterday. I've been stuck with the third edition for a while and was wondering if this was worth getting.
  • OpenGL 1.5 is already upon us looks like the authors can't keep up with the spec any more.
  • It seems a little arbitrary to include the X extensions, but not the Windows extensions (and apple assuming there are some). There are a number of OpenGL programmers who use Windows after all. And it's not like 10 or so extra functions would have made the book a lot thicker.

    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
  • two words (Score:3, Informative)

    by nuttyprofessor ( 83282 ) on Thursday May 06, 2004 @03:45PM (#9076654) Homepage
    man page.
    e.g., man glBegin.
    Actually, hypertexting through this the docs found here [opengl.org] is even better.
  • Missing Content (Score:2, Informative)

    by Anonymous Coward
    I was perfectly fine my previous red book but what got me to upgrade was that the back of the book promised an introduction to the ARB vertex and fragment programs. Well, unless the copy I have is missing a couple of pages, its NOT in there! I spent 2 nights pouring over the contents hoping that it was just not in the table of contents or indexed incorrectly, nope, its not in there...
  • opengl 2.0 (Score:2, Insightful)

    by Anonymous Coward
    in it's current form opengl is still a great opensource (mesa) crossplatform alternative to directX (in terms of graphics). But it is currently flailing, the revision of opengl 2.0 is greatly needed Hopefully all of the commitee can get the spec decided upon and out there, before directX forces everyone to develop using c#.
  • ...than what you have to pay to get a specification for USB, or PCMCIA cards, or many other things. The cost of getting the documentation kills many small projects before they begin, this at least is priced within the reach of most people who will actually need it.

    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

Solutions are obvious if one only has the optical power to observe them over the horizon. -- K.A. Arsdall

Working...