| 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 |