
OpenGL SuperBible
by Wright, Richard S; Lipchak, Benjamin-
Free Shipping On Orders Over $35
Your order must be $35 or more to qualify for free economy shipping. Marketplace items, eBooks and apparel do not qualify towards the $35 purchase minimum.
Rent Book
New Book
We're Sorry
Sold Out
Used Book
We're Sorry
Sold Out
eBook
We're Sorry
Not Available
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Author Biography
Table of Contents
Introduction | p. 1 |
Classic OpenGL | |
Introduction to 3D Graphics and OpenGL | p. 11 |
What's This All About? | p. 11 |
A Brief History of Computer Graphics | p. 11 |
A Survey of 3D Effects | p. 15 |
Common Uses for 3D Graphics | p. 21 |
Basic 3D Programming Principles | p. 24 |
Summary | p. 32 |
Using OpenGL | p. 33 |
What Is OpenGL? | p. 33 |
How Does OpenGL Work? | p. 41 |
OpenGL: An API, Not a Language | p. 44 |
API Specifics | p. 45 |
Platform Independence | p. 48 |
Animation with OpenGL and GLUT | p. 62 |
The OpenGL State Machine | p. 68 |
OpenGL Errors | p. 69 |
Identifying the Version | p. 71 |
Getting a Clue with glHint | p. 71 |
Using Extensions | p. 72 |
Summary | p. 74 |
Reference | p. 75 |
Drawing in Space: Geometric Primitives and Buffers | p. 89 |
Drawing Points in 3D | p. 90 |
Setting Up a 3D Canvas | p. 90 |
A 3D Point: The Vertex | p. 92 |
Draw Something! | p. 93 |
Setting the Point Size | p. 97 |
Drawing Lines in 3D | p. 100 |
Drawing Triangles in 3D | p. 109 |
Building Solid Objects | p. 112 |
Other Primitives | p. 122 |
Other Buffer Tricks | p. 132 |
Summary | p. 141 |
Reference | p. 142 |
Geometric Transformations: The Pipeline | p. 159 |
Is This the Dreaded Math Chapter? | p. 159 |
Understanding Transformations | p. 160 |
The Matrix: Mathematical Currency for 3D Graphics | p. 166 |
Using Projections | p. 178 |
Advanced Matrix Manipulation | p. 186 |
Moving Around in OpenGL Using Cameras and Actors | p. 193 |
Bringing It All Together | p. 196 |
Summary | p. 203 |
Reference | p. 204 |
Color, Materials, and Lighting: The Basics | p. 211 |
What Is Color? | p. 212 |
PC Color Hardware | p. 215 |
PC Display Modes | p. 216 |
Using Color in OpenGL | p. 218 |
Color in the Real World | p. 224 |
Materials in the Real World | p. 227 |
Adding Light to a Scene | p. 229 |
Using a Light Source | p. 234 |
Lighting Effects | p. 244 |
Putting It All Together | p. 250 |
Shadows | p. 258 |
Summary | p. 265 |
Reference | p. 266 |
More on Colors and Materials | p. 275 |
Blending | p. 275 |
Fog | p. 286 |
Accumulation Buffer | p. 289 |
Other Color Operations | p. 292 |
Summary | p. 294 |
Reference | p. 295 |
Imaging with OpenGL | p. 301 |
Bitmaps | p. 301 |
Pixel Packing | p. 309 |
Pixmaps | p. 310 |
More Fun with Pixels | p. 320 |
The Imaging "Subset" | p. 335 |
Summary | p. 353 |
Reference | p. 353 |
Texture Mapping: The Basics | p. 375 |
Loading Textures | p. 376 |
Mapping Textures to Geometry | p. 380 |
A Simple 2D Example | p. 383 |
Texture Environment | p. 390 |
Texture Parameters | p. 392 |
Texture Objects | p. 405 |
Summary | p. 416 |
Reference | p. 416 |
Texture Mapping: Beyond the Basics | p. 435 |
Secondary Color | p. 435 |
Anisotropic Filtering | p. 438 |
Texture Compression | p. 440 |
Texture Coordinate Generation | p. 443 |
Multitexture | p. 457 |
Texture Combiners | p. 465 |
Summary | p. 467 |
Reference | p. 467 |
Curves and Surfaces | p. 477 |
Built-in Surfaces | p. 478 |
Bezier Curves and Surfaces | p. 487 |
NURBS | p. 501 |
Tessellation | p. 508 |
Summary | p. 518 |
Reference | p. 519 |
It's All About the Pipeline: Faster Geometry Throughput | p. 547 |
Model Assembly 101 | p. 548 |
Display Lists | p. 563 |
Measuring Performance | p. 567 |
Vertex Arrays | p. 574 |
Summary | p. 596 |
Reference | p. 596 |
Interactive Graphics | p. 611 |
Selection | p. 612 |
A Feedback Example | p. 627 |
Summary | p. 634 |
Reference | p. 634 |
OpenGL Everywhere | |
Wiggle: OpenGL on Windows | p. 643 |
OpenGL Implementations on Windows | p. 644 |
Basic Windows Rendering | p. 647 |
Putting It All Together | p. 658 |
Windows Palettes | p. 669 |
OpenGL and Windows Fonts | p. 679 |
Full-Screen Rendering | p. 685 |
Multithreaded Rendering | p. 689 |
OpenGL and WGL Extensions | p. 690 |
Summary | p. 725 |
Reference | p. 725 |
OpenGL on MacOS X | p. 743 |
The Basics | p. 743 |
Using the AGL and Carbon APIs | p. 744 |
Using the Cocoa API | p. 775 |
Summary | p. 788 |
Reference | p. 788 |
GLX: OpenGL on Linux | p. 793 |
The Basics | p. 793 |
The OpenGL Extension for the X Window System | p. 797 |
Creating Bitmap Fonts for OpenGL | p. 812 |
Offscreen Rendering | p. 825 |
Using the Motif Library | p. 839 |
Summary | p. 855 |
Reference | p. 855 |
OpenGL: The Next Generation | |
Buffer Objects: It's Your Video Memory; You Manage It! | p. 865 |
First, You Need Vertex Arrays | p. 867 |
Migration to Buffer Objects | p. 872 |
Loading Data into Buffer Objects | p. 874 |
A Few Loose Ends | p. 881 |
Summary | p. 882 |
Reference | p. 882 |
Occlusion Queries: Why Do More Work Than You Need To? | p. 891 |
The World Before Occlusion Queries | p. 892 |
Bounding Boxes | p. 895 |
Querying the Query Object | p. 900 |
Summary | p. 903 |
Reference | p. 903 |
Depth Textures and Shadows | p. 907 |
Be That Light | p. 908 |
A New Kind of Texture | p. 913 |
Draw the Shadows First?! | p. 913 |
And Then There Was Light | p. 914 |
Two Out of Three Ain't Bad | p. 925 |
A Few Words About Polygon Offset | p. 926 |
Summary | p. 927 |
Reference | p. 928 |
Programmable Pipeline: This Isn't Your Father's OpenGL | p. 931 |
Out with the Old | p. 932 |
In with the New | p. 936 |
Introduction to Shader Extensions | p. 940 |
Summary | p. 944 |
Low-Level Shading: Coding to the Metal | p. 945 |
Managing Low-Level Shaders | p. 946 |
Instruction Sets | p. 950 |
Variable Types | p. 954 |
Input and Output Modifiers | p. 961 |
Resource Consumption and Queries | p. 963 |
Shader Options | p. 966 |
Summary | p. 967 |
Reference | p. 967 |
High-Level Shading: The Real Slim Shader | p. 981 |
Managing High-Level Shaders | p. 982 |
Variables | p. 987 |
Expressions | p. 991 |
Control Flow | p. 995 |
Summary | p. 999 |
Reference | p. 999 |
Vertex Shading: Do-It-Yourself Transform, Lighting, and Texgen | p. 1015 |
Getting Your Feet Wet | p. 1015 |
Diffuse Lighting | p. 1018 |
Specular Lighting | p. 1021 |
Improved Specular Lighting | p. 1024 |
Per-Vertex Fog | p. 1032 |
Per-Vertex Point Size | p. 1037 |
Customized Vertex Transformation | p. 1040 |
Vertex Blending | p. 1043 |
Summary | p. 1049 |
Fragment Shading: Empower Your Pixel Processing | p. 1051 |
Color Conversion | p. 1052 |
Image Processing | p. 1061 |
Lighting | p. 1072 |
Procedural Texture Mapping | p. 1083 |
Summary | p. 1103 |
Further Reading | p. 1105 |
Other Good OpenGL Books | p. 1105 |
3D Graphics Books | p. 1105 |
Web Sites | p. 1106 |
Glossary | p. 1107 |
OpenGL ES | p. 1113 |
Reduction of Data Types | p. 1113 |
Totally Gone | p. 1114 |
Greatly Reduced Functionality | p. 1115 |
Texture Mapping | p. 1115 |
Raster Operations | p. 1115 |
Lighting | p. 1115 |
Conclusion | p. 1116 |
Index | p. 1117 |
Table of Contents provided by Ingram. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.