15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci EXT_misc_attribute 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_EXT_misc_attribute 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciVersion 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci $Date: 1999/04/03 08:40:56 $ $Revision: 1.5 $ 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNumber 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci 31 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciDependencies 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci None 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ciOverview 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ci EXT_misc_attribute extends the list of attribute groups. It provides 245bd8deadSopenharmony_ci a miscellaneous group, controlled by the MISC_BIT_EXT bit, that contains 255bd8deadSopenharmony_ci the attribute state of extensions that don't logically fit in any other 265bd8deadSopenharmony_ci group. 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ciReasoning 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ci In general, an extension's attributes are assigned to a similar 315bd8deadSopenharmony_ci attribute group. If an extension is developed that doesn't fit in 325bd8deadSopenharmony_ci any of the GL's existing attribute groups, the extension's attributes 335bd8deadSopenharmony_ci should be added to the miscellaneous group. 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ci The GL sample implementation incorrectly checks the bits in 365bd8deadSopenharmony_ci the <mask> argument to PushAttrib and glXCopyContext, 375bd8deadSopenharmony_ci generating an error if any unused bits are set. This 385bd8deadSopenharmony_ci behavior causes interoperability problems between GLs with 395bd8deadSopenharmony_ci different sets of attribute groups. This error checking 405bd8deadSopenharmony_ci should be removed from all implementations. The reference 415bd8deadSopenharmony_ci to this error checking should also be removed from the GLX 425bd8deadSopenharmony_ci specification. 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci Because of the bit checking described above, ALL_ATTRIB_BITS 455bd8deadSopenharmony_ci can't include MISC_BIT_EXT without risking GL interoperability 465bd8deadSopenharmony_ci problems. Not including MISC_BIT_EXT changes the semantics of 475bd8deadSopenharmony_ci ALL_ATTRIB_BITS, but is considered the lesser of two evils. 485bd8deadSopenharmony_ci These problems should be fixed in the next GL version. 495bd8deadSopenharmony_ci 505bd8deadSopenharmony_ciNew Procedures and Functions 515bd8deadSopenharmony_ci 525bd8deadSopenharmony_ci None 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ciNew Tokens 555bd8deadSopenharmony_ci 565bd8deadSopenharmony_ci MISC_BIT_EXT 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ci None 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ci None 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 675bd8deadSopenharmony_ciand the Frame Buffer) 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci None 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci None 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci The command 785bd8deadSopenharmony_ci 795bd8deadSopenharmony_ci void PushAttrib(bitfield mask) 805bd8deadSopenharmony_ci 815bd8deadSopenharmony_ci takes a bitwise OR of symbolic constants indicating which groups of 825bd8deadSopenharmony_ci state variables to push onto an attribute stack. Each constant refers 835bd8deadSopenharmony_ci to a group of state variables. The single symbolic constant 845bd8deadSopenharmony_ci GL_ALL_ATTRIB_BITS can be used to copy all of the attribute groups defined 855bd8deadSopenharmony_ci by the core GL. Additional extension attribute groups cannot be copied 865bd8deadSopenharmony_ci using GL_ALL_ATTRIB_BITS. To copy these groups, check to see that the GL 875bd8deadSopenharmony_ci implementation supports the extension, then use a bitwise OR to set 885bd8deadSopenharmony_ci the appropriate bit(s) in <mask>. 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci(Table 6.1 (Attribute Groups).) 925bd8deadSopenharmony_ci 935bd8deadSopenharmony_ci Attribute Constant ALL_ATTRIB_BITS 945bd8deadSopenharmony_ci --------- -------- --------------- 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci accum-buffer ACCUM_BUFFER_BIT yes 975bd8deadSopenharmony_ci color-buffer COLOR_BUFFER_BIT yes 985bd8deadSopenharmony_ci current CURRENT_BIT yes 995bd8deadSopenharmony_ci depth-buffer DEPTH_BUFFER_BIT yes 1005bd8deadSopenharmony_ci enable ENABLE_BIT yes 1015bd8deadSopenharmony_ci eval EVAL_BIT yes 1025bd8deadSopenharmony_ci fog FOG_BIT yes 1035bd8deadSopenharmony_ci hint HINT_BIT yes 1045bd8deadSopenharmony_ci lighting LIGHTING_BIT yes 1055bd8deadSopenharmony_ci line LINE_BIT yes 1065bd8deadSopenharmony_ci list LIST_BIT yes 1075bd8deadSopenharmony_ci pixel PIXEL_MODE_BIT yes 1085bd8deadSopenharmony_ci point POINT_BIT yes 1095bd8deadSopenharmony_ci polygon POLYGON_BIT yes 1105bd8deadSopenharmony_ci polygon-stipple POLYGON_STIPPLE_BIT yes 1115bd8deadSopenharmony_ci scissor SCISSOR_BIT yes 1125bd8deadSopenharmony_ci stencil-buffer STENCIL_BUFFER_BIT yes 1135bd8deadSopenharmony_ci texture TEXTURE_BIT yes 1145bd8deadSopenharmony_ci transform TRANSFORM_BIT yes 1155bd8deadSopenharmony_ci viewport VIEWPORT_BIT yes 1165bd8deadSopenharmony_ci miscellaneous MISC_BIT_EXT no 1175bd8deadSopenharmony_ci - ALL_ATTRIB_BITS - 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ci 1205bd8deadSopenharmony_ciAdditions to the GLX Specification 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci(In the glXCopyContext description) 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ci The single symbolic constant GL_ALL_ATTRIB_BITS can be used to 1255bd8deadSopenharmony_ci copy all of the attribute groups defined by the core GL. Additional 1265bd8deadSopenharmony_ci extension attribute groups can not be copied using GL_ALL_ATTRIB_BITS. 1275bd8deadSopenharmony_ci To copy these groups, check to see that the GL implementation supports 1285bd8deadSopenharmony_ci the extension, then use a bitwise OR to set the appropriate bit(s) in 1295bd8deadSopenharmony_ci <mask>. 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ciErrors 1325bd8deadSopenharmony_ci 1335bd8deadSopenharmony_ci None 1345bd8deadSopenharmony_ci 1355bd8deadSopenharmony_ciNew State 1365bd8deadSopenharmony_ci 1375bd8deadSopenharmony_ci None 1385bd8deadSopenharmony_ci 1395bd8deadSopenharmony_ciNew Implementation Dependent State 1405bd8deadSopenharmony_ci 1415bd8deadSopenharmony_ci None 142