15bd8deadSopenharmony_ciXXXmdf - incomplete 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ciName 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ci SGIX_fbconfig_float 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ciName Strings 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ci GLX_SGIX_fbconfig_float 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ciVersion 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ci $Date: 1999/01/08 19:41:53 $ $Revision: 1.1 $ 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ciNumber 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ci XXXmdf 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciDependencies 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci SGIX_fbconfig is required 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciOverview 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci This extension enhances the fbconfig visual selection and description 265bd8deadSopenharmony_ci capabilities by adding support for floating-point attributes. While 275bd8deadSopenharmony_ci SGIX_fbconfig only provides for integral attributes, some visual 285bd8deadSopenharmony_ci attributes are best described with floating point 295bd8deadSopenharmony_ci numbers. Applications which seek to choose visuals based on those 305bd8deadSopenharmony_ci attributes may use the facilites described in this extension. 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ciIssues 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ci * There is an implicit assumption that all attribute tokens can be 355bd8deadSopenharmony_ci cast to double and back to int without losing information. There 365bd8deadSopenharmony_ci are currently no tokens with more than 16 significant bits so this 375bd8deadSopenharmony_ci is almost certainly a safe assumption, however it should be noted 385bd8deadSopenharmony_ci as a limitation. 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ciNew Procedures and Functions 415bd8deadSopenharmony_ci 425bd8deadSopenharmony_ci int glXGetFBConfigFltAttribSGIX(Display *dpy, 435bd8deadSopenharmony_ci GLXFBConfigSGIX config, 445bd8deadSopenharmony_ci int attribute, 455bd8deadSopenharmony_ci double *value); 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ci GLXFBConfigSGIX *glXChooseFBConfigWithFltSGIX( 485bd8deadSopenharmony_ci Display *dpy, 495bd8deadSopenharmony_ci int screen, 505bd8deadSopenharmony_ci const int *int_attrib_list, 515bd8deadSopenharmony_ci const double *flt_attrib_list, 525bd8deadSopenharmony_ci int *nelements); 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ciNew Tokens 555bd8deadSopenharmony_ci 565bd8deadSopenharmony_ci None 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ciAdditions to the OpenGL 1.0 Specification 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ci None 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ciAdditions to the GLX Specification 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ci [Added following the description of glXChooseFBConfigSGIX] 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ci Use glXChooseFBConfigWithFltSGIX in place of 675bd8deadSopenharmony_ci glXChooseFBConfigSGIX in order to select GLXFBConfigSGIXs based on 685bd8deadSopenharmony_ci floating point attributes. 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci GLXFBConfigSGIX *glXChooseFBConfigWithFltSGIX( 715bd8deadSopenharmony_ci Display *dpy, 725bd8deadSopenharmony_ci int screen, 735bd8deadSopenharmony_ci const int *attrib_list, 745bd8deadSopenharmony_ci const double *flt_attrib_list, 755bd8deadSopenharmony_ci int *nelements); 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci If <flt_attrib_list> is NULL then glXChooseFBConfigWithFltSGIX behaves 785bd8deadSopenharmony_ci identically to glXChooseFBConfigSGIX; otherwise, the attributes 795bd8deadSopenharmony_ci listed in <flt_attrib_list> are used in conjunction with 805bd8deadSopenharmony_ci the attributes listed in <attrib_list> to select a 815bd8deadSopenharmony_ci matching GLXFBConfigSGIX. 825bd8deadSopenharmony_ci 835bd8deadSopenharmony_ci All attributes have an inherent data type, listed in Table 3, such as 845bd8deadSopenharmony_ci integer, boolean, enumerated, bitmask, XID, or floating point. 855bd8deadSopenharmony_ci Any of these attributes may appear in <attrib_list>, although 865bd8deadSopenharmony_ci in the case of floating point attributes the cast to integer may lose 875bd8deadSopenharmony_ci information. Only floating point attributes may appear in 885bd8deadSopenharmony_ci <flt_attrib_list>. Since the attribute tokens are integer constants, 895bd8deadSopenharmony_ci they must be cast to double to appear in <flt_attrib_list>. Any 905bd8deadSopenharmony_ci attribute which appears in both lists will take on the value from 915bd8deadSopenharmony_ci <flt_attrib_list>. 925bd8deadSopenharmony_ci 935bd8deadSopenharmony_ci [Added following the description of glXGetFBConfigAttribSGIX] 945bd8deadSopenharmony_ci 955bd8deadSopenharmony_ci To get the value of a floating point GLX attribute for a 965bd8deadSopenharmony_ci GLXFBConfigSGIX use: 975bd8deadSopenharmony_ci 985bd8deadSopenharmony_ci int glXGetFBConfigFltAttribSGIX(Display *dpy, 995bd8deadSopenharmony_ci GLXFBConfigSGIX config, 1005bd8deadSopenharmony_ci int attribute, 1015bd8deadSopenharmony_ci double *value); 1025bd8deadSopenharmony_ci 1035bd8deadSopenharmony_ci glXGetFBConfigFltAttribSGIX has the same semantics as 1045bd8deadSopenharmony_ci glXGetFBConfigAttribSGIX, although it returns a double value 1055bd8deadSopenharmony_ci rather than an int value. Non-floating-point attributes undergo 1065bd8deadSopenharmony_ci a cast to double before they are returned. 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ci 1095bd8deadSopenharmony_ciGLX Protocol 1105bd8deadSopenharmony_ci 1115bd8deadSopenharmony_ci None 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ciErrors 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ci None 1165bd8deadSopenharmony_ci 1175bd8deadSopenharmony_ciNew State 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ci None 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ciNew Implementation Dependent State 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ci None 124