| Name |
| |
| EXT_misc_attribute |
| |
| Name Strings |
| |
| GL_EXT_misc_attribute |
| |
| Version |
| |
| $Date: 1999/04/03 08:40:56 $ $Revision: 1.5 $ |
| |
| Number |
| |
| 31 |
| |
| Dependencies |
| |
| None |
| |
| Overview |
| |
| EXT_misc_attribute extends the list of attribute groups. It provides |
| a miscellaneous group, controlled by the MISC_BIT_EXT bit, that contains |
| the attribute state of extensions that don't logically fit in any other |
| group. |
| |
| Reasoning |
| |
| In general, an extension's attributes are assigned to a similar |
| attribute group. If an extension is developed that doesn't fit in |
| any of the GL's existing attribute groups, the extension's attributes |
| should be added to the miscellaneous group. |
| |
| The GL sample implementation incorrectly checks the bits in |
| the <mask> argument to PushAttrib and glXCopyContext, |
| generating an error if any unused bits are set. This |
| behavior causes interoperability problems between GLs with |
| different sets of attribute groups. This error checking |
| should be removed from all implementations. The reference |
| to this error checking should also be removed from the GLX |
| specification. |
| |
| Because of the bit checking described above, ALL_ATTRIB_BITS |
| can't include MISC_BIT_EXT without risking GL interoperability |
| problems. Not including MISC_BIT_EXT changes the semantics of |
| ALL_ATTRIB_BITS, but is considered the lesser of two evils. |
| These problems should be fixed in the next GL version. |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| MISC_BIT_EXT |
| |
| Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) |
| |
| None |
| |
| Additions to Chapter 3 of the 1.0 Specification (Rasterization) |
| |
| None |
| |
| Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations |
| and the Frame Buffer) |
| |
| None |
| |
| Additions to Chapter 5 of the 1.0 Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the 1.0 Specification (State and State Requests) |
| |
| The command |
| |
| void PushAttrib(bitfield mask) |
| |
| takes a bitwise OR of symbolic constants indicating which groups of |
| state variables to push onto an attribute stack. Each constant refers |
| to a group of state variables. The single symbolic constant |
| GL_ALL_ATTRIB_BITS can be used to copy all of the attribute groups defined |
| by the core GL. Additional extension attribute groups cannot be copied |
| using GL_ALL_ATTRIB_BITS. To copy these groups, check to see that the GL |
| implementation supports the extension, then use a bitwise OR to set |
| the appropriate bit(s) in <mask>. |
| |
| |
| (Table 6.1 (Attribute Groups).) |
| |
| Attribute Constant ALL_ATTRIB_BITS |
| --------- -------- --------------- |
| |
| accum-buffer ACCUM_BUFFER_BIT yes |
| color-buffer COLOR_BUFFER_BIT yes |
| current CURRENT_BIT yes |
| depth-buffer DEPTH_BUFFER_BIT yes |
| enable ENABLE_BIT yes |
| eval EVAL_BIT yes |
| fog FOG_BIT yes |
| hint HINT_BIT yes |
| lighting LIGHTING_BIT yes |
| line LINE_BIT yes |
| list LIST_BIT yes |
| pixel PIXEL_MODE_BIT yes |
| point POINT_BIT yes |
| polygon POLYGON_BIT yes |
| polygon-stipple POLYGON_STIPPLE_BIT yes |
| scissor SCISSOR_BIT yes |
| stencil-buffer STENCIL_BUFFER_BIT yes |
| texture TEXTURE_BIT yes |
| transform TRANSFORM_BIT yes |
| viewport VIEWPORT_BIT yes |
| miscellaneous MISC_BIT_EXT no |
| - ALL_ATTRIB_BITS - |
| |
| |
| Additions to the GLX Specification |
| |
| (In the glXCopyContext description) |
| |
| The single symbolic constant GL_ALL_ATTRIB_BITS can be used to |
| copy all of the attribute groups defined by the core GL. Additional |
| extension attribute groups can not be copied using GL_ALL_ATTRIB_BITS. |
| To copy these groups, check to see that the GL implementation supports |
| the extension, then use a bitwise OR to set the appropriate bit(s) in |
| <mask>. |
| |
| Errors |
| |
| None |
| |
| New State |
| |
| None |
| |
| New Implementation Dependent State |
| |
| None |