What is included with this book?
Robert P. Kuehne leads Blue Newt Software, a consultancy that specializes in helping clients enhance their 3D graphics applications. Formerly Technical Lead for Silicon Graphics' OpenGL Shading Language, Kuehne has been involved with OpenGL since it was created, in roles ranging from programmer to shader compiler developer to SIGGRAPH presenter. He has also been a Macintosh developer since the early 1990s.
J. D. Sullivan is an OpenGL driver engineer who has been writing graphics software professionally for more than fifteen years. While at Silicon Graphics, Inc., he was one of the original designers and implementers of the Volumizer API and later worked as part of the OpenGL software team focused on the Cobalt and Krypton graphics chipsets. Since SGI, Sullivan has worked on the Mac as his primary development platform, and he serves on the OpenGL Architecture Review Board.
List of Figures | p. xv |
List of Tables | p. xix |
List of Examples | p. xxi |
Preface | p. xxv |
Acknowledgments | p. xxix |
About the Authors | p. xxxi |
Mac OpenGL | |
Introduction | p. 1 |
Why the Mac? | p. 2 |
Why OpenGL? | p. 3 |
The Book | p. 4 |
OpenGL | |
Architecture on OS X | p. 7 |
Overview | p. 7 |
About OpenGL | p. 7 |
OpenGL Feature Support | p. 14 |
API Layers | p. 15 |
The Mac OS OpenGL Plug-In Architecture | p. 17 |
Renderers | p. 18 |
Summary | p. 21 |
Mac Hardware Architecture | p. 23 |
Overview | p. 23 |
Data Flow and Limitations | p. 24 |
Summary | p. 32 |
Application Programming on OS X | p. 33 |
Overview | p. 33 |
Mac OS X Versions | p. 33 |
System Configuration | p. 34 |
Power Management | p. 34 |
Filesystem | p. 38 |
Finding, Verifying, and Filing Bugs | p. 39 |
Threading | p. 41 |
Data Parallel Computation: SIMD | p. 42 |
OpenGL | |
Configuration and Integration | p. 45 |
API Introductions and Overview | p. 46 |
Configuration API Relationships | p. 49 |
The CGL API for OpenGL | |
Configuration | p. 55 |
Overview | p. 55 |
Error Handling | p. 57 |
Pixel Format Selection | p. 57 |
Context Management | p. 63 |
Drawables | p. 77 |
Using CGL Macros | p. 86 |
Summary | p. 86 |
The AGL API for OpenGL | |
Configuration | p. 89 |
Overview | p. 89 |
Software Layering | p. 90 |
Pixel Format and Context | p. 91 |
Additional Topics | p. 104 |
Alternative Rendering Destinations | p. 109 |
Summary | p. 120 |
The Cocoa API for OpenGL | |
Configuration | p. 121 |
Overview | p. 122 |
NSOpenGLView | p. 122 |
NSView | p. 133 |
Additional Topics | p. 140 |
Alternative Rendering Destinations | p. 152 |
Summary | p. 162 |
The GLUT API for OpenGL | |
Configuration | p. 163 |
Overview | p. 164 |
Configuration and Setup | p. 165 |
Summary | p. 171 |
API Interoperability | p. 173 |
Overview | p. 173 |
Cocoa Image: NSImage | p. 174 |
QuickTime | p. 184 |
Summary | p. 193 |
Performance | p. 195 |
Overview | p. 195 |
Axioms for Designing High-Performance OpenGL Applications | p. 196 |
OpenGL for Mac OS X Rules of Thumb for Performance | p. 201 |
Metrics | p. 207 |
Efficient Data Management Using Mac OpenGL | p. 209 |
Efficient Handling of Vertex Data | p. 210 |
Efficient Handling of Texture Data | p. 221 |
Textures | p. 225 |
Shaders | p. 226 |
Tools | p. 226 |
Graphics Tools | p. 228 |
Putting It All Together | p. 237 |
Summary | p. 243 |
Mac Platform Compatibility | p. 245 |
Mac OS Versions | p. 245 |
OpenGL Platform Identification | p. 248 |
Mac OS Version Identification | p. 249 |
Summary | p. 251 |
OpenGL Extensions | p. 253 |
Overview | p. 253 |
Extension Design and API Integration | p. 254 |
Extension Styles and Types | p. 256 |
Identification, Selection, Query, and Usage | p. 257 |
Utilization and Binding | p. 262 |
Extension Management Libraries | p. 269 |
Summary | p. 275 |
X11 APIs for OpenGL Configuration | p. 277 |
Installation | p. 277 |
Building X11 Applications on OS X | p. 278 |
X11 Color Models | p. 279 |
Glossary | p. 281 |
The Cocoa API for OpenGL Configuration in Leopard, Mac OS X 10.5 | p. 283 |
Overview | p. 284 |
NSOpenGL View | p. 284 |
NSView | p. 294 |
Additional Topics | p. 300 |
Alternative Rendering Destinations | p. 312 |
Summary | p. 322 |
Bibliography | p. 323 |
Index | p. 325 |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.