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
#endif
|
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]
|