Home > Store > Programming > Graphic Programming

OpenGL Programming for Windows 95 and Windows NT

OpenGL Programming for Windows 95 and Windows NT

eBook (Adobe DRM)

  • Your Price: $28.76
  • List Price: $35.95
  • About Adobe DRM eBooks
  • This eBook requires the free Adobe® Digital Editions software.

    Before downloading this DRM-encrypted PDF, be sure to:


    • Install the free Adobe Digital Editions software on your machine. Adobe Digital Editions only works on Macintosh and Windows, and requires the Adobe Flash Player. Please see the official system requirements.
    • Authorize your copy of Adobe Digital Editions using your Adobe ID (select AdobeID as the eBook vendor). If you don't already have an Adobe ID, you can create one here.

Also available in other formats.

Register your product to gain access to bonus material or receive a coupon.

Description

  • Copyright 1997
  • Pages: 288
  • Edition: 1st
  • eBook (Adobe DRM)
  • ISBN-10: 0-321-62071-2
  • ISBN-13: 978-0-321-62071-2

The licensing of OpenGL to many leading computer companies, including Microsoft, has made it possible for graphics programmers to learn to write stunning 3D graphics programs using the industry graphics standard on the world's most popular operating system. And OpenGL Programming for Windows 95 and Windows NT is the key to the door of opportunity for those who see the tremendous potential for programmers who can produce high-quality 3D applications on these platforms.

Using numerous examples, Microsoft's Visual C++ programming platform, the C++ programming language, and the Microsoft Foundation Classes, Fosner starts with a generic C application that can be compiled from any 32-bit C compiler and, step by step, covers the basics of creating an OpenGL program:

  • Selecting the appropriate pixel format
  • Arranging the device context and rendering contexts
  • Enhancing OpenGL programs to achieve maximum speed
  • Using display lists and texture maps
  • Finding OpenGL enhancements hidden in your video driver
  • Programming OpenGL's Modelview matrix to get the effects you want
  • Providing rapid animation under Windows -- without bogging down the user interface.

Most important, you'll absorb this knowledge within the context of developing a Windows application that you can experiment with and actually use in your Windows programs. You will gain hands-on experience in designing, creating, programming, measuring, and optimizing a real OpenGL 3D animation program.

Sample Content

Table of Contents



OpenGL for Windows Programmers.

Overview of Device Contexts, Rendering.

Contexts, and Pixel Format.

Pixel Formats.

Pixel Format Structure.

Selecting and Examining a Pixel Format.

Rendering Contexts.

The WGL Context-Rendering Functions.

Methods for Creating an RC.

Fonts and OpenGL.

Double Buffering.

Advanced Miscellaneous Functions.

Creating a Simple OpenGL Program with the Windows CAPI.

Creating a Simple MFC C++ OpenGL Program.

Summary.



Understanding OpenGL.

What Does OpenGL Do?

Why OpenGL?

Who Controls OpenGL?

How OpenGL Works.

How a Vertex Becomes a Pixel.

The z-Buffer.

Hardware Accelerators.

Terminology.

Constructing Primitives.

The glBegin()/glEnd() Wrappers.

OpenGL Command Notation.

Vertex Commands.

OpenGL and DLLs.

OpenGL's Main Library.

OpenGL's Utility Library.

OpenGL's Auxiliary Library.

Summary.



Rendering with OpenGL.

Primitives.

OpenGL Points.

OpenGL Lines.

OpenGL Polygons.

Rendering Primitives.

Specifying a Color.

Calculating Normal Vectors.

Clearing the Rendering Window.

Summary.



Matrix Transformations Are Your Friends!

Elementary Transformations.

Rotation and Translations.

Scaling Transformations.

OpenGL's Modelview Matrix.

Modeling Transformations.

Viewing Transformations.

The Components of the Modelview Matrix.

Manipulating the Matrix Directly.

Viewport and Projection Transformations.

Viewport Transformations.

Projection Transformations.

Summary.



Try This: Creating a Windows OpenGL View Class.

Encapsulating OpenGL.

Architecture of the Model-View-Controller.

Building the OpenGL View Class Framework.

Customizing the View for OpenGL.

Using the CopenGLView Class.

Summary.



Try This: Display Lists and Fonts.

Caching OpenGL Commands.

Creating a Display List.

Recording a Display List.

Executing a Display List.

Generating a Unique Display List ID.

Deleting and Reusing Display List IDs.

Sequential Display Lists.

Sharing Display Lists between RCs and Threads.

Hierarchical Display Lists.

Using Display Lists in the CopenGLView Class.

Rendering Windows Fonts in OpenGL.

The wglUseFontBitmaps () Function.

Adding Bitmapped Text to CopenGLView.

The wglUseFontOutlines () Function.

Summary.



Try This: OpenGL and Animation.

Animation Loops in Windows.

A Slightly Less Extreme Animation Loop.

Letting Windows Tell Us When to Redraw.

Getting the Smoothest Animation Possible.



Try This: Colors, Materials, and Lights.

Color.

Color and Lighting.

Color and Shading.

Materials.

Types of Material Properties.

Specifying a Material Property.

Lighting.

Enabling Lighting.

Global Lighting.

Individual Light Sources.

Creating a Scene with Multiple Light Sources.

Optimizing the Rendering of Dynamically.

Changing Material Properties.



Try This: Textures.

Windows Bitmap Files.

A Quick Look at Windows DIB Format.

A Special Microsoft Extension.

Reading a Windows Bitmap into an OpenGL Image.

Changing an Image's Size.

Specifying a Texture.

Multiple Images and Large Images.

Generating Images of Multiple Levels of Detail.

Introducing the CopenGLImage Class.

Deciding between Decal and Modulation Mode.

Using CopenGLImage to Select the Image.

Controlling Image Quality.

Applying a Textures to a Surface.

Repeating Textures and the glTexParameter* () Function.

Texture Quality and Filtering.

Texture Objects in OpenGL 1.1.

Other Texture-Mapping Features.



Try This: Picking Objects in 3-Space.

Manipulating OpenGL Objects.

Using Selection Mode.

Creating Names and a Name Stack.

Determining Which Objects Are Picked.

Summary.



Advanced OpenGL Features.

Overview of OpenGL Extensions.

In Pursuit of Extensions.

Getting an Extension's Address.

The Vertex Array Extensions Found in OpenGL.



OpenGL 1.1.

Using Vertex Array Pointers.

Using Color Array Pointers.

Using Color-Index Array Pointers.

Using Normal Vector Array Pointers.

Using Edge-Flag Array Pointers.

Using Texture-Coordinate Array Pointers.

Enabling Vertex Array Functionality.

Rendering an Element of the Array.

Rendering All or Part of the Array.

Indirectly Rendering All or Part of the Array.

Manipulating Arrays of Vertex Arrays.

When to Modify Vertex Array Data.

OpenGL 1.1's Texture Objects.

OpenGL 1.1 Extensions.

The Silicon Graphics OpenGL Drivers-Cosmo OpenGL.

OpenGL and Windows 95.

Measuring Code Speed.

Shadows.

Fog.

Hardware Accelerators.



Try This: OpenGL Resources.


Index.

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership