15bd8deadSopenharmony_ciXXX needs more work. 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ciName 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ci SGIX_pixel_texture_lod 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ciName Strings 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ci GL_SGIX_pixel_texture_lod 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ciVersion 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ci $Date: 1998/07/22 18:07:16 $ $Revision: 1.9 $ 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ciNumber 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ci 128 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciDependencies 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci GL_SGIS_pixel_texture 225bd8deadSopenharmony_ci can be implemented in parallel with pixel_texture_bits 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ciOverview 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ci The pixel_texture extension provides a way to derive the 275bd8deadSopenharmony_ci texture coordinates from RGBA pixel groups. This extension 285bd8deadSopenharmony_ci introduces a way to derive the lod (lambda) from the 295bd8deadSopenharmony_ci pixel groups as well. 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ciIssues 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ci * We don't operate in "bits" mode here. Extended Range 345bd8deadSopenharmony_ci and Precision (erp) values are just erp values 355bd8deadSopenharmony_ci and old fashioned [0,1] values are interpeted as [0,1] values; 365bd8deadSopenharmony_ci this makes lambda uninteresting except for the erp case. 375bd8deadSopenharmony_ci should we bother to define lambda in a way that is interesting 385bd8deadSopenharmony_ci for non extended range and precision? 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ci * Is it possible to compute lambda in a pixel field in a way that 415bd8deadSopenharmony_ci makes this extension useful? 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci Seems like you can always do the shift and subtract trick and then 445bd8deadSopenharmony_ci use blend function and lookup tables to compute the lod in a reasonably 455bd8deadSopenharmony_ci efficient manner. 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ci * Do we need to implicitly scale the lambda by the number of lods? 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ci * Need to make sure this extension isn't too had to implement in 505bd8deadSopenharmony_ci the hardware (bali). 515bd8deadSopenharmony_ci 525bd8deadSopenharmony_ci * This extension is intended to be used with the color components 535bd8deadSopenharmony_ci of the fragments derived from the current raster position. Can 545bd8deadSopenharmony_ci we leave that part of it orthogonal and let the application 555bd8deadSopenharmony_ci set that explicitly using PIXEL_FRAGMENT_{RGB,ALPHA}_SOURCE_SGIX? 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ciNew Procedures and Functions 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci None 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ciNew Tokens 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci Accepted by the <pname> parameter of PixelTexGenParameterSGIX: 645bd8deadSopenharmony_ci 655bd8deadSopenharmony_ci PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci None 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci This extension, similar to the pixel_texture.spec, modifies the 745bd8deadSopenharmony_ci "Conversion to Fragments" subsection of section 3.6.3 (Rasterization 755bd8deadSopenharmony_ci of Pixel Rectangles) of the GL Specification. Immediately following 765bd8deadSopenharmony_ci the text added by the pixel_texture.spec, insert the following: 775bd8deadSopenharmony_ci 785bd8deadSopenharmony_ci If PIXEL_TEX_GEN_SGIX is enabled and the PixelTexGenSGIX 795bd8deadSopenharmony_ci pname PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX is set to ALPHA, 805bd8deadSopenharmony_ci the mapping from r,g,b,a to s,t,r,q is altered. 815bd8deadSopenharmony_ci 825bd8deadSopenharmony_ci The alpha color component value becomes the lambda value, the log-base-2 835bd8deadSopenharmony_ci of the ratio of the projected texel_area and pixel area. The boundary 845bd8deadSopenharmony_ci of minification to magnification occurs at lambda = 0, with values 855bd8deadSopenharmony_ci less than 0 corresponding to minification and values greater than 865bd8deadSopenharmony_ci 0 corresponding to magnification. The alpha color component value 875bd8deadSopenharmony_ci becomes the texture coordinate value. The Q texture coordinate 885bd8deadSopenharmony_ci is set to 1. 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ci If PIXEL_TEX_GEN_SGIX is enabled and the PixelTexGenSGIX 915bd8deadSopenharmony_ci pname PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX is set to ZERO, 925bd8deadSopenharmony_ci lambda is set to zero. 935bd8deadSopenharmony_ci 945bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 955bd8deadSopenharmony_ciand the Frame Buffer) 965bd8deadSopenharmony_ci 975bd8deadSopenharmony_ci None 985bd8deadSopenharmony_ci 995bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci None 1025bd8deadSopenharmony_ci 1035bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 1045bd8deadSopenharmony_ci 1055bd8deadSopenharmony_ci None 1065bd8deadSopenharmony_ci 1075bd8deadSopenharmony_ciAdditions to the GLX Specification 1085bd8deadSopenharmony_ci 1095bd8deadSopenharmony_ci XXX 1105bd8deadSopenharmony_ci 1115bd8deadSopenharmony_ciErrors 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci None 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ciNew State 1165bd8deadSopenharmony_ci 1175bd8deadSopenharmony_ci The following is added to Table 6.16. Pixels. 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ci Get Value Get Command Type Initial Value Attrib 1205bd8deadSopenharmony_ci --------- ----------- ---- ------------- ------ 1215bd8deadSopenharmony_ci PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX GetPixelTexGenParameterivSGIX Z2 ZERO pixel 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ciNew Implementation Dependent State 1245bd8deadSopenharmony_ci 1255bd8deadSopenharmony_ci None 126