Mac Developer Library

Developer

AGL Framework Reference AGL Reference

Options
Deployment Target:

On This Page

AGL Reference

The AGL (Apple Graphics Library) API is part of the Apple implementation of OpenGL in OS X. AGL contains the windowing system–specific implementation of OpenGL functions and commands for Carbon. Using AGL functions, you can create and destroy AGL rendering contexts, select OpenGL renderers, swap buffers, and perform operations on drawable objects (windows, pixel buffers, offscreen memory, and full-screen graphics devices).

To use AGL from the Carbon framework, your application must link to both the AGL and the OpenGL (OpenGL/OpenGL.h) frameworks.

Functions

  • Creates a pixel format with the provided attributes.

    Declaration

    Objective-C

    AGLPixelFormat aglCreatePixelFormat ( const GLint *attribs );

    Parameters

    attribs

    The attributes for the pixel format.

    Return Value

    A pixel format object.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.9.

  • Creates a pixel format object that satisfies the constraints of the specified buffer and renderer attributes.

    Declaration

    Objective-C

    AGLPixelFormat aglChoosePixelFormat ( const void *gdevs, GLint ndev, const GLint *attribs );

    Parameters

    gdevs

    A pointer to an AGLDevice data type that contains an array of Mac OS graphics devices. AGL chooses pixel formats and renderers that are appropriate for these devices. To create a pixel format object that supports all devices on the system, pass NULL.

    ndev

    The number of graphics devices that your application supplies in the gdevs parameter. Pass 0 if you also pass NULL for the gdevs parameter.

    attribs

    A NULL terminated array that contains a list of buffer and renderer attributes. Attributes can be Boolean or integer. If an attribute is integer, you must supply the desired value immediately following the attribute. If the attribute is Boolean, do not supply a value because its presence in the attributes array implies a true value. For information on the attributes that you can supply, see Buffer and Renderer Attributes, “Renderer Attributes”, and the Discussion below.

    Return Value

    A new pixel format object that contains pixel format information and a list of virtual screens. Returns NULL if the system cannot find a pixel format and virtual screen that satisfies the constraints of the buffer and renderer attributes.

    Discussion

    After a pixel format object is created successfully, the integer attributes are set to values that are as close to the desired value as can be provided by the system. Attribute values can differ for each virtual screen. You can use the AGL_MINIMUM_POLICY and AGL_MAXIMUM_POLICY attributes to control how the system chooses the setting. For more information on choosing attributes, see OpenGL Programming Guide for Mac.

    The Boolean attribute constants include the following. For complete descriptions, see Buffer and Renderer Attributes and “Renderer Attributes”.

    The following are integer attribute constants and must be followed by a value. For complete descriptions, see Buffer and Renderer Attributes and “Renderer Attributes”.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Retrieves the value of an attribute associated with a pixel format object.

    Declaration

    Objective-C

    GLboolean aglDescribePixelFormat ( AGLPixelFormat pix, GLint attrib, GLint *value );

    Parameters

    pix

    The pixel format object to query.

    attrib

    The attribute whose value you want to obtain. For a list of possible attributes, see Buffer and Renderer Attributes.

    value

    On return, points to the value of the attribute.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    On multiscreen systems that support multiple renderers simultaneously, aglChoosePixelFormat can return a list of more than one pixel format object. To retrieve the data in pixel format objects other than the first one in the list, call aglNextPixelFormat. Then pass the returned pixel format object to aglDescribePixelFormat to retrieve an attribute value.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

    See Also

    aglCreateContext

  • Frees the memory associated with a pixel format object.

    Declaration

    Objective-C

    void aglDestroyPixelFormat ( AGLPixelFormat pix );

    Parameters

    pix

    The pixel format object whose resources you want to release. This must be a pixel format object returned by the functionaglChoosePixelFormat. AGL sets a AGL_BAD_PIXELFMT error if you pass the returned value from the function aglNextPixelFormat or the pix parameter is not a valid pixel format.

    Discussion

    A copy of the pixel format data is made by the aglCreateContext function, so your application can free a pixel format immediately after creating a rendering context with it. On the other hand, a pixel format object can be useful for enumerating virtual screens when multiple renderers are supported, so you may want to retain it.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Gets the CGL pixel format object associated with an AGL pixel format.

    Declaration

    Objective-C

    GLboolean aglGetCGLPixelFormat ( AGLPixelFormat pix, void **cgl_pix );

    Parameters

    pix

    An AGL pixel format object.

    cgl_pix

    On return, points to the CGL pixel format object associated with the specified AGL pixel format.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    You should use this function only when you absolutely need to pass a CGL pixel format object to a non-AGL function. You can cast the returned CGL pixel format object to another data type as needed. Note that destroying the AGL pixel format object also destroys the CGL pixel format object, thus making the data reference returned invalid.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.4 and later.

    Deprecated in OS X v10.9.

  • Returns the graphics devices supported by a pixel format object.

    Declaration

    Objective-C

    CGDirectDisplayID * aglDisplaysOfPixelFormat ( AGLPixelFormat pix, GLint *ndevs );

    Parameters

    pix

    A pixel format object.

    ndevs

    On return, points to the number of devices in the list returned by the function.

    Return Value

    An array of display IDs or or NULL if the function fails for any reason. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    You typically use this function after you call the function aglChoosePixelFormat, which can return a list of more than one pixel format object. The first pixel format object in the list is guaranteed to support all of the graphics devices requested of that function. You call aglDisplaysOfPixelFormat to find out which graphics devices are supported by other pixel format objects in the list.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.9.

  • Returns the graphics devices supported by a pixel format object.

    Deprecation Statement

    Use aglDisplaysOfPixelFormat instead.

    Declaration

    Objective-C

    GDHandle * aglDevicesOfPixelFormat ( AGLPixelFormat pix, GLint *ndevs );

    Parameters

    pix

    A pixel format object.

    ndevs

    On return, points to the number of devices in the list returned by the function.

    Return Value

    An array of graphics devices or or NULL if the function fails for any reason. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    You typically use this function after you call the function aglChoosePixelFormat, which can return a list of more than one pixel format object. The first pixel format object in the list is guaranteed to support all of the graphics devices requested of that function.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.5.

  • Returns the next pixel format object in a list of pixel format objects.

    Declaration

    Objective-C

    AGLPixelFormat aglNextPixelFormat ( AGLPixelFormat pix );

    Parameters

    pix

    A pointer to pixel format object.

    Return Value

    The next pixel format object in a list of pixel formats. Returns NULL if the pix parameter represents the last pixel format object in the list or if the function fails for any reason. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    You typically use this function after you’ve called the function aglChoosePixelFormat, which generates a list of more than one pixel format object when all the graphics devices on the system are not supported by a single renderer. To find the number of renderers associated with a pixel format object, you can call aglNextPixelFormat to iterate through the list and count the entries.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Creates an AGL rendering context.

    Declaration

    Objective-C

    AGLContext aglCreateContext ( AGLPixelFormat pix, AGLContext share );

    Parameters

    pix

    A pixel format object creating by calling the function aglChoosePixelFormat.

    share

    The rendering context with which to share the OpenGL object state—including texture objects, programs and shader display lists, vertex array objects, vertex buffer objects, pixel buffer objects, and frame buffer objects—and the object state associated which each of these object types. Pass NULL to indicate that no sharing is to take place.

    Return Value

    A new rendering context. The aglCreateContext function returns NULL if the function fails for any reason. You can call the function aglGetError to determine what the error is.

    Discussion

    If the pixel format object you supply is able to support multiple graphics devices, then the rendering context can render transparently across the supported devices. With a multiple-device rendering context, sharing is possible only when the relationship between the renderers and the graphics devices they support is the same for all rendering contexts that are shared. Normally you achieve the best results by using the same pixel format object for all shared rendering contexts. For more information, see OpenGL Programming Guide for Mac.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Copies the specified state variables from one rendering context to another.

    Declaration

    Objective-C

    GLboolean aglCopyContext ( AGLContext src, AGLContext dst, GLuint mask );

    Parameters

    src

    The source rendering context.

    dst

    The destination rendering context.

    mask

    A mask that specifies the state variables to copy. Pass a bit field that contains the bitwise OR of the state variable names that you want to copy. Use the symbolic mask constants that are passed to the OpenGL function glPushAttrib. To copy as many state variables as possible, supply the constant GL_ALL_ATTRIB_BITS. For a description of the symbolic mask constants, see OpenGL Reference Manual.

    Return Value

    Returns GL_FALSE if the function fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    Not all OpenGL state values can be copied. For example, pixel pack and unpack state, render mode state, and select and feedback state are not copied. The state that can be copied is exactly the state that is manipulated by the OpenGL call glPushAttrib.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.8.

  • Frees the resources associated with a rendering context.

    Declaration

    Objective-C

    GLboolean aglDestroyContext ( AGLContext ctx );

    Parameters

    ctx

    The rendering context whose resources you want to release.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    This function frees all the resources used by the rendering context passed to it. If the rendering context that you pass is the current rendering context, the current context is set to NULL and there is no current rendering context after the function executes.

    After you call this function, you must make sure that you do not use the destroyed rendering context. This includes using AGL macros in which the rendering context is explicitly passed to OpenGL.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Gets the CGL rendering context associated with an AGL rendering context.

    Declaration

    Objective-C

    GLboolean aglGetCGLContext ( AGLContext ctx, void **cgl_ctx );

    Parameters

    ctx

    An AGL rendering context.

    cgl_ctx

    On return, points to the CGL rendering context associated with the specified AGL rendering context.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    You should use this function only when you absolutely need to use a non-AGL function that requires an CGL rendering context. You can cast the returned CGL rendering context to another data type as needed. Note that destroying the AGL rendering context also destroys the CGL rendering context, thus rendering the data reference returned by this function invalid.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.4 and later.

    Deprecated in OS X v10.9.

  • Returns the current rendering context.

    Declaration

    Objective-C

    AGLContext aglGetCurrentContext ( void );

    Return Value

    The current rendering context. If there is no current rendering context, returns NULL.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Sets the specified rendering context as the current rendering context.

    Declaration

    Objective-C

    GLboolean aglSetCurrentContext ( AGLContext ctx );

    Parameters

    ctx

    The rendering context to set as the current rendering context. Pass NULL to release the current rendering context without assigning a new one.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    There can be only one current rendering context. Subsequent OpenGL rendering calls operate on the current rendering context to modify the drawable object associated with it.

    You can use AGL macros to bypass the current rendering context mechanism and maintain your own current rendering context.

    A context is current on a per-thread basis. Multiple threads must serialize calls into the same context.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Exchanges the front and back buffers of the specified rendering context.

    Declaration

    Objective-C

    void aglSwapBuffers ( AGLContext ctx );

    Parameters

    ctx

    The rendering context whose buffers you want to swap. AGL sets the AGL_BAD_CONTEXT error if the ctx parameter is not a valid AGL rendering context.

    Discussion

    The aglSwapBuffers function either swaps the buffers or copies the back buffer content to the front buffer. Before it returns, aglSwapBuffers invokes the OpenGL function glFlush.

    To synchronize with a monitor retrace, set the current swap interval (AGL_SWAP_INTERVAL) to 1 by calling the function aglSetInteger.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Notifies the rendering context that the window geometry has changed.

    Declaration

    Objective-C

    GLboolean aglUpdateContext ( AGLContext ctx );

    Parameters

    ctx

    The rendering context that needs updating.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    You must call the aglUpdateContext function any time that the geometry of the drawable object changes. You should call this function after the completion of any move or resize action.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

    See Also

    aglSetDrawable

  • aglEnable aglEnable (OS X v10.9)

    Enables an option for a rendering context.

    Declaration

    Objective-C

    GLboolean aglEnable ( AGLContext ctx, GLenum pname );

    Parameters

    ctx

    A rendering context.

    pname

    The option you want to enable. You can pass any of the constants listed in Context Options and Parameters that specify they can be enabled or disabled.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    To set the value associated with a rendering context option, use the function aglSetInteger. For example, if you enable AGL_SWAP_RECT, you can specify the area of the window that is affected by the aglSwapBuffers function by setting the rectangle size with the function aglSetInteger.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • aglDisable aglDisable (OS X v10.9)

    Disables an option for a rendering context.

    Declaration

    Objective-C

    GLboolean aglDisable ( AGLContext ctx, GLenum pname );

    Parameters

    ctx

    A rendering context.

    pname

    The capability that you want to disable. You can pass any of the constants listed in Context Options and Parameters that specify they can be enabled or disabled.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

    See Also

    aglEnable

  • aglIsEnabled aglIsEnabled (OS X v10.9)

    Reports whether an option is enabled for a rendering context.

    Declaration

    Objective-C

    GLboolean aglIsEnabled ( AGLContext ctx, GLenum pname );

    Parameters

    ctx

    A rendering context.

    pname

    The capability whose state you want to check. You can pass any of the constants listed in Context Options and Parameters that specify they can be enabled or disabled.

    Return Value

    GL_FALSE if the option is disabled or if it fails for any reason; GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Sets the value of an option for a rendering context.

    Declaration

    Objective-C

    GLboolean aglSetInteger ( AGLContext ctx, GLenum pname, const GLint *params );

    Parameters

    ctx

    A rendering context.

    pname

    The rendering context option whose value you want to set. You can pass any of the constants listed in Context Options and Parameters that have an associated integer value.

    params

    A pointer to the value to set the parameter to.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    Use aglEnable to enable the option.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

    See Also

    aglGetInteger

  • Retrieves the integer setting of an AGL context option.

    Declaration

    Objective-C

    GLboolean aglGetInteger ( AGLContext ctx, GLenum pname, GLint *params );

    Parameters

    ctx

    An rendering context.

    pname

    The option whose value you want to retrieve. You can pass any of the constants listed in Context Options and Parameters that have an associated value.

    params

    On return, points to the value of the option.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is. See Error Codes for more information.

    Discussion

    Use aglEnable to enable the option.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

    See Also

    aglSetInteger

  • Returns the drawable object attached to a rendering context.

    Declaration

    Objective-C

    AGLDrawable aglGetDrawable ( AGLContext ctx );

    Parameters

    ctx

    A rendering context that's attached to a window or a graphics device.

    Return Value

    The drawable object (either a Carbon window or a full-screen graphics port) that is attached to the rendering context, or NULL for any of the following reasons:

    • No drawable object is attached.

    • A pixel buffer or offscreen memory area is attached.

    • The function fails for any reason.

    If the function returns NULL, call the function aglGetError to determine what the error is.

    Discussion

    If the rendering context is a pixel buffer context, call aglGetPBuffer.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.5.

    See Also

    aglSetDrawable

  • Attaches a rendering context to a Carbon window.

    Declaration

    Objective-C

    GLboolean aglSetDrawable ( AGLContext ctx, AGLDrawable draw );

    Parameters

    ctx

    A rendering context returned by the function aglCreateContext.

    draw

    The drawable object—which must be a Carbon window—to attach to the AGL rendering context. You need to supply a CGrafPtr data type obtained from a valid window. The Window Manager function GetWindowPort returns the CGrafPtr associated with a Carbon window. To disable rendering for a rendering context, pass NULL.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    After calling this function, AGL directs subsequent OpenGL rendering calls to the specified rendering context to modify the window content. In addition, the function aglSetDrawable performs all of the actions performed by aglUpdateContext.

    When a rendering context is initially attached to the window, its viewport is set to the full size of the window. If the rendering context is subsequently attached to the same window, its viewport is unaltered.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.5.

    See Also

    aglGetDrawable

  • Attaches a rendering context to a full screen graphics device.

    Declaration

    Objective-C

    GLboolean aglSetFullScreen ( AGLContext ctx, GLsizei width, GLsizei height, GLsizei freq, GLint device );

    Parameters

    ctx

    A rendering context.

    width

    The width, in pixels, of the graphics device. This value must be an exact match to the graphics device.

    height

    The height, in pixels, of the graphics device. This value must be an exact match to the graphics device.

    freq

    The refresh frequency of the graphics device, in Hertz. If you specify a frequency of 0, AGL uses the highest refresh frequency available for the specified width and height. If you specify a nonzero frequency, AGL chooses the closest frequency available for the given geometry. If a display provides only a 0 refresh frequency, AGL matches it with width and height regardless of the value of frequency passed.

    device

    This parameter is ignored in OS X, where all devices that are compatible with the pixel format of the rendering context are considered when selecting a full screen graphics device.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    Passing 0 for the width, 0 for the height, and 0 for the frequency sets up a full screen context at the current height, width, and refresh rate.

    After calling this function, subsequent OpenGL rendering calls directed to the full-screen graphics device. The rendering context must be created with respect to a pixel format that supports a full-screen device, which you can request by passing AGL_FULLSCREEN to the function aglChoosePixelFormat. The aglSetFullScreen function also performs all of the actions performed by aglUpdateContext. The aglSetFullScreen function uses information obtained from the pixel format object use to create the rendering context to choose the color depth for full-screen display mode.

    When a rendering context is initially attached to a full screen graphics device, its viewport is set to the full size of the device. If the rendering context is subsequently attached to the same device, its viewport is unaltered. To disable a rendering context, call aglSetDrawable with the draw parameter set to NULL.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.6.

    See Also

    aglGetDrawable

  • Attaches a rendering context to an offscreen memory area.

    Declaration

    Objective-C

    GLboolean aglSetOffScreen ( AGLContext ctx, GLsizei width, GLsizei height, GLsizei rowbytes, GLvoid *baseaddr );

    Parameters

    ctx

    A rendering context returned by the function aglCreateContext.

    width

    The width, in pixels, of the offscreen memory area.

    height

    The height, in pixels, of the offscreen memory area.

    rowbytes

    The number of bytes in each row of the offscreen memory area.

    baseaddr

    A pointer to the base address of the memory area.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If it fails, call the function aglGetError to determine what the error is.

    Discussion

    After calling this function, subsequent OpenGL rendering calls modify the offscreen memory. The rendering context must be created with respect to a pixel format that supports offscreen rendering, which you can request by passing AGL_OFFSCREEN to the aglChoosePixelFormat function. The aglSetOffScreen function also performs all of the actions performed by aglUpdateContext. The pixel size of the pixel format is set so that it is equal to the buffer depth of the offscreen area.

    When a rendering context is attached to an offscreen memory area, its viewport is set to the full size of the offscreen area.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.7.

  • Creates a pixel buffer of the specified size, compatible with the specified texture target.

    Declaration

    Objective-C

    GLboolean aglCreatePBuffer ( GLint width, GLint height, GLenum target, GLenum internalFormat, GLint max_level, AGLPbuffer *pbuffer );

    Parameters

    width

    The width, in pixels, of the pixel buffer.

    height

    The height, in pixels, of the pixel buffer.

    target

    A constant that specifies the type of the pixel buffer target texture. You can supply any of the following texture targets:

    • GL_TEXTURE_2D, a texture whose dimensions are a power of two.

    • GL_TEXTURE_RECTANGLE_EXT, a texture whose dimensions are not a power of two.

    • GL_TEXTURE_CUBE_MAP, a mapped cube texture.

    internalFormat

    A constant that specifies the internal color format of the pixel buffer, which can be GL_RGB or GL_RGBA. The format controls whether the alpha channel of the pixel buffer is used for texturing operations.

    max_level

    The maximum level of mipmap detail allowable. Pass 0 for a pixel buffer that's not using mipmaps. The value passed should never exceed the actual maximum number of mipmap levels that can be represented with the given width and height.

    pbuffer

    On return, points to a new pixel buffer object.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    This function does not have any knowledge of OpenGL contexts or pixel format objects and does not specifically allocate the storage needed for the actual pixel buffer. These operations occur when you call the function aglSetPBuffer.

    You can determine the dimensional limits of a pixel buffer by calling the OpenGL function glGetInteger. You can find the maximum size supported by querying GL_MAX_VIEWPORT_DIMS and the minimum size by querying GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE, which returns two integer values (similar to GL_MAX_VIEWPORT_DIMS). All pixel buffer dimensions that you request with the function aglCreatePBuffer should fall within these limits (inclusively) and should comply with any limitations imposed by the texture target you select.

    The maximum viewport size supported in OS X is quite large. You should take into consideration the amount of video or system memory required to support the requested pixel buffer size, including additional memory needed for multiple buffers and options such as multisampling.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.3 and later.

    Deprecated in OS X v10.7.

  • Releases the resources associated with a pixel buffer object.

    Declaration

    Objective-C

    GLboolean aglDestroyPBuffer ( AGLPbuffer pbuffer );

    Parameters

    pbuffer

    The pixel buffer object whose resources you want to release.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    Call this function only after you no longer need to use the pixel buffer object. Before calling this function, you should delete all texture objects associated with the pixel buffer object. You do not need to make sure that all texturing commands have completed prior to calling this function, because the OpenGL framework manages texturing synchronization.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.3 and later.

    Deprecated in OS X v10.7.

    See Also

    aglCreatePBuffer

  • Retrieves information that describes the specified pixel buffer object.

    Declaration

    Objective-C

    GLboolean aglDescribePBuffer ( AGLPbuffer pbuffer, GLint *width, GLint *height, GLenum *target, GLenum *internalFormat, GLint *max_level );

    Parameters

    pbuffer

    A pixel buffer object.

    width

    On return, points to the width, in pixels, of the pixel buffer.

    height

    On return, points to the height, in pixels, of the pixel buffer.

    target

    On return, points to a constant that specifies the pixel buffer target texture type, such as:

    • GL_TEXTURE_2D, a texture whose dimensions are a power of two.

    • GL_TEXTURE_RECTANGLE_EXT, a texture whose dimensions are not a power of two.

    • GL_TEXTURE_CUBE_MAP, a mapped cube texture.

    internalFormat

    On return, points to a constant that specifies the internal color format of the pixel buffer— either GL_RGB or GL_RGBA.

    max_level

    On return, points to the maximum level of mipmap detail or 0 if the pixel buffer doesn't use mipmaps.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    The width, height, texture target, and internal texture color format of a pixel buffer object are set at its creation and cannot be changed without destroying and then creating the object again. The level is set when the pixel buffer object is attached to a rendering context by calling the function aglSetPBuffer.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.3 and later.

    Deprecated in OS X v10.7.

    See Also

    aglCreatePBuffer

  • Retrieves a pixel buffer and its parameters for a specified rendering context.

    Declaration

    Objective-C

    GLboolean aglGetPBuffer ( AGLContext ctx, AGLPbuffer *pbuffer, GLint *face, GLint *level, GLint *screen );

    Parameters

    ctx

    A rendering context.

    pbuffer

    On return, points to the pixel buffer object attached to the rendering context.

    face

    On return, points to the cube map face that is set if the pixel buffer texture target type is GL_TEXTURE_CUBE_MAP; otherwise 0 for all other texture target types.

    level

    On return, points to the current mipmap level for drawing.

    screen

    On return, points to the current virtual screen number, as set by the last valid call to aglSetPBuffer.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.3 and later.

    Deprecated in OS X v10.7.

    See Also

    aglSetPBuffer

  • Attaches a pixel buffer object to a rendering context.

    Declaration

    Objective-C

    GLboolean aglSetPBuffer ( AGLContext ctx, AGLPbuffer pbuffer, GLint face, GLint level, GLint screen );

    Parameters

    ctx

    A rendering context.

    pbuffer

    A pixel buffer object.

    face

    The cube map face to draw if the buffer texture target is type GL_TEXTURE_CUBE_MAP; otherwise pass 0.

    level

    The mipmap level to draw. This must not exceed the maximum mipmap level set when the pixel buffer object was created. Pass 0 for a texture target that does not support mipmaps.

    screen

    A virtual screen value. The virtual screen determines the renderer that OpenGL uses to draw to the pixel buffer object. For best performance, for a pixel buffer used as a texture source, you should supply the a virtual screen value that results in using the same renderer used by the context that's the texturing target.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is. See Discussion for more details.

    Discussion

    The first time you call this function for a specific pixel buffer object, the system creates the necessary buffers. The buffers are created to support the pixel formats used to create the rendering context. The storage requirements for pixel buffer objects, which can be quite large, are very similar to the requirements for windows or views with OpenGL contexts attached. All drawable objects compete for the same scarce resources. This function can fail is there is not enough contiguous VRAM for each buffer. It's best to code defensively with a scheme that reduces resource consumption without causing the application to resort to failure. Unless, of course, failure is the only viable alternative.

    The ability to attach a pbuffer to a context is supported only on renderers that export GL_APPLE_pixel_buffer in the GL_EXTENSIONS string. Before calling this function, you should programmatically determine if it’s possible to attach a pbuffer to a context by querying GL_EXTENSIONS in the context and looking for GL_APPLE_pixel_buffer. If that extension is not present, the renderer won’t allow setting the pbuffer. (In this case, the function correctly returns GL_FALSE, although the error returned by aglGetError may be misleading.)

    In order of performance, these are the renderers you should consider using when setting up a rendering context to attach to a pbuffer:

    • A hardware renderer.

    • The generic render, but only with an offscreen pixel format and glTexSubImage.

    • The Apple software renderer, which supports pbuffers in OS X v10.4.8 and later.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.3 and later.

    Deprecated in OS X v10.7.

    See Also

    aglGetPBuffer

  • Binds the contents of a pixel buffer to a data source for a texture object.

    Declaration

    Objective-C

    GLboolean aglTexImagePBuffer ( AGLContext ctx, AGLPbuffer pbuffer, GLint source );

    Parameters

    ctx

    A rendering context, which is the target context for the texture operation. This is the context that you plan to render content to. This is not the context attached to the pixel buffer.

    pbuffer

    A pixel buffer object.

    source

    The source buffer to texture from, which should be a valid OpenGL buffer such as GL_FRONT or GL_BACK and should be compatible with the buffer and renderer attributes that you used to create the rendering context attached to the pixel buffer. This means that the pixel buffer must possess the buffer in question for the texturing operation to succeed.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    You must generate and bind a texture name (using standard OpenGL texturing calls) that is compatible with the pixel buffer texture target. Don't supply a texture object that was used previously for nonpixel buffer texturing operations unless a you first call the OpenGL function glDeleteTextures and then regenerate the texture name.

    If you modify the content of a pixel buffer that uses mipmap levels, you must call this function again before drawing with the pixel buffer, to ensure that the content is synchronized with OpenGL. For pixel buffers without mipmaps, simply rebind to the texture object to synchronize content.

    No OpenGL texturing calls that modify a pixel buffer texture content are permitted (such as glTexSubImage2D or glCopyTexImage2D) with the pixel buffer texture as the destination. It is permitted to use texturing commands to read data from a pixel buffer texture, such as glCopyTexImage2D, with the pixel buffer texture as the source. It is also legal to use OpenGL functions such as glReadPixels to read the contents of a pixel buffer directly through the pixel buffer context.

    Note that texturing with the aglTexImagePBuffer function can fail to produce the intended results without error in the same way other OpenGL texturing commands can normally fail. The function fails if you do not enable the proper texture target, set an incompatible filter mode, or other conditions described in the OpenGL specification.

    You don't need to share a context when a pixel buffer object is a texture source. You can use independent pixel formats and OpenGL contexts for both the pixel buffer and the target drawable object without sharing resources, and still texture using a pixel buffer in the target context.

    For details on how to use a pixel buffer object as a texture source, see OpenGL Programming Guide for Mac.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.3 and later.

    Deprecated in OS X v10.7.

  • Allows texturing from a drawable object that has an attached rendering context, using the surface contents as the source data for the texture.

    Declaration

    Objective-C

    void aglSurfaceTexture ( AGLContext context, GLenum target, GLenum internalformat, AGLContext surfacecontext );

    Parameters

    context

    A rendering context attached to the window that's the target of the texture operation.

    target

    A constant that specifies an OpenGL target texture. You can supply any of the texture targets defined by the OpenGL specification, including:

    • GL_TEXTURE_2D, a texture whose dimensions are a power of two.

    • GL_TEXTURE_RECTANGLE_EXT, a texture whose dimensions are not a power of two.

    • GL_TEXTURE_CUBE_MAP, a mapped cube texture.

    internalformat

    A constant that specifies the internal color format of the texture— either GL_RGB or GL_RGBA.

    surfacecontext

    A rendering context that's attached to the window that's the source of the texture data.

    Discussion

    The aglSurfaceTexture function behaves similar to the function glTexImage2D. The texture target and internal format must be supported by the renderer of the target rendering context, and the geometry of the source drawable object must be compatible with the texture target. For example, if the texture target is GL_TEXTURE_2D, the window must conform to power-of-two dimensions.

    Before calling this function you must use OpenGL calls to set up the OpenGL texture referred to by the target parameter. That is, enable texturing, generate a texture name, bind it to a texture target, and so forth. For more information, see OpenGL Programming Guide.

    The target and source windows must use the same renderer (virtual screen) or the function fails, most typically by not texturing the target rendering context.

    An error condition occurs if the surface rendering context is not attached to a windowed drawable object; the drawable object cannot be an offscreen area or pixel buffer. It’s also possible to get standard OpenGL errors similar to the errors that can occur for the function glTexImage2D. Use the function glError to query OpenGL errors.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.2 and later.

    Deprecated in OS X v10.5.

  • aglGetError aglGetError (OS X v10.9)

    Returns an AGL error code.

    Declaration

    Objective-C

    GLenum aglGetError ( void );

    Return Value

    The value of the global AGL error flag. See Error Codes for a complete description of the error codes that can be returned.

    Discussion

    This function is similar to the OpenGL function glGetError. You call the function aglGetError whenever an AGL function returns FALSE to retrieve the error code associated with the error condition. Each error is assigned a numeric code and a symbolic name. When an error occurs, the error flag is set to the appropriate error code value. No other errors are recorded until aglGetError is called, the error code is returned, and the flag is reset to AGL_NO_ERROR. If a call to aglGetError returns AGL_NO_ERROR, this means that there has been no detectable error since the last call to aglGetError.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

    See Also

    aglErrorString

  • Returns a string that describes the specified AGL error code.

    Declaration

    Objective-C

    const GLubyte * aglErrorString ( GLenum code );

    Parameters

    code

    An AGL error code returned by the function aglGetError. For a description of these constants, see Error Codes.

    Return Value

    An error string that describes the error code passed in the code parameter. If the code is invalid, returns the string “No such error code.”

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

    See Also

    aglGetError

  • aglConfigure aglConfigure (OS X v10.9)

    Sets the value of a global option.

    Declaration

    Objective-C

    GLboolean aglConfigure ( GLenum pname, GLuint param );

    Parameters

    pname

    The name of the option whose value you want to set. See Globally Configured Options for a list of constants you can pass.

    param

    The value to set the option to.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    This function changes the values of options that affect the operation of OpenGL in all rendering contexts in the application, not just the current rendering context.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Gets the major and minor version numbers of the AGL library.

    Declaration

    Objective-C

    void aglGetVersion ( GLint *major, GLint *minor );

    Parameters

    major

    On return, points to he major version number of the AGL library.

    minor

    On return, points to the minor version number of the AGL library.

    Discussion

    AGL implementations with the same major version number are upwardly compatible, meaning that the implementation with the highest minor number is a superset of the version with the lowest minor number.

    Certain features, such as index color support, are deprecated in OS X. The current version of AGL might not be a full superset of AGL for Mac OS 9 or of earlier versions of AGL.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Resets the AGL library.

    Deprecation Statement

    This function is not needed in OS X.

    Declaration

    Objective-C

    void aglResetLibrary ( void );

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Obtains the value associated with a renderer property.

    Declaration

    Objective-C

    GLboolean aglDescribeRenderer ( AGLRendererInfo rend, GLint prop, GLint *value );

    Parameters

    rend

    An opaque renderer information object that contains a description of the renderer capabilities you want to inspect. You obtain a renderer information object by calling the function aglQueryRendererInfo.

    prop

    The renderer property whose value you want to obtain. See Renderer Properties for a list of the constants you can supply for this parameter. There are also a number of constants described in Buffer and Renderer Attributes that you can supply to this function.

    value

    On return, points to the value of the requested property.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Frees resources associated with a renderer information object.

    Declaration

    Objective-C

    void aglDestroyRendererInfo ( AGLRendererInfo rend );

    Parameters

    rend

    The renderer information object whose resources you want to release.

    Discussion

    AGL sets a AGL_BAD_RENDINFO error if you pass an invalid renderer information object. You can check for this error by calling aglGetError.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Returns the next renderer information object.

    Declaration

    Objective-C

    AGLRendererInfo aglNextRendererInfo ( AGLRendererInfo rend );

    Parameters

    rend

    A renderer information object that contains one or more renderer information objects. You obtain a renderer information object by calling the function aglQueryRendererInfo.

    Return Value

    The next renderer information object in the list. Returns NULL if the object is the last in the list or if the function fails for any reason. In case of a failure, call the function aglGetError to determine what the error is.

    Discussion

    You typically use this function to iterate through a list of renderer information objects returned by the function aglQueryRendererInfo. Most systems have more than one renderer installed because support for different buffer depths is typically provided by separate renderers.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Creates and returns a renderer information object that contains properties and values for all renderers driving the specified displays.

    Deprecation Statement

    Instead use aglQueryRendererInfoForCGDirectDisplayIDs.

    Declaration

    Objective-C

    AGLRendererInfo aglQueryRendererInfo ( const AGLDevice *gdevs, GLint ndev );

    Parameters

    gdevs

    A pointer to a list of graphics devices to which you want to restrict the query. Pass NULL to obtain information for all graphics devices on the system.

    ndev

    The number of graphics devices in gdev. Pass 0 if gdevs is NULL. AGL sets the AGL_BAD_DEVICE error if the ndev parameter is nonzero and the gdevs parameter is not an array of valid devices.

    Return Value

    A renderer information object that describes all renderers able to drive the devices specified by the gdevs parameter. The function returns NULL if it fails for any reason. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    This function normally returns a list of more than one renderer information object—one for each renderer found on the system. To access data in the first renderer information object tin the list, call the function aglDescribeRenderer. To access data in a renderer information object that is not the first one in the list, use aglNextRendererInfo.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.5.

  • Creates and returns a renderer information object that contains properties and values for all renderers driving the specified displays.

    Declaration

    Objective-C

    AGLRendererInfo aglQueryRendererInfoForCGDirectDisplayIDs ( const CGDirectDisplayID *dspIDs, GLint ndev );

    Parameters

    dspIDs

    A pointer to the list of IDs to which you want to restrict the query. . Pass NULL to obtain information for all graphics devices on the system.

    ndev

    The number of graphics devices in dspIDs. Pass 0 if dspIDs is NULL. AGL sets the AGL_BAD_DEVICE error if the ndev parameter is nonzero and the dspIDs parameter is not an array of valid devices.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.9.

  • aglUseFont aglUseFont (OS X v10.5)

    Creates bitmap display lists from a font.

    Declaration

    Objective-C

    GLboolean aglUseFont ( AGLContext ctx, GLint fontID, Style face, GLint size, GLint first, GLint count, GLint base );

    Parameters

    ctx

    A rendering context.

    fontID

    The font ID associated with the font whose character glyphs you want to use. The fontID value can identify any font family that is valid for passing into the TextFont function.

    face

    The font style. The face value can be any valid style that can be passed into the TextFace function.

    size

    The font size.

    first

    The index of the first glyph to use.

    count

    The number of glyphs to use.

    base

    The index of the first display list to generate.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    A display list contains one or more OpenGL commands that are stored and available to be executed later by your application. The aglUseFont function generates a set of display lists, each of which contains a single call to the OpenGL glBitmap function. AGL generates names for each display list by using the value specified in the base parameter and increasing sequentially to base + count – 1.

    The prototype for the glBitmap function is :

    • void glBitmap(GLsizei width,
    • GLsizei height,
    • GLfloat xorig,
    • GLfloat yorig,
    • GLfloat xmove,
    • GLfloat ymove,
    • const GLubyte *bitmap)

    AGL generates parameters for each glBitmap command in each display list using the following rules:

    • The formatting parameters—xorig, yorig, width, and height—are computed from the font metrics provided in the font as 0, font descent – 1, font width, and font ascent + descent, respectively.

    • The xmove parameter based on the width metric of the glyph.

    • The ymove is set to 0.

    • The glyph image is converted to the appropriate format for the bitmap parameter.

    AGL creates empty display lists for all glyphs that you request and that are not defined in the font. For current fonts, see the file fonts.h.

    For more information on the glBitmap function see the OpenGL Reference Manual. You might also want to look at the glNewList function, which is the function that AGL uses to generate the display lists.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.5.

  • Returns the current virtual screen number associated with a rendering context.

    Declaration

    Objective-C

    GLint aglGetVirtualScreen ( AGLContext ctx );

    Parameters

    ctx

    A rendering context.

    Return Value

    Returns the virtual screen number of the context. The value is always 0 on a single-monitor system and –1 if the function fails for any reason. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    The current virtual screen is set automatically by the function aglUpdateContext. The current virtual screen can change when a drawable object is moved or resized across graphics device boundaries. A change in the current virtual screen can affect the return values of some OpenGL functions and in most cases also means that the renderer has changed.

    For detailed information on virtual screens, see OpenGL Programming Guide for Mac.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Forces subsequent OpenGL commands to the specified virtual screen.

    Declaration

    Objective-C

    GLboolean aglSetVirtualScreen ( AGLContext ctx, GLint screen );

    Parameters

    ctx

    A rendering context.

    screen

    A virtual screen number, which must be a value between 0 and the number of virtual screens minus one. You can obtain the number of virtual screens available associated with a rendering context by calling the function aglDescribePixelFormat, passing in the pixel format object used to create the rendering context and the attribute constant AGL_VIRTUAL_SCREEN.

    Return Value

    Returns GL_FALSE if it fails for any reason, GL_TRUE otherwise. If an error occurs, call the function aglGetError to determine what the error is.

    Discussion

    You should use the aglSetVirtualScreen function only when it is necessary to override the default behavior. The current virtual screen is normally set automatically by the functions aglSetDrawable or aglUpdateContext. Setting the virtual screen forces the renderer associated with the virtual screen to process OpenGL commands issued to the specified context. Changing the virtual screen changes the current renderer. Because the current virtual screen determines which OpenGL renderer is processing commands, the return values of all glGetXXX functions can be affected by the current virtual screen.

    For detailed information on virtual screens, see OpenGL Programming Guide for Mac.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Sets an AGL context to the specified window.

    Declaration

    Objective-C

    GLboolean aglSetWindowRef ( AGLContext ctx, WindowRef window );

    Parameters

    ctx

    An AGL context.

    window

    The window to set.

    Return Value

    true if the window is successfully set; false otherwise.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.9.

  • Retrieves the window associated with an AGL context.

    Declaration

    Objective-C

    WindowRef aglGetWindowRef ( AGLContext ctx );

    Parameters

    ctx

    The AGL context whose window you want to retrieve.

    Return Value

    The window associated with the context.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.9.

  • Sets an AGL context to the specified HIView object.

    Declaration

    Objective-C

    GLboolean aglSetHIViewRef ( AGLContext ctx, HIViewRef hiview );

    Parameters

    ctx

    An AGL context.

    hiview

    The HIView object to set.

    Return Value

    true if the HIView object is successfully set; false otherwise.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.9.

  • Retrieves the HIView object associated with an AGL context.

    Declaration

    Objective-C

    HIViewRef aglGetHIViewRef ( AGLContext ctx );

    Parameters

    ctx

    The AGL context whose HIView object you want to retrieve.

    Return Value

    The HIView object associated with the context.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.5 and later.

    Deprecated in OS X v10.9.

Data Types

  • Represents a pointer to an opaque AGL context object.

    Declaration

    Objective-C

    typedef struct __AGLContextRec *AGLContext;

    Discussion

    This data type points to a structure that AGL uses to maintain state and other information associated with an OpenGL rendering context. Use the functions described in Managing Contexts and Getting and Setting Context Options to create, manage, access, and free an AGL context object.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Defines a reference to a list of graphics devices.

    Declaration

    Objective-C

    typedef GDHandle AGLDevice;

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.5.

  • Defines an opaque data type that represents a Carbon window.

    Declaration

    Objective-C

    typedef CGrafPtr AGLDrawable;

    Discussion

    This data type points to a structure that AGL uses to keep track of the information needed to transmit rendering operations from bits in memory to the onscreen pixels associated with a Carbon window. This data type is a CGrafPtr "under the hood." The Window Manager function GetWindowPort returns the CGrafPtr associated with a Carbon window.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.5.

  • Represents a pointer to an opaque pixel buffer object.

    Declaration

    Objective-C

    typedef struct __AGLPBufferRec *AGLPbuffer;

    Discussion

    This data type points to a structure that AGL uses for hardware accelerated offscreen drawing. Use the functions described in Managing Pixel Buffers to create, manage, access, and free a pixel buffer object.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Represents a pointer to an opaque pixel format object.

    Declaration

    Objective-C

    typedef struct __AGLPixelFormatRec *AGLPixelFormat;

    Discussion

    This data type points to a structure that AGL uses to maintain pixel format and virtual screen information for a given set of renderer and buffer options. Use the functions described in Managing Pixel Format Objects to create, manage, access, and free a pixel format object.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

  • Represents a pointer to an opaque renderer information object.

    Declaration

    Objective-C

    typedef struct __AGLRendererInfoRec *AGLRendererInfo;

    Discussion

    This data type points to a structure that AGL uses to maintain information about the renderers associated with a display. Use the functions described in Getting Renderer Information to create, access, and free a renderer information object.

    Import Statement

    Objective-C

    @import AGL;

    Availability

    Available in OS X v10.0 and later.

    Deprecated in OS X v10.9.

Constants

  • Define resolutions for the depth and stencil buffers.

    Declaration

    Objective-C

    #define AGL_0_BIT 0x00000001 #define AGL_1_BIT 0x00000002 #define AGL_2_BIT 0x00000004 #define AGL_3_BIT 0x00000008 #define AGL_4_BIT 0x00000010 #define AGL_5_BIT 0x00000020 #define AGL_6_BIT 0x00000040 #define AGL_8_BIT 0x00000080 #define AGL_10_BIT 0x00000100 #define AGL_12_BIT 0x00000200 #define AGL_16_BIT 0x00000400 #define AGL_24_BIT 0x00000800 #define AGL_32_BIT 0x00001000 #define AGL_48_BIT 0x00002000 #define AGL_64_BIT 0x00004000 #define AGL_96_BIT 0x00008000 #define AGL_128_BIT 0x00010000

    Constants

    • AGL_0_BIT

      AGL_0_BIT

      A bit depth of 0.

      Available in OS X v10.0 and later.

    • AGL_1_BIT

      AGL_1_BIT

      A bit depth of 1 bit.

      Available in OS X v10.0 and later.

    • AGL_2_BIT

      AGL_2_BIT

      A bit depth of 2 bits.

      Available in OS X v10.0 and later.

    • AGL_3_BIT

      AGL_3_BIT

      A bit depth of 3 bits.

      Available in OS X v10.0 and later.

    • AGL_4_BIT

      AGL_4_BIT

      A bit depth of 4 bits.

      Available in OS X v10.0 and later.

    • AGL_5_BIT

      AGL_5_BIT

      A bit depth of 5 bits.

      Available in OS X v10.0 and later.

    • AGL_6_BIT

      AGL_6_BIT

      A bit depth of 6 bits.

      Available in OS X v10.0 and later.

    • AGL_8_BIT

      AGL_8_BIT

      A bit depth of 7 bits.

      Available in OS X v10.0 and later.

    • AGL_10_BIT

      AGL_10_BIT

      A bit depth of 10 bits.

      Available in OS X v10.0 and later.

    • AGL_12_BIT

      AGL_12_BIT

      A bit depth of 12 bits.

      Available in OS X v10.0 and later.

    • AGL_16_BIT

      AGL_16_BIT

      A bit depth of 16 bits.

      Available in OS X v10.0 and later.

    • AGL_24_BIT

      AGL_24_BIT

      A bit depth of 24 bits.

      Available in OS X v10.0 and later.

    • AGL_32_BIT

      AGL_32_BIT

      A bit depth of 32 bits.

      Available in OS X v10.0 and later.

    • AGL_48_BIT

      AGL_48_BIT

      A bit depth of 48 bits.

      Available in OS X v10.0 and later.

    • AGL_64_BIT

      AGL_64_BIT

      A bit depth of 64 bits.

      Available in OS X v10.0 and later.

    • AGL_96_BIT

      AGL_96_BIT

      A bit depth of 96 bits.

      Available in OS X v10.0 and later.

    • AGL_128_BIT

      AGL_128_BIT

      A bit depth of 128 bits.

      Available in OS X v10.0 and later.

  • Specify attributes used to create a pixel format object.

    Declaration

    Objective-C

    #define AGL_NONE 0 #define AGL_ALL_RENDERERS 1 #define AGL_BUFFER_SIZE 2 #define AGL_LEVEL 3 #define AGL_RGBA 4 #define AGL_DOUBLEBUFFER 5 #define AGL_STEREO 6 #define AGL_AUX_BUFFERS 7 #define AGL_RED_SIZE 8 #define AGL_GREEN_SIZE 9 #define AGL_BLUE_SIZE 10 #define AGL_ALPHA_SIZE 11 #define AGL_DEPTH_SIZE 12 #define AGL_STENCIL_SIZE 13 #define AGL_ACCUM_RED_SIZE 14 #define AGL_ACCUM_GREEN_SIZE 15 #define AGL_ACCUM_BLUE_SIZE 16 #define AGL_ACCUM_ALPHA_SIZE 17 #define AGL_PIXEL_SIZE 50 #define AGL_MINIMUM_POLICY 51 #define AGL_MAXIMUM_POLICY 52 #define AGL_OFFSCREEN 53 #define AGL_FULLSCREEN 54 #define AGL_SAMPLE_BUFFERS_ARB 55 #define AGL_SAMPLES_ARB 56 #define AGL_AUX_DEPTH_STENCIL 57 #define AGL_COLOR_FLOAT 58 #define AGL_MULTISAMPLE 59 #define AGL_SUPERSAMPLE 60 #define AGL_SAMPLE_ALPHA 61

    Constants

    • AGL_NONE

      AGL_NONE

      Used to terminate a pixel format attribute list.

      Available in OS X v10.0 and later.

    • AGL_ALL_RENDERERS

      AGL_ALL_RENDERERS

      This constant is a Boolean attribute. If it is present in the attributes array, pixel format selection is open to all available renderers, including debug and special-purpose renderers that are not OpenGL compliant. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.0 and later.

    • AGL_BUFFER_SIZE

      AGL_BUFFER_SIZE

      The associated value is a nonnegative integer that specifies the number of bits per color buffer. For RGBA pixel formats, the buffer size is the sum of the red, green, blue, and alpha sizes. For color index pixel formats, the buffer size is the size of the color indexes. The smallest color index buffer of at least the specified size is preferred. Ignored if the AGL_RGBA attribute is asserted.

      Available in OS X v10.0 and later.

    • AGL_LEVEL

      AGL_LEVEL

      The associated value is an integer that specifies the frame buffer level of the pixel format. Positive levels correspond to frame buffers that overlay the default buffer, and negative levels correspond to frame buffers that underlay the default level. Buffer level zero corresponds to the default frame buffer of the display. Buffer level one is the first overlay frame buffer, level two the second overlay frame buffer, and so on. Negative buffer levels correspond to underlay frame buffers.

      Available in OS X v10.0 and later.

    • AGL_RGBA

      AGL_RGBA

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that the color buffers store red, green, blue, and alpha values. In this case, only RGBA pixel formats are considered. Do not supply a value with this constant because its presence in the array implies true.

      If this attribute is not present in the attributes array, color buffers store color indexes. In this case, only color index pixel formats are considered.

      Available in OS X v10.0 and later.

    • AGL_DOUBLEBUFFER

      AGL_DOUBLEBUFFER

      This constant is a Boolean attribute. If it is present in the attributes array, only double-buffered pixel formats are considered. Otherwise, only single-buffered pixel formats are considered. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.0 and later.

    • AGL_STEREO

      AGL_STEREO

      This constant is a Boolean attribute. If it is present in the attributes array, only stereo pixel formats are considered. Otherwise, only monoscopic pixel formats are considered. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.0 and later.

    • AGL_AUX_BUFFERS

      AGL_AUX_BUFFERS

      The associated value is a nonnegative integer that specifies the number of auxiliary buffers that are available. A value of 0 indicates that no auxiliary buffers exist. Pixel formats with the smallest number of auxiliary buffers that meet or exceed the specified number are preferred.

      Available in OS X v10.0 and later.

    • AGL_RED_SIZE

      AGL_RED_SIZE

      The associated value is a nonnegative integer that specifies the number of red component bits. The value is 0 if the AGL_RGBA attribute is GL_FALSE. A red buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_GREEN_SIZE

      AGL_GREEN_SIZE

      The associated value is a nonnegative integer that specifies the number of green component bits. The value is 0 if the AGL_RGBA attribute is GL_FALSE. A green buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_BLUE_SIZE

      AGL_BLUE_SIZE

      The associated value is a nonnegative integer that specifies the number of blue component bits. The value is 0 if the AGL_RGBA attribute is GL_FALSE. A blue buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_ALPHA_SIZE

      AGL_ALPHA_SIZE

      The associated value is a nonnegative integer that specifies the number of alpha component bits. The value is 0 if the AGL_RGBA attribute is GL_FALSE. An alpha buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_DEPTH_SIZE

      AGL_DEPTH_SIZE

      The associated value is a nonnegative integer that specifies the number of bits in the depth buffer. A depth buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_STENCIL_SIZE

      AGL_STENCIL_SIZE

      The associated value is a nonnegative integer that specifies the number of bits in the stencil buffer. The smallest stencil buffer of at least the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_ACCUM_RED_SIZE

      AGL_ACCUM_RED_SIZE

      The associated value is a nonnegative integer that specifies the number of bits of red stored in the accumulation buffer. A red accumulation buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_ACCUM_GREEN_SIZE

      AGL_ACCUM_GREEN_SIZE

      The associated value is a nonnegative integer that specifies the number of bits of green stored in the accumulation buffer. A green accumulation buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_ACCUM_BLUE_SIZE

      AGL_ACCUM_BLUE_SIZE

      The associated value is a nonnegative integer that specifies the number of bits of blue stored in the accumulation buffer. A blue accumulation buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_ACCUM_ALPHA_SIZE

      AGL_ACCUM_ALPHA_SIZE

      The associated value is a nonnegative integer that specifies the number of bits of alpha stored in the accumulation buffer. An alpha accumulation buffer that most closely matches the specified size is preferred.

      Available in OS X v10.0 and later.

    • AGL_PIXEL_SIZE

      AGL_PIXEL_SIZE

      The associated value is a nonnegative integer that specifies the number frame buffer bits per pixel. The pixel size is the number of bits required to store each pixel in the color buffer, including unused bits. If the pixel format has an alpha channel that is stored in a separate buffer, its size is not included in the pixel size.

      Available in OS X v10.0 and later.

    • AGL_MINIMUM_POLICY

      AGL_MINIMUM_POLICY

      This constant is a Boolean attribute. If it is present in the attributes array, the pixel format choosing policy is altered for the color, depth, and accumulation buffers such that only buffers of size greater than or equal to the desired size are considered. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.0 and later.

    • AGL_MAXIMUM_POLICY

      AGL_MAXIMUM_POLICY

      This constant is a Boolean attribute. If it is present in the attributes array, the pixel format choosing policy is altered for the color, depth, and accumulation buffers such that, if a nonzero buffer size is requested, the largest available buffer is preferred. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.0 and later.

    • AGL_OFFSCREEN

      AGL_OFFSCREEN

      This constant is a Boolean attribute. If it is present in the attributes array, only renderers that are capable of rendering to an off-screen memory area and have buffer depth exactly equal to the desired buffer depth are considered. Do not supply a value with this constant because its presence in the array implies true, and thereby enables the attribute.

      If enabled, and if the drawable object currently attached to a rendering context is an offscreen drawable object, the associated values are the width, height, and row bytes of the offscreen memory area. If enabled, and if the drawable object is not an offscreen type, the width, height, and row bytes are each 0. When the AGL_OFFSCREEN attribute is present, the AGL_CLOSEST_POLICY attribute is implied.

      Available in OS X v10.0 and later.

    • AGL_FULLSCREEN

      AGL_FULLSCREEN

      This constant is a Boolean attribute. If it is present in the attributes array, only renderers that are capable of rendering to a full-screen drawable object are considered. Furthermore, the gdevs parameter must be set to a pointer to the GDevice on which full-screen rendering is desired and the ndev parameter must be set to 1.

      If present, and if the drawable object that is currently attached to a rendering context is a full-screen drawable object, the associated values are the width, height, and refresh frequency of the full-screen device, rounded to the nearest integer. If present, and if the drawable object is not a full-screen type, the width, height, and refresh frequency are each 0.

      Available in OS X v10.0 and later.

    • AGL_SAMPLE_BUFFERS_ARB

      AGL_SAMPLE_BUFFERS_ARB

      The associated value is the number of multisample buffers.

      Available in OS X v10.2 and later.

    • AGL_SAMPLES_ARB

      AGL_SAMPLES_ARB

      The associated value is the number of samples per multisample buffer.

      Available in OS X v10.2 and later.

    • AGL_AUX_DEPTH_STENCIL

      AGL_AUX_DEPTH_STENCIL

      The associated value is the independent depth and/or the stencil buffers for the auxiliary buffer.

      Available in OS X v10.2 and later.

    • AGL_COLOR_FLOAT

      AGL_COLOR_FLOAT

      This constant is a Boolean attribute. If it is present in the attributes array, color buffers store floating-point pixels. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.3 and later.

    • AGL_MULTISAMPLE

      AGL_MULTISAMPLE

      This constant is a Boolean attribute. If it is present in the attributes array, specifies a hint to the driver to prefer multisampling. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.3 and later.

    • AGL_SUPERSAMPLE

      AGL_SUPERSAMPLE

      This constant is a Boolean attribute. If it is present in the attributes array, specifies a hint to the driver to prefer supersampling. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.3 and later.

    • AGL_SAMPLE_ALPHA

      AGL_SAMPLE_ALPHA

      This constant is a Boolean attribute. If it is present in the attributes array, request alpha filtering when multisampling. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.3 and later.

    Discussion

    Each of these constants can be assigned to the the attribute array passed to the function aglChoosePixelFormat. They can also be passed to the function aglDescribePixelFormat.

  • Define constants used to set buffer modes.

    Declaration

    Objective-C

    #define AGL_MONOSCOPIC_BIT 0x00000001 #define AGL_STEREOSCOPIC_BIT 0x00000002 #define AGL_SINGLEBUFFER_BIT 0x00000004 #define AGL_DOUBLEBUFFER_BIT 0x00000008

    Constants

    • AGL_MONOSCOPIC_BIT

      AGL_MONOSCOPIC_BIT

      A left buffer.

      Available in OS X v10.0 and later.

    • AGL_STEREOSCOPIC_BIT

      AGL_STEREOSCOPIC_BIT

      A left and right buffer.

      Available in OS X v10.0 and later.

    • AGL_SINGLEBUFFER_BIT

      AGL_SINGLEBUFFER_BIT

      A front buffer.

      Available in OS X v10.0 and later.

    • AGL_DOUBLEBUFFER_BIT

      AGL_DOUBLEBUFFER_BIT

      A front and back buffer.

      Available in OS X v10.0 and later.

  • Specify formats and color channel layout information for the color buffer.

    Declaration

    Objective-C

    #define AGL_RGB8_BIT 0x00000001 #define AGL_RGB8_A8_BIT 0x00000002 #define AGL_BGR233_BIT 0x00000004 #define AGL_BGR233_A8_BIT 0x00000008 #define AGL_RGB332_BIT 0x00000010 #define AGL_RGB332_A8_BIT 0x00000020 #define AGL_RGB444_BIT 0x00000040 #define AGL_ARGB4444_BIT 0x00000080 #define AGL_RGB444_A8_BIT 0x00000100 #define AGL_RGB555_BIT 0x00000200 #define AGL_ARGB1555_BIT 0x00000400 #define AGL_RGB555_A8_BIT 0x00000800 #define AGL_RGB565_BIT 0x00001000 #define AGL_RGB565_A8_BIT 0x00002000 #define AGL_RGB888_BIT 0x00004000 #define AGL_ARGB8888_BIT 0x00008000 #define AGL_RGB888_A8_BIT 0x00010000 #define AGL_RGB101010_BIT 0x00020000 #define AGL_ARGB2101010_BIT 0x00040000 #define AGL_RGB101010_A8_BIT 0x00080000 #define AGL_RGB121212_BIT 0x00100000 #define AGL_ARGB12121212_BIT 0x00200000 #define AGL_RGB161616_BIT 0x00400000 #define AGL_ARGB16161616_BIT 0x00800000 #define AGL_INDEX8_BIT 0x20000000 #define AGL_INDEX16_BIT 0x40000000 #define AGL_RGBFLOAT64_BIT 0x01000000 #define AGL_RGBAFLOAT64_BIT 0x02000000 #define AGL_RGBFLOAT128_BIT 0x04000000 #define AGL_RGBAFLOAT128_BIT 0x08000000 #define AGL_RGBFLOAT256_BIT 0x01000000 #define AGL_RGBAFLOAT256_BIT 0x02000000

    Constants

    • AGL_RGB8_BIT

      AGL_RGB8_BIT

      Specifies a format that has 8 bits per pixel with an RGB channel layout: RGB=7:0, inverse color map.

      Available in OS X v10.0 and later.

    • AGL_RGB8_A8_BIT

      AGL_RGB8_A8_BIT

      Specifies an 8-8 ARGB bits per pixel format and the channels located in the following bits: A=7:0, RGB=7:0, inverse color map.

      Available in OS X v10.0 and later.

    • AGL_BGR233_BIT

      AGL_BGR233_BIT

      Specifies a format that has 8 bits per pixel with an RGB channel layout, and the channels located in the following bits: B=7:6, G=5:3, R=2:0

      Available in OS X v10.0 and later.

    • AGL_BGR233_A8_BIT

      AGL_BGR233_A8_BIT

      Specifies an 8-8 ARGB bits per pixel format and the channels located in the following bits: A=7:0, B=7:6, G=5:3, R=2:0

      Available in OS X v10.0 and later.

    • AGL_RGB332_BIT

      AGL_RGB332_BIT

      Specifies a format that has 8 bits per pixel with an RGB channel layout, and the channels located in the following bits: R=7:5, G=4:2, B=1:0

      Available in OS X v10.0 and later.

    • AGL_RGB332_A8_BIT

      AGL_RGB332_A8_BIT

      Specifies an 8-8 ARGB bits per pixel format and the channels located in the following bits: A=7:0, R=7:5, G=4:2, B=1:0

      Available in OS X v10.0 and later.

    • AGL_RGB444_BIT

      AGL_RGB444_BIT

      Specifies a format that has 16 bits per pixel with an RGB channel layout, and the channels located in the following bits: R=11:8, G=7:4, B=3:0

      Available in OS X v10.0 and later.

    • AGL_ARGB4444_BIT

      AGL_ARGB4444_BIT

      Specifies a format that has 16 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=15:12, R=11:8, G=7:4, B=3:0

      Available in OS X v10.0 and later.

    • AGL_RGB444_A8_BIT

      AGL_RGB444_A8_BIT

      Specifies a format that has 8-16 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=7:0, R=11:8, G=7:4, B=3:0

      Available in OS X v10.0 and later.

    • AGL_RGB555_BIT

      AGL_RGB555_BIT

      Specifies a format that has 16 bits per pixel with an RGB channel layout, and the channels located in the following bits: R=14:10, G=9:5, B=4:0. The top bit is not used.

      Available in OS X v10.0 and later.

    • AGL_ARGB1555_BIT

      AGL_ARGB1555_BIT

      Specifies a format that has 16 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=15, R=14:10, G=9:5, B=4:0

      Available in OS X v10.0 and later.

    • AGL_RGB555_A8_BIT

      AGL_RGB555_A8_BIT

      Specifies a format that has 8-16 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=7:0, R=14:10, G=9:5, B=4:0

      Available in OS X v10.0 and later.

    • AGL_RGB565_BIT

      AGL_RGB565_BIT

      Specifies a format that has 16 bits per pixel with an RGB channel layout, and the channels located in the following bits: R=15:11, G=10:5, B=4:0

      Available in OS X v10.0 and later.

    • AGL_RGB565_A8_BIT

      AGL_RGB565_A8_BIT

      Specifies a format that has 8-16 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=7:0, R=15:11, G=10:5, B=4:0

      Available in OS X v10.0 and later.

    • AGL_RGB888_BIT

      AGL_RGB888_BIT

      Specifies a format that has 32 bits per pixel with an RGB channel layout, and the channels located in the following bits: R=23:16, G=15:8, B=7:0; R, G, and B take 1 byte each.

      Available in OS X v10.0 and later.

    • AGL_ARGB8888_BIT

      AGL_ARGB8888_BIT

      Specifies a format that has 32 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=31:24, R=23:16, G=15:8, B=7:0

      Available in OS X v10.0 and later.

    • AGL_RGB888_A8_BIT

      AGL_RGB888_A8_BIT

      Specifies a format that has 8-32 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=7:0, R=23:16, G=15:8, B=7:0

      Available in OS X v10.0 and later.

    • AGL_RGB101010_BIT

      AGL_RGB101010_BIT

      Specifies a format that has 32 bits per pixel with an RGB channel layout, and the channels located in the following bits: R=29:20, G=19:10, B=9:0

      Available in OS X v10.0 and later.

    • AGL_ARGB2101010_BIT

      AGL_ARGB2101010_BIT

      Specifies a format that has 32 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=31:30 R=29:20, G=19:10, B=9:0

      Available in OS X v10.0 and later.

    • AGL_RGB101010_A8_BIT

      AGL_RGB101010_A8_BIT

      Specifies a format that has 8-32 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=7:0 R=29:20, G=19:10, B=9:0

      Available in OS X v10.0 and later.

    • AGL_RGB121212_BIT

      AGL_RGB121212_BIT

      Specifies a format that has 48 bits per pixel with an RGB channel layout, and the channels located in the following bits: R=35:24, G=23:12, B=11:0

      Available in OS X v10.0 and later.

    • AGL_ARGB12121212_BIT

      AGL_ARGB12121212_BIT

      Specifies a format that has 48 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=47:36, R=35:24, G=23:12, B=11:0

      Available in OS X v10.0 and later.

    • AGL_RGB161616_BIT

      AGL_RGB161616_BIT

      Specifies a format that has 64 bits per pixel with an RGB channel layout, and the channels located in the following bits: R=47:32, G=31:16, B=15:0

      Available in OS X v10.0 and later.

    • AGL_ARGB16161616_BIT

      AGL_ARGB16161616_BIT

      Specifies a format that has 64 bits per pixel with an ARGB channel layout, and the channels located in the following bits: A=63:48, R=47:32, G=31:16, B=15:0

      Available in OS X v10.0 and later.

    • AGL_INDEX8_BIT

      AGL_INDEX8_BIT

      Specifies an 8 bit color look up table. (Deprecated)

      Available in OS X v10.0 and later.

    • AGL_INDEX16_BIT

      AGL_INDEX16_BIT

      Specifies an 16 bit color look up table. (Deprecated)

      Available in OS X v10.0 and later.

    • AGL_RGBFLOAT64_BIT

      AGL_RGBFLOAT64_BIT

      Specifies a format that has 64 bits per pixel with an RGB channel layout, half-floating point values. (A half-float is a 16-bit floating-point value.)

      Available in OS X v10.3 and later.

    • AGL_RGBAFLOAT64_BIT

      AGL_RGBAFLOAT64_BIT

      Specifies a format that has 64 bits per pixel with an ARGB channel layout, half-floating point values. (A half-float is a 16-bit floating-point value.)

      Available in OS X v10.3 and later.

    • AGL_RGBFLOAT128_BIT

      AGL_RGBFLOAT128_BIT

      Specifies a format that has 128 bits per pixel with an RGB channel layout, IEEE floating point values.

      Available in OS X v10.3 and later.

    • AGL_RGBAFLOAT128_BIT

      AGL_RGBAFLOAT128_BIT

      Specifies a format that has 128 bits per pixel with an ARGB channel layout, IEEE floating point values.

      Available in OS X v10.3 and later.

    • AGL_RGBFLOAT256_BIT

      AGL_RGBFLOAT256_BIT

      Specifies a format that has 256 bits per pixel with an RGB channel layout, IEEE double values.

      Available in OS X v10.3 and later.

    • AGL_RGBAFLOAT256_BIT

      AGL_RGBAFLOAT256_BIT

      Specifies a format that has 256 bits per pixel with an ARGB channel layout, IEEE double values.

      Available in OS X v10.3 and later.

  • Define options and parameters that apply to a specific rendering context.

    Declaration

    Objective-C

    #define AGL_SWAP_RECT 200 #define AGL_BUFFER_RECT 202 #define AGL_SWAP_LIMIT 203 #define AGL_COLORMAP_TRACKING 210 #define AGL_COLORMAP_ENTRY 212 #define AGL_RASTERIZATION 220 #define AGL_SWAP_INTERVAL 222 #define AGL_STATE_VALIDATION 230 #define AGL_BUFFER_NAME 231 #define AGL_ORDER_CONTEXT_TO_FRONT 232 #define AGL_CONTEXT_SURFACE_ID 233 #define AGL_CONTEXT_DISPLAY_ID 234 #define AGL_SURFACE_ORDER 235 #define AGL_SURFACE_OPACITY 236 #define AGL_CLIP_REGION 254 #define AGL_FS_CAPTURE_SINGLE 255 #define AGL_SURFACE_BACKING_SIZE 304 #define AGL_ENABLE_SURFACE_BACKING_SIZE 305 #define AGL_SURFACE_VOLATILE 306

    Constants

    • AGL_SWAP_RECT

      AGL_SWAP_RECT

      Enable or set the swap rectangle. The associated parameter must contain four values: the x and y window coordinates of the swap rectangle, followed by its width and height. If enabled, the area of the window that is affected by the function aglSwapBuffers is restricted to a subrectangle of the entire window.

      Available in OS X v10.0 and later.

    • AGL_BUFFER_RECT

      AGL_BUFFER_RECT

      Enable or set the buffer rectangle. The associated parameter must contain four values: the x and y window coordinates of the buffer rectangle, relative to the structure bounds of the window, followed by its width and height. If enabled, the drawable rectangle of the window and all of its associated buffers are restricted to the specified rectangle.

      Available in OS X v10.0 and later.

    • AGL_SWAP_LIMIT

      AGL_SWAP_LIMIT

      Enable or disable the swap asynchronous limit.

      Available in OS X v10.2 and later.

    • AGL_COLORMAP_TRACKING

      AGL_COLORMAP_TRACKING

      Enable or disable color map tracking.

      Available in OS X v10.0 and later.

    • AGL_COLORMAP_ENTRY

      AGL_COLORMAP_ENTRY

      The associated value is a color map entry specifies as {index, r, g, b}.

      Available in OS X v10.0 and later.

    • AGL_RASTERIZATION

      AGL_RASTERIZATION

      Enable or disable all rasterization of 2D and 3D primitives. You can use this option to debug and characterize the performance of an OpenGL driver without actually rendering.

      Available in OS X v10.0 and later.

    • AGL_SWAP_INTERVAL

      AGL_SWAP_INTERVAL

      The associated parameter contains one value: the current swap interval setting. A value of 0 specifies not to synchronize to the vertical retrace. All other values indicate to synchronize to the vertical retrace.

      Available in OS X v10.0 and later.

    • AGL_STATE_VALIDATION

      AGL_STATE_VALIDATION

      Enables or disables state validation for multiscreen functionality. If enabled, the AGL library inspects the rendering context state each time that the function aglUpdateContext is called to ensure that it is in an appropriate state for switching between renderers. Normally, the state is inspected only when it is actually necessary to switch renderers. This option is useful when you want to use a single monitor system to test that an application will perform correctly on a multiple monitor system.

      Available in OS X v10.0 and later.

    • AGL_BUFFER_NAME

      AGL_BUFFER_NAME

      The associated value is a buffer name. You can use this option to allow multiple OpenGL contexts to share a buffer.

      Available in OS X v10.0 and later.

    • AGL_ORDER_CONTEXT_TO_FRONT

      AGL_ORDER_CONTEXT_TO_FRONT

      Specifies to order the current rendering context in front of all the other contexts.

      Available in OS X v10.1 and later.

    • AGL_CONTEXT_SURFACE_ID

      AGL_CONTEXT_SURFACE_ID

      The associated value is the ID of the drawable surface for the rendering context. You can’t set this value because the system sets it. However, you can retrieve the value using the function aglGetInteger.

      Available in OS X v10.2 and later.

    • AGL_CONTEXT_DISPLAY_ID

      AGL_CONTEXT_DISPLAY_ID

      The associated value is a list of the display IDs of all displays touched by the rendering context, up to a maximum of 32 displays. You can’t set this list of values because the system assigns display ID values. However, you can retrieve the value using the function aglGetInteger.

      Available in OS X v10.2 and later.

    • AGL_SURFACE_ORDER

      AGL_SURFACE_ORDER

      The associated value is the position of the OpenGL surface relative to the window. A value of 1 means that the position is above the window; a value of –1 specifies a position that is below the window.

      Available in OS X v10.2 and later.

    • AGL_SURFACE_OPACITY

      AGL_SURFACE_OPACITY

      The associated value specifies the opacity of the OpenGL surface. A value of 1 means the surface is opaque (the default); 0 means completely transparent.

      Available in OS X v10.2 and later.

    • AGL_CLIP_REGION

      AGL_CLIP_REGION

      Enables or sets the drawable clipping region. The associated value is a rgnHandle data type that defines the clipping region.

      Available in OS X v10.2 and later.

    • AGL_FS_CAPTURE_SINGLE

      AGL_FS_CAPTURE_SINGLE

      Enables the capture of a single display for full-screen rendering. This option is disabled by default.

      Available in OS X v10.2 and later.

    • AGL_SURFACE_BACKING_SIZE

      AGL_SURFACE_BACKING_SIZE

      The associated value specifies the width and height of surface backing size.

      Available in OS X v10.4 and later.

    • AGL_ENABLE_SURFACE_BACKING_SIZE

      AGL_ENABLE_SURFACE_BACKING_SIZE

      Enable or disable the surface backing-size override.

      Available in OS X v10.4 and later.

    • AGL_SURFACE_VOLATILE

      AGL_SURFACE_VOLATILE

      Flags the surface as a candidate for deletion.

      Available in OS X v10.4 and later.

  • Defines the error codes that can be returned by the aglGetError function.

    Declaration

    Objective-C

    #define AGL_NO_ERROR 0 #define AGL_BAD_ATTRIBUTE 10000 #define AGL_BAD_PROPERTY 10001 #define AGL_BAD_PIXELFMT 10002 #define AGL_BAD_RENDINFO 10003 #define AGL_BAD_CONTEXT 10004 #define AGL_BAD_DRAWABLE 10005 #define AGL_BAD_GDEV 10006 #define AGL_BAD_STATE 10007 #define AGL_BAD_VALUE 10008 #define AGL_BAD_MATCH 10009 #define AGL_BAD_ENUM 10010 #define AGL_BAD_OFFSCREEN 10011 #define AGL_BAD_FULLSCREEN 10012 #define AGL_BAD_WINDOW 10013 #define AGL_BAD_POINTER 10014 #define AGL_BAD_MODULE 10015 #define AGL_BAD_ALLOC 10016 #define AGL_BAD_CONNECTION 10017

    Constants

    • AGL_NO_ERROR

      AGL_NO_ERROR

      No error.

      Available in OS X v10.0 and later.

    • AGL_BAD_ATTRIBUTE

      AGL_BAD_ATTRIBUTE

      Invalid pixel format attribute.

      Available in OS X v10.0 and later.

    • AGL_BAD_PROPERTY

      AGL_BAD_PROPERTY

      Invalid renderer property.

      Available in OS X v10.0 and later.

    • AGL_BAD_PIXELFMT

      AGL_BAD_PIXELFMT

      Invalid pixel format.

      Available in OS X v10.0 and later.

    • AGL_BAD_RENDINFO

      AGL_BAD_RENDINFO

      Invalid renderer info.

      Available in OS X v10.0 and later.

    • AGL_BAD_CONTEXT

      AGL_BAD_CONTEXT

      Invalid rendering context.

      Available in OS X v10.0 and later.

    • AGL_BAD_DRAWABLE

      AGL_BAD_DRAWABLE

      Invalid drawable object. A change of virtual screens (renderers) fails if the surface width and height cannot be set to the values requested, or if the creation of a drawable object or surfaces needed to support a pixel buffer fails for other reasons.

      Available in OS X v10.0 and later.

    • AGL_BAD_GDEV

      AGL_BAD_GDEV

      Invalid graphics device.

      Available in OS X v10.0 and later.

    • AGL_BAD_STATE

      AGL_BAD_STATE

      Invalid rendering context state.

      Available in OS X v10.0 and later.

    • AGL_BAD_VALUE

      AGL_BAD_VALUE

      Invalid numerical value.

      Available in OS X v10.0 and later.

    • AGL_BAD_MATCH

      AGL_BAD_MATCH

      Invalid share rendering context.

      Available in OS X v10.0 and later.

    • AGL_BAD_ENUM

      AGL_BAD_ENUM

      Invalid enumerant.

      Available in OS X v10.0 and later.

    • AGL_BAD_OFFSCREEN

      AGL_BAD_OFFSCREEN

      Invalid offscreen drawable object.

      Available in OS X v10.0 and later.

    • AGL_BAD_FULLSCREEN

      AGL_BAD_FULLSCREEN

      Invalid full-screen drawable object.

      Available in OS X v10.0 and later.

    • AGL_BAD_WINDOW

      AGL_BAD_WINDOW

      Invalid window.

      Available in OS X v10.0 and later.

    • AGL_BAD_POINTER

      AGL_BAD_POINTER

      Invalid pointer.

      Available in OS X v10.0 and later.

    • AGL_BAD_MODULE

      AGL_BAD_MODULE

      Invalid code module.

      Available in OS X v10.0 and later.

    • AGL_BAD_ALLOC

      AGL_BAD_ALLOC

      Memory allocation failure.

      Available in OS X v10.0 and later.

    • AGL_BAD_CONNECTION

      AGL_BAD_CONNECTION

      Unable to connect to the window server.

      Available in OS X v10.3 and later.

    Discussion

    Unlike many Carbon APIs, AGL functions don’t return result codes for specific error conditions. Instead, AGL functions that fail either return GL_FALSE or NULL. You can find out the specific nature of the error by calling the function aglGetError, which returns the appropriate error code.

  • Specify options that apply globally.

    Declaration

    Objective-C

    #define AGL_FORMAT_CACHE_SIZE 501 #define AGL_CLEAR_FORMAT_CACHE 502 #define AGL_RETAIN_RENDERERS 503

    Constants

    • AGL_FORMAT_CACHE_SIZE

      AGL_FORMAT_CACHE_SIZE

      The associated value is the size of the positive pixel format cache and is initially set to 5. If your application needs to use n different attribute lists to choose n different pixel formats repeatedly, then the application should set the cache size to n to maximize performance. After your application calls the aglChoosePixelFormat function for the last time, you might want to set the cache size to 1 to minimize the memory used by the AGL library.

      Available in OS X v10.0 and later.

    • AGL_CLEAR_FORMAT_CACHE

      AGL_CLEAR_FORMAT_CACHE

      When the associated value is nonzero, specifies to reset the pixel format cache. Clearing the cache does not affect the size of the cache for future storage of pixel formats. To minimize the memory consumed by the cache, your application should also set the cache size to 1.

      Available in OS X v10.0 and later.

    • AGL_RETAIN_RENDERERS

      AGL_RETAIN_RENDERERS

      Specifies whether or not to retain loaded plug-in renderers in memory. When the associated value is nonzero, the AGL library will not unload any plug-in renderers even if they are no longer in use. This option is useful to improve the performance of applications that repeatedly destroy and recreate their only (or last) rendering context. Normally, when the last rendering context created by a particular plug-in renderer is destroyed, that renderer is unloaded from memory. When the associated value is zero, AGL returns to its normal mode of operation and all renderers that are not in use are unloaded.

      Available in OS X v10.0 and later.

    Discussion

    You can pass any of these options, along with the appropriate value, to the function aglConfigure.

  • Define options for managing renderers.

    Declaration

    Objective-C

    #define AGL_RENDERER_ID 70 #define AGL_SINGLE_RENDERER 71 #define AGL_NO_RECOVERY 72 #define AGL_ACCELERATED 73 #define AGL_CLOSEST_POLICY 74 #define AGL_ROBUST 75 #define AGL_BACKING_STORE 76 #define AGL_MP_SAFE 78 #define AGL_WINDOW 80 #define AGL_MULTISCREEN 81 #define AGL_VIRTUAL_SCREEN 82 #define AGL_COMPLIANT 83 #define AGL_PBUFFER 90 #define AGL_REMOTE_PBUFFER 91

    Constants

    • AGL_RENDERER_ID

      AGL_RENDERER_ID

      The associated value is a nonnegative integer that specifies a renderer. If present, OpenGL renderers that match the specified ID are preferred. See Renderer IDs for possible values. You can pass this constant to the function aglDescribeRenderer.

      Available in OS X v10.0 and later.

    • AGL_SINGLE_RENDERER

      AGL_SINGLE_RENDERER

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that a single pixel format represents a single renderer for all screens. On systems with multiple screens, this option disables the ability of the AGL library to drive different monitors through different graphics accelerator cards with a single AGL rendering context.. Do not supply a value with this constant because its presence in the array implies true.

      Available in OS X v10.0 and later.

    • AGL_NO_RECOVERY

      AGL_NO_RECOVERY

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that failure recovery features are disabled for this pixel format. Normally, if an accelerated renderer cannot attach to a drawable object due to insufficient video memory, AGL automatically switches to another renderer. This attribute disables these features so that rendering will always be done by the chosen renderer. For example, with this option enabled, you won't get a software renderer as a fallback if a hardware-accelerated renderer runs out of resources.

      Available in OS X v10.0 and later.

    • AGL_ACCELERATED

      AGL_ACCELERATED

      This constant is a Boolean attribute. If it is present in the attributes array, specifies renderers that are attached to a hardware accelerated graphics device. It is usually impossible to support more than one accelerated graphics device, because typically when a window spans more than one device, OpenGL uses the software renderer. You can pass this constant to the function aglDescribeRenderer to find out whether a particular renderer is hardware accelerated.

      Available in OS X v10.0 and later.

    • AGL_CLOSEST_POLICY

      AGL_CLOSEST_POLICY

      The associated value specifies a color buffer size. When set, this option alters the pixel format choosing policy such that a color buffer closest to the requested size is preferred, regardless of the actual color buffer depth of the supported graphics device.

      Available in OS X v10.0 and later.

    • AGL_ROBUST

      AGL_ROBUST

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that AGL should consider only those renderers that do not have any failure modes associated with a lack of video card resources. You can pass this constant to the function aglDescribeRenderer.

      Available in OS X v10.0 and later.

    • AGL_BACKING_STORE

      AGL_BACKING_STORE

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that AGL should consider only those renderers that have a back color buffer the full size of the drawable object (regardless of window visibility). AGL guarantees that the back buffer contents will be valid after a call to the aglSwapBuffers function. You can pass this constant to the function aglDescribeRenderer.

      Available in OS X v10.0 and later.

    • AGL_MP_SAFE

      AGL_MP_SAFE

      This constant is a Boolean attribute. If it is present in the attributes array, specifies a renderer that is multiprocessor safe. This attribute is deprecated in OS X because all renderers can accept commands for threads running on a second processor. However, this does not mean that all renderers are thread-safe or reentrant.

      Available in OS X v10.0 and later.

    • AGL_WINDOW

      AGL_WINDOW

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that the pixel format can be used to render to an onscreen window. You can pass this constant to the function aglDescribeRenderer.

      Available in OS X v10.0 and later.

    • AGL_MULTISCREEN

      AGL_MULTISCREEN

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that the renderer is capable of driving multiple screens with the same rendering context. (A single window can span multiple screens.) You can pass this constant to the function aglDescribeRenderer.

      Available in OS X v10.0 and later.

    • AGL_VIRTUAL_SCREEN

      AGL_VIRTUAL_SCREEN

      The associated value is an integer that specifies the virtual screen number of the pixel format.

      Available in OS X v10.0 and later.

    • AGL_COMPLIANT

      AGL_COMPLIANT

      This constant is a Boolean attribute. If it is present in the attributes array, specifies a pixel format that is fully compliant with OpenGL. All OS X renderers are OpenGL-compliant. You can pass this constant to the function aglDescribeRenderer.

      Available in OS X v10.0 and later.

    • AGL_PBUFFER

      AGL_PBUFFER

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that the renderer can render to a pixel buffer. You can pass this constant to the function aglDescribeRenderer.

      Available in OS X v10.3 and later.

    • AGL_REMOTE_PBUFFER

      AGL_REMOTE_PBUFFER

      This constant is a Boolean attribute. If it is present in the attributes array, specifies that the renderer can render offline to a pixel buffer.

      Available in OS X v10.3 and later.

  • Define constants that specify hardware and software renderers.

    Declaration

    Objective-C

    #define AGL_RENDERER_GENERIC_ID 0x00020200 #define AGL_RENDERER_GENERIC_FLOAT_ID 0x00020400 #define AGL_RENDERER_APPLE_SW_ID 0x00020600 #define AGL_RENDERER_ATI_RAGE_128_ID 0x00021000 #define AGL_RENDERER_ATI_RADEON_ID 0x00021200 #define AGL_RENDERER_ATI_RAGE_PRO_ID 0x00021400 #define AGL_RENDERER_ATI_RADEON_8500_ID 0x00021600 #define AGL_RENDERER_ATI_RADEON_9700_ID 0x00021800 #define AGL_RENDERER_ATI_RADEON_X1000_ID 0x00021900 #define AGL_RENDERER_NVIDIA_GEFORCE_2MX_ID 0x00022000 #define AGL_RENDERER_NVIDIA_GEFORCE_3_ID 0x00022200 #define AGL_RENDERER_NVIDIA_GEFORCE_FX_ID 0x00022400 #define AGL_RENDERER_VT_BLADE_XP2_ID 0x00023000 #define AGL_RENDERER_INTEL_900_ID 0x00024000 #define AGL_RENDERER_MESA_3DFX_ID 0x00040000

    Constants

    • AGL_RENDERER_GENERIC_ID

      AGL_RENDERER_GENERIC_ID

      A generic display device.

      Deprecated on Intel-based Macintosh computers.

      Available in OS X v10.0 and later.

    • AGL_RENDERER_GENERIC_FLOAT_ID

      AGL_RENDERER_GENERIC_FLOAT_ID

      A floating-point software renderer that is optimized for vector-based processors, is programmable, and supports shading.

      Available in OS X v10.3 and later.

    • AGL_RENDERER_APPLE_SW_ID

      AGL_RENDERER_APPLE_SW_ID

      The Apple software renderer.

      Available in OS X v10.2 and later.

    • AGL_RENDERER_ATI_RAGE_128_ID

      AGL_RENDERER_ATI_RAGE_128_ID

      An ATI Rage 128 display device.

      Available in OS X v10.2 and later.

    • AGL_RENDERER_ATI_RADEON_ID

      AGL_RENDERER_ATI_RADEON_ID

      An ATI Radeon display device.

      Available in OS X v10.2 and later.

    • AGL_RENDERER_ATI_RAGE_PRO_ID

      AGL_RENDERER_ATI_RAGE_PRO_ID

      An ATI Rage Pro display device.

      Available in OS X v10.2 and later.

    • AGL_RENDERER_ATI_RADEON_8500_ID

      AGL_RENDERER_ATI_RADEON_8500_ID

      An ATI Radeon 8500 display device.

      Available in OS X v10.2 and later.

    • AGL_RENDERER_ATI_RADEON_9700_ID

      AGL_RENDERER_ATI_RADEON_9700_ID

      An ATI Radeon 9700 display device.

      Available in OS X v10.3 and later.

    • AGL_RENDERER_ATI_RADEON_X1000_ID

      AGL_RENDERER_ATI_RADEON_X1000_ID

      An ATI Radeon 9700 display device.

      Available in OS X v10.5 and later.

    • AGL_RENDERER_NVIDIA_GEFORCE_2MX_ID

      AGL_RENDERER_NVIDIA_GEFORCE_2MX_ID

      An NVIDIA GeForce 2MX display device or an NVIDIA GeForce 4MX.

      Available in OS X v10.2 and later.

    • AGL_RENDERER_NVIDIA_GEFORCE_3_ID

      AGL_RENDERER_NVIDIA_GEFORCE_3_ID

      An NVIDIA GeForce 3 display device or an NVIDIA GeForce 4 Ti.

      Available in OS X v10.2 and later.

    • AGL_RENDERER_NVIDIA_GEFORCE_FX_ID

      AGL_RENDERER_NVIDIA_GEFORCE_FX_ID

      An NVIDIA GeForce FX, GeForce 6, or GeForce 7 display device.

      Available in OS X v10.3 and later.

    • AGL_RENDERER_VT_BLADE_XP2_ID

      AGL_RENDERER_VT_BLADE_XP2_ID

      A Village Tronic display device.

      Available in OS X v10.3 and later.

    • AGL_RENDERER_INTEL_900_ID

      AGL_RENDERER_INTEL_900_ID

      An Intel GMA 900 display device.

      Available in OS X v10.5 and later.

    • AGL_RENDERER_MESA_3DFX_ID

      AGL_RENDERER_MESA_3DFX_ID

      A Mesa 3DFX display device.

      Available in OS X v10.2 and later.

  • Specify constants that you can use to query renderer properties.

    Declaration

    Objective-C

    #define AGL_BUFFER_MODES 100 #define AGL_MIN_LEVEL 101 #define AGL_MAX_LEVEL 102 #define AGL_COLOR_MODES 103 #define AGL_ACCUM_MODES 104 #define AGL_DEPTH_MODES 105 #define AGL_STENCIL_MODES 106 #define AGL_MAX_AUX_BUFFERS 107 #define AGL_VIDEO_MEMORY 120 #define AGL_TEXTURE_MEMORY 121 #define AGL_RENDERER_COUNT 128

    Constants

    • AGL_BUFFER_MODES

      AGL_BUFFER_MODES

      The associated value can be a bitwise OR of the any of the constants specified in Buffer Mode Flags.

      Available in OS X v10.0 and later.

    • AGL_MIN_LEVEL

      AGL_MIN_LEVEL

      The associated value specifies the minimum overlay buffer level. Negative values indicate an underlay buffer.

      Available in OS X v10.0 and later.

    • AGL_MAX_LEVEL

      AGL_MAX_LEVEL

      The associated value specifies the maximum overlay buffer level.

      Available in OS X v10.0 and later.

    • AGL_COLOR_MODES

      AGL_COLOR_MODES

      The associated value can be a bitwise OR of any of the constants specified in Color Modes.

      Available in OS X v10.0 and later.

    • AGL_ACCUM_MODES

      AGL_ACCUM_MODES

      The associated value can be a bitwise OR of any of the constants specified in Color Modes.

      Available in OS X v10.0 and later.

    • AGL_DEPTH_MODES

      AGL_DEPTH_MODES

      The associated value can be the bitwise OR of any of the constants specified in Bit Depths.

      Available in OS X v10.0 and later.

    • AGL_STENCIL_MODES

      AGL_STENCIL_MODES

      The associated value can be the bitwise OR of any of the constants specified in Bit Depths.

      Available in OS X v10.0 and later.

    • AGL_MAX_AUX_BUFFERS

      AGL_MAX_AUX_BUFFERS

      The associated value is the maximum number of auxiliary buffers that can be supported by the renderer.

      Available in OS X v10.0 and later.

    • AGL_VIDEO_MEMORY

      AGL_VIDEO_MEMORY

      The associated value is the amount of video memory.

      Available in OS X v10.0 and later.

    • AGL_TEXTURE_MEMORY

      AGL_TEXTURE_MEMORY

      The associated value is the amount of texture memory.

      Available in OS X v10.0 and later.

    • AGL_RENDERER_COUNT

      AGL_RENDERER_COUNT

      The associated value is the number of renderers.

      Available in OS X v10.3 and later.

    Discussion

    You can pass these constants to the function aglDescribeRenderer to find out the property value for a specific renderer.