1XXX needs more work. 2 3Name 4 5 SGIX_pixel_texture_lod 6 7Name Strings 8 9 GL_SGIX_pixel_texture_lod 10 11Version 12 13 $Date: 1998/07/22 18:07:16 $ $Revision: 1.9 $ 14 15Number 16 17 128 18 19Dependencies 20 21 GL_SGIS_pixel_texture 22 can be implemented in parallel with pixel_texture_bits 23 24Overview 25 26 The pixel_texture extension provides a way to derive the 27 texture coordinates from RGBA pixel groups. This extension 28 introduces a way to derive the lod (lambda) from the 29 pixel groups as well. 30 31Issues 32 33 * We don't operate in "bits" mode here. Extended Range 34 and Precision (erp) values are just erp values 35 and old fashioned [0,1] values are interpeted as [0,1] values; 36 this makes lambda uninteresting except for the erp case. 37 should we bother to define lambda in a way that is interesting 38 for non extended range and precision? 39 40 * Is it possible to compute lambda in a pixel field in a way that 41 makes this extension useful? 42 43 Seems like you can always do the shift and subtract trick and then 44 use blend function and lookup tables to compute the lod in a reasonably 45 efficient manner. 46 47 * Do we need to implicitly scale the lambda by the number of lods? 48 49 * Need to make sure this extension isn't too had to implement in 50 the hardware (bali). 51 52 * This extension is intended to be used with the color components 53 of the fragments derived from the current raster position. Can 54 we leave that part of it orthogonal and let the application 55 set that explicitly using PIXEL_FRAGMENT_{RGB,ALPHA}_SOURCE_SGIX? 56 57New Procedures and Functions 58 59 None 60 61New Tokens 62 63 Accepted by the <pname> parameter of PixelTexGenParameterSGIX: 64 65 PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX 66 67Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 68 69 None 70 71Additions to Chapter 3 of the 1.0 Specification (Rasterization) 72 73 This extension, similar to the pixel_texture.spec, modifies the 74 "Conversion to Fragments" subsection of section 3.6.3 (Rasterization 75 of Pixel Rectangles) of the GL Specification. Immediately following 76 the text added by the pixel_texture.spec, insert the following: 77 78 If PIXEL_TEX_GEN_SGIX is enabled and the PixelTexGenSGIX 79 pname PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX is set to ALPHA, 80 the mapping from r,g,b,a to s,t,r,q is altered. 81 82 The alpha color component value becomes the lambda value, the log-base-2 83 of the ratio of the projected texel_area and pixel area. The boundary 84 of minification to magnification occurs at lambda = 0, with values 85 less than 0 corresponding to minification and values greater than 86 0 corresponding to magnification. The alpha color component value 87 becomes the texture coordinate value. The Q texture coordinate 88 is set to 1. 89 90 If PIXEL_TEX_GEN_SGIX is enabled and the PixelTexGenSGIX 91 pname PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX is set to ZERO, 92 lambda is set to zero. 93 94Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 95and the Frame Buffer) 96 97 None 98 99Additions to Chapter 5 of the 1.0 Specification (Special Functions) 100 101 None 102 103Additions to Chapter 6 of the 1.0 Specification (State and State Requests) 104 105 None 106 107Additions to the GLX Specification 108 109 XXX 110 111Errors 112 113 None 114 115New State 116 117 The following is added to Table 6.16. Pixels. 118 119 Get Value Get Command Type Initial Value Attrib 120 --------- ----------- ---- ------------- ------ 121 PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX GetPixelTexGenParameterivSGIX Z2 ZERO pixel 122 123New Implementation Dependent State 124 125 None 126