OpenGL Programming Guide for Mac OS X
PDF
Introduction
OpenGL on the Mac Platform
Structure of OpenGL in Mac OS X
Programming Interfaces
Terminology
Running an OpenGL Program in Mac OS X
See Also
Drawing to a Window or View
General Approach
Drawing to a Cocoa View
Drawing to a Carbon Window
What's Next
See Also
Drawing to the Full Screen
General Approach
Using Cocoa to Create a Full-Screen Context
Using AGL to Create a Full-Screen Context
Using CGL to Create a Full-Screen Context
Adjusting Display Modes
What's Next?
See Also
Drawing Offscreen
Setting Up an Offscreen Drawable Object
Using a Hidden View or Window
Rendering to a Pixel Buffer
Rendering to a Framebuffer Object
See Also
Determining the OpenGL Capabilities Supported by the Hardware
Detecting Functionality
Guidelines for Code That Checks for Functionality
See Also
Techniques for Working with Rendering Contexts
Context Parameters
Updating a Rendering Context
Sharing Rendering Contexts
See Also
Techniques for Choosing Attributes
Buffer Size Attribute Selection Tips
Attributes that are not Recommended
Ensuring that Back Buffer Contents Remain the Same
Ensuring a Valid Pixel Format Object
Ensuring a Specific Type of Renderer
Ensuring a Single Renderer for a Display
See Also
Techniques for Working with Vertex Data
Best Practices for Working with Vertex Data
Using Extensions to Improve Performance
Double Buffering Vertex Data
See Also
Techniques for Working with Texture Data
Using Extensions to Optimize
Optimal Data Formats and Types
Working with Non–Power-of-Two Textures
Creating Textures from Image Data
Downloading Texture Data
Double Buffering Texture Data
See Also
Techniques for Scene Anti-Aliasing
Guidelines
General Approach
Hinting for a Specific Anti-Aliasing Technique
Setting Up Full Scene Anti-Aliasing
See Also
Multithreading and OpenGL
Program Design
Guidelines for Threading OpenGL Applications
When Things Go Wrong
Threading APIs
See Also
Improving Performance
Best Practices
Gathering and Analyzing Baseline Performance Data
Identifying Bottlenecks with Shark
See Also
Appendix A: OpenGL Functionality by Version
Version 1.1
Version 1.2
Version 1.3
Version 1.4
Version 1.5
Version 2.0
Appendix B: Setting Up Function Pointers to OpenGL Routines
Obtaining a Function Pointer to an Arbitrary OpenGL Entry Point
Initializing Entry Points
Appendix C: Quartz Display Services and Full-Screen Mode
Displays and Display Modes
Fading the Display
Controlling the Pointer
See Also
Glossary
Revision History