ADC Home > Reference Library > Technical Q&As > Legacy Documents > Graphics & Imaging >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

OpenGL and 3D Graphics Changes in Mac OS X v10.2.4

Q: What changes were made in OpenGL and 3D graphics for Mac OS X v10.2.4?

A: Mac OS X v10.2.4 adds additional OpenGL extension support, better automatic mipmap generation and compressed texture handling, Rage 128 updates, and other general improvements and bug fixes to the 3D graphics pipeline. The extensions outlined in Listing 1 have been added to OpenGL for Mac OS X v10.2.4. Developers can check the extensions string for specific renderer support and see the Mac OS X OpenGL Extensions Guide to learn about extension use and read the specification.

  • GL_ATI_texture_env_combine3
  • GL_SGIS_generate_mipmap (added ATI support)

Listing 1. New OpenGL Extensions

Use of the ATI_texture_env_combine3 extension requires additional definitions to those provided in the OpenGL frameworks glext.h header file. A future developer tools update should contain these additions; in the mean time, developers can create a glextadditions.h file in their own headers, adding what is shown in Listing 2. When an updated glext.h is provided, this file can be removed.

#define GL_ATI_texture_env_combine3       1

#if GL_ATI_texture_env_combine3
#define GL_MODULATE_ADD_ATI               0x8744
#define GL_MODULATE_SIGNED_ADD_ATI        0x8745
#define GL_MODULATE_SUBTRACT_ATI          0x8746

Listing 2. glextadditions.h

In addition to the new extensions covered previously, Table 1 shows a representative list of 3D graphics improvements and bugs fixed in Mac OS X v10.2.4 which may affect developers.

Table 1. 3D Graphics Bug Fixes

  • Improve imaging subset (r. 3048152)
  • Better secondary display handling (r. 3108024, 3000884)
  • Add automatic mipmap generation support (r. 3126508, 3139985, 3066752, 3110486)
  • Add ATI_texture_env_combine3 (r. 3132941, 3139801, 3132943, 3132944)
  • Update handling of vertex program invariance (r. 3139060)
  • Fix GLUT keyboard and menu handling from terminal (r. 3129836)
  • Improve vertex programs (r. 3093442, 3106677, 3147093)
  • Fix X11 resize issue in certain configurations (r. 3127840)
  • Improve error handling for 0 width 0 height surfaces (r. 3133552)
  • Fix errant case in glCopyTexSubImage (r. 3139085)
  • Texture Shader improvements (r. 3140650)
  • Surface texture improvements (r. 3142044, 3096252)
  • Better texture compression (r. 3153058)
  • Fix array initializer issue in fragment programs (r. 3124583)
  • Improve depth buffer paging (r. 3143357)
  • Fix glFinishObject issue in certain configurations (r. 3150801)
  • Rage 128 improvements (r. 3145747)

[Feb 18 2003]

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.