OpenGL SuperBible

Paperback
from $0.00

Author: Richard S. Wright

ISBN-10: 0321712617

ISBN-13: 9780321712615

Category: Graphics Programming

Search in google:

OpenGL SuperBible, Third Edition is a comprehensive, hands-on guide that provides everything you need to program with the new version of OpenGL. This newly expanded edition covers OpenGL 1.5, OpenGL 2.0's Shading Language, ARB low-level shader extensions, and programming details for Windows, Mac OS X, and Linux. Designed for programmers who want to master OpenGL and expand their knowledge of graphics programming and 3D graphics, and also for seasoned OpenGL programmers who need assistance porting their applications, this learning tool serves as both a tutorial and a reference manual that can be used time and again. Find the necessary guidance in applying complex concepts, such as drawing in space; points, lines, and polygons; moving around in space; color, lighting, and materials; raster graphics in OpenGL; texture mapping; 3D modeling and object composition; fog and blending visual effects; curves and surfaces, and more. Learn how to: Create three-dimensional objects on your PC Move your objects or yourself around in a virtual world Use techniques for fast real-time rendering on Windows, Mac OS X, and Linux. Make use of OpenGL hardware acceleration Create interactive three-dimensional scenes Take advantage of programmable graphics hardware with the new OpenGL shading language CD-ROM includes: Complete source code for all example programs (Windows, Mac OS X, and Linux) The GLUT Library and Render Monkey for Windows Demo Version of Right Hemisphere's Deep Exploration The Complete OpenGL specification in Adobe Acrobat Format A Collection of additional OpenGL example programs

Introduction1Part 1Nuts and Bolts--an Introduction to the OpenGL APIChapter 13D Graphics Fundamentals9What's This All About?9A Brief History of Computer Graphics9A Survey of 3D Effects13Common Uses for 3D Graphics17Basic 3D Programming Principles21Summary28Chapter 2What is OpenGL?29Evolution of a Standard30How Does OpenGL Work?32Summary35Chapter 3Using OpenGL37What you'll learn in this chapter37OpenGL: An API, Not a Language37API Specifics40Platform Independence43Your First Program45Drawing Shapes with OpenGL51Animation with OpenGL and GLUT58Finally Some 3D!63Summary64Reference Section65Chapter 4Drawing in Space: Lines, Points, and Polygons79What you'll learn in this chapter79Drawing Points in 3D80Setting Up a 3D Canvas80A 3D Point: the Vertex82Draw Something!83Setting the Point Size87Drawing Lines in 3D90Drawing Triangles in 3D98Building Solid Objects102Other Primitives111Summary120Reference Section120Chapter 5Moving Around in Space: Coordinate Transformations135What you'll learn in this chapter135Is This the Dreaded Math Chapter?136Understanding Transformations136Matrix Munching142Using Projections154Advanced Matrix Manipulation161Summary163Reference Section163Chapter 6Color, Lighting, and Materials173What you'll learn in this chapter173What Is Color?174PC Color Hardware177PC Display Modes178Using Color in OpenGL180Color in the Real World186Materials in the Real World188Adding Light to a Scene191Using a Light Source195Lighting Effects206Putting It All Together211Shadows219Summary225Reference Section225Part 2Meat and Potatoes--the Staples of Opengl RenderingChapter 7Raster Graphics in Opengl241What you'll learn in this chapter241Drawing Bitmaps242Bitmap Fonts245Bitmaps with Color--Pixmaps250A Windows .BMP File Viewer252Drawing Images with Transparency256Drawing Indexed Images258Panning an Image259Reading Images259Copying Images262Writing .BMP Files262Summary263Reference Section264Chapter 8Texture Mapping273What you'll learn in this chapter273The Basics of Texture Mapping274Defining Texture Images275Putting It All Together--A 1D Texture Example279A 2D Texturing Example281Using More Than One Texture Image281A Terrain Viewing Program286Automatically Generating Texture Coordinates289Mipmapped Textures290Lighting with Textures294Replacing Texture Image Data2973D Texturing298Summary299Reference Section300Chapter 93d Modeling and Object Composition309What you'll learn in this chapter309Defining the Task310Constructing a Model, One Piece at a Time313Preprocessing Your Models325Summary341Reference Section341Chapter 10Visual Effects: Blending and Fog359What you'll learn in this chapter359Blending359Fog365Back to the Terrain Viewing Program367Summary368Reference Section369Chapter 11Buffers: Not Just for Animation371What you'll learn in this chapter371What Are Buffers?372Configuring Buffers Using WIN32 Functions375Configuring Buffers Using GLUT Functions378Picking Only the Buffers You Need378The Color Buffer379The Depth Buffer380The Stencil Buffer386The Accumulation Buffer389Summary393Reference Section393Chapter 12Beyond Lines and Triangles397What you'll learn in this chapter397Quadrics398Drawing a Pencil402Complex Polygons404Combining Quadrics and Polygon Tessellators411Tessellating Height Fields (Grids)415Improving the Terrain Viewing Program416Summary417Reference Section418Chapter 13Curves and Surfaces: What the #%@!& Are Nurbs?429What you'll learn in this chapter429Curves and Surfaces430Evaluators432Nurbs441Summary448Reference Section448Chapter 14Interactive Graphics471What you'll learn in this chapter471Selection472Feedback483A Feedback Example485Summary492Reference Section492Chapter 15Imaging With Opengl503What you'll learn in this chapter503Basics of the OpenGL Imaging Extension503The Color Matrix504Convolution (Filtering)508Histogram Equalization509Summary510Reference Section510Chapter 16Common Opengl Extensions515What you'll learn in this chapter515What Extensions Are Available?515When Should I Use an Extension?516Checking for Extension Availability516The Swap Hint Extension518The Vertex Culling Extension520The Multi-Texture Extension523Summary525Reference Section525Part 3Opengl for Windows: Opengl + Win32 = WiggleChapter 17The Opengl Pixel Format and Rendering Context531What you'll learn in this chapter531OpenGL Implementations on Windows532Basic Windows Rendering534Putting It All Together545Windows Palettes555OpenGL and Windows Fonts565Full-Screen Rendering568Multithreaded Rendering572Summary573Reference Section574Chapter 18Non-Windowed Rendering595The Basics of Offscreen Rendering595Saving to a BMP File598Printing Images601Metafiles602Summary604Chapter 19Real-Time Programming with Opengl605What you'll learn in this chapter605How Fast Is Fast?606Windows Animation Techniques608Putting the "Real" in Real-Time625Scene Graph Basics635Other Real-Time Techniques642Summary643Part 4AppendixesAppendix ASummary of Opengl Updates647Version 1.1December 1995647Version 1.2March 1998648Appendix BFurther Reading649Windows Programming Books649OpenGL Books6493D Graphics Books649The Web650Appendix CThe Opengl State Machine651Basic OpenGL State Functions651Saving and Restoring States652Reference Section657Appendix DGlossary661Index665