Content deleted Content added
→Software renderer: +style |
|||
(14 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Use mdy dates|date=October 2013}}
{{Mac OS X graphics model}}
'''Core OpenGL''', or '''CGL''', is [[Apple Inc.]]'s Macintosh Quartz [[windowing system]] interface to the [[
==History==
Line 9 ⟶ 10:
==Features==
===Windowing system interfaces===
On OS X, CGL is the foundation layer of windowing system interfaces to OpenGL. Both [[Apple Graphics Library|AGL]] (Apple Graphics Library) 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, [[Alpha compositing|transparency buffers]] (alpha), [[
===Handling Mac OS X heterogeneity===
Line 20 ⟶ 22:
When users configure their Macintosh to use a virtualized desktop, and they drag windows from one display to another, CGL handles the management of OpenGL graphics state that must be shadowed between devices to provide command processing consistency between them. Dragging a window across a Macintosh desktop between two different displays that are supported by two different renderers is known as a "Virtual Screen Change".
CGL also provides a mechanism to obtain information about the renderer that is currently in use. The primary data structure that maintains OpenGL state on Mac OS X is a [
===Software renderer===
Also included is Apple's in-house OpenGL [[software renderer]]. Originally, this was a simple integer package. In Mac OS X 10.3, a new floating point one was introduced [https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/AGL_OpenGL/Reference/reference.html#//apple_ref/doc/uid/TP30001068-CH2g-AGLRenderingContextIDs which ultimately replaced it]. The software renderer, though slow, is fast enough for basic applications and [https://developer.apple.com/graphicsimaging/opengl/capabilities/index.html kept feature-complete] {{Webarchive|url=https://web.archive.org/web/20140108115648/https://developer.apple.com/graphicsimaging/opengl/capabilities/index.html |date=January 8, 2014 }} with OS X's OpenGL implementation for development purposes.
==See also==
*[[GLX]]: the equivalent [[X11]] interface to OpenGL
*[[WGL (
*[[Apple Graphics Library|AGL]]
*[[OpenGL]]
Line 30 ⟶ 35:
==External links==
* [
* [
{{Apple}}
{{Core Foundation}}
{{
[[Category:OpenGL]]▼
[[Category:Application programming interfaces]]
[[Category:Graphics standards]]
▲[[Category:OpenGL]]
|