Core OpenGL: Difference between revisions

Content deleted Content added
Line 10:
On OS X, CGL is the foundation layer of windowing system interfaces to OpenGL. Both AGL (Apple OpenGL) and the [[Cocoa (API)]] (or AppKit) have interfaces to OpenGL and are logical software layers and depend on CGL for their behavior. CGL and AGL interoperate freely. CGL and Cocoa may be used together, however Cocoa classes may implicitly make changes to CGL state. Function calls from AGL and Cocoa should not be mixed.
 
Configuration of these surfaces is done through a pixel format selection process where different compatible layers of rendering information are combined to form a framebuffer. Examples of such layers are color buffers, transparency buffers (alpha), stencil buffers, and depth buffers. The CGL function [http://developer.apple.com/documentation/GraphicsImaging/Reference/CGL_OpenGL/Reference/reference.html#//apple_ref/c/func/CGLChoosePixelFormat CGLChoosePixelFormat] is used to perform this buffer compatibility check. ''CGLChoosePixelFormat'' will, based on input parameters and their scoring policy, choose a pixel format that represents a compatible buffer configuration that is supported by the underlying renderer that will be used to process graphics commands. Renderers may be either hardware based, such that they correspond to graphics cards installed in the system or they may be software based, where the main CPU of the system handles all of the graphics command processing and final rasterization work.
 
===Handling Mac OS X heterogeneity===