- Shopping Bag ( 0 items )
The OpenGL Programming Guide, Fourth Edition, provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. The previous edition covered OpenGL through version 1.2. This fourth edition of the best-selling guide describes all of the latest features of OpenGL versions 1.3 and 1.4, as well as the important OpenGL Architecture Review Board (ARB) extensions.
You will find clear explanations of OpenGL functionality and many basic computer graphics techniques, such as building and rendering 3D models; interactively viewing objects from different perspective points; and using shading, lighting, and texturing effects for greater realism. In addition, this book provides in-depth coverage of advanced techniques, including texture mapping, antialiasing, fog and atmospheric effects, NURBS, image processing, and more. The text also explores other key topics such as enhancing performance, OpenGL extensions, and cross-platform techniques.
This fourth edition has been extensively updated to include the newest features of OpenGL, versions 1.3 and 1.4, including:
Most importantly, the ARB vertex and fragment program extension is introduced. Many new example programs have been incorporated as well.
|About This Guide|
|1||Introduction to OpenGL||1|
|2||State Management and Drawing Geometric Objects||27|
|6||Blending, Antialiasing, Fog, and Polygon Offset||223|
|8||Drawing Pixels, Bitmaps, Fonts, and Images||295|
|11||Tessellators and Quadrics||487|
|12||Evaluators and NURBS||515|
|13||Selection and Feedback||551|
|14||Now That You Know||581|
|A||Order of Operations||613|
|C||OpenGL and Window Systems||659|
|D||Basics of GLUT: The OpenGL Utility Toolkit||683|
|E||Calculating Normal Vectors||691|
|F||Homogeneous Coordinates and Transformation Matrices||697|
The OpenGL graphics system is a software interface to graphics hardware. (The GL stands for Graphics Library.) It allows you to create interactive programs that produce color images of moving three-dimensional objects. With OpenGL, you can control computer-graphics technology to produce realistic pictures or ones that depart from reality in imaginative ways. This guide explains how to program with the OpenGL graphics system to deliver the visual effect you want.
This guide has 14 chapters. The first five chapters present basic information that you need to understand to be able to draw a properly colored and lit three-dimensional object on the screen.
The remaining chapters explain how to optimize or add sophisticated features to your three-dimensional scene. You might choose not to take advantage of many of these features until you're more comfortable with OpenGL. Particularly advanced topics are noted in the text where they occur.
In addition, there are several appendices that you will likely find useful:
Finally, an extensive Glossary defines the key terms used in this guide.
The fourth edition of the OpenGL Programming Guide includes new and updated material, covering both OpenGL Version 1.3 and 1.4:
Coverage of the following new core capabilities of OpenGL Version 1.3 have been added:
Coverage of these OpenGL Version 1.4 core features:
The previously published section on multitexturing has been updated to reflect the promotion of multitexturing to the core OpenGL feature set
This guide assumes only that you know how to program in the C language and that you have some background in mathematics (geometry, trigonometry, linear algebra, calculus, and differential geometry). Even if you have little or no experience with computer-graphics technology, you should be able to follow most of the discussions in this book. Of course, computer graphics is a huge subject, so you may want to enrich your learning experience with supplemental reading:
Ano place for all sorts of general information is the Official OpenGL Web Site. This Web site contains software, documentation, FAQs, and news. It is always a good place to start any search for answers to your OpenGL questions
Once you begin programming with OpenGL, you might want to obtain the OpenGL Reference Manual by the OpenGL Architecture Review Board (also published by Addison-Wesley), which is designed as a companion volume to this guide. The Reference Manual provides a technical view of how OpenGL operates on data that describes a geometric object or an image to produce an image on the screen. It also contains full descriptions of each set of related OpenGL commands--the parameters used by the commands, the default values for those parameters, and what the commands accomplish. Many OpenGL implementations have this same material online, in the form of manual pages or other help documents, which are probably more up-to-date. There are also versions on the World Wide Web; consult the previously mentioned Official OpenGL Web Site.
OpenGL is really a hardware-independent specification of a programming interface, and you use a particular implementation of it on a particular kind of hardware. This guide explains how to program with any OpenGL implementation. However, since implementations may vary slightly--in performance and in providing additional, optional features, for example--you might want to investigate whether supplementary documentation is available for the particular implementation you're using. In addition, you might have OpenGL-related utilities, toolkits, programming and debugging support, widgets, sample programs, and demos available to you with your system.
This guide contains many sample programs to illustrate the use of particular OpenGL programming techniques. These programs make use of Mark Kilgard's OpenGL Utility Toolkit (GLUT). GLUT is documented in OpenGL Programming for the X Window System by Mark Kilgard (Addison-Wesley, 1996). The section "OpenGL-Related Libraries" in Chapter 1 and Appendix D give more information about using GLUT. If you have access to the Internet, you can obtain the source code for both the sample programs and GLUT for free via anonymous ftp (file-transfer protocol).
For the source code examples found in this book, grab one of these files (depending on which decompression/extraction tools you have):
Use the appropriate tools to uncompress and/or extract the source code from these archive files.
For Mark Kilgard's source code for GLUT (for Microsoft Windows or the X Window System), check this Web page to find out what current version of GLUT is available and from where to download the source code. Many implementations of OpenGL might also include the code samples as part of the system. This source code is probably the best source for your implementation, because it might have been optimized for your system. Read your machine-specific OpenGL documentation to see where the code samples can be found.
Nate Robins has written a suite of tutorial programs that demonstrate basic OpenGL programming concepts by allowing the user to modify the parameters of a function and interactively see their effects. Topics covered include transformations, lighting, fog, and texturing. These highly recommended tutorials are portable and require the aforementioned GLUT.
Undoubtedly this book has errors. If you find any bugs, you can use the pointer at this Web site to report them.
Posted December 25, 2003
A nifty explanation of practical graphics programming. Not so long ago (well, the 80s), if you wanted to do computer graphics with, say, a light source and Gourard shading, the only recourse was a $100 000 Evans and Sutherland machine. Plus, any code was in the latter's native graphics library, further increasing your dependence on that company. Along came SGI, who basically then took the workstation graphics market in the 90s. One of the good things SGI did was to promote OpenGL as a set of graphics routines. Gradually, with each iteration of OpenGL, it moved from a dependence on SGI hardware and IRIX (their version of Unix) to a software interface that frees you from a given hardware platform. This, and the sheer functional sweep of the graphics capabilities described in the book, may make OpenGL the easiest way for anyone to learn and apply graphics. The book describes such necessities (which is what these have become nowadays) as texture mapping, NURBS, tesselations and motion blur. The book covers topics up to, but not including, ray tracing. The book is an ideal companion to a pure graphics text, that goes into the theory. The emphasis here is on showing how you can apply that theory, without having to code elementary operations from scratch. The authors do describe some theory, but only the pragmatic minimum necessary to motivate an explanation of the library's routines. In other words, you will not get drowned in maths!Was this review helpful? Yes NoThank you for your feedback. Report this reviewThank you, this review has been flagged.