1Name 2 3 SGIX_impact_pixel_texture 4 5Name Strings 6 7 GL_SGIX_impact_pixel_texture 8 9Version 10 11 $Date: 1997/03/27 18:08:54 $ $Revision: 1.2 $ 12 13Number 14 15 126 16 17Dependencies 18 19 GL_SGIX_pixel_texture 20 21Overview 22 23 This extension allows the Impact Graphics system to perform pixel texture 24 operations with 4D textures, and accomplish the fourth interpolation with 25 a two-pass operation, using the frame-buffer blend. This involves two 26 new filter functions for the "q" dimension only, ceiling and floor, in 27 addition to the nearest function, the default on Impact Graphics. Also, 28 there is an "alpha-shifting" function which prevents loss of precision in 29 the alpha value used in the frame-buffer blend. 30 31Issues 32 33 * Will this extension be needed/utilized by other platforms? 34 35New Procedures and Functions 36 37 None 38 39New Tokens 40 41 Accepted by the <mode> parameter of PixelTexGenSGIX: 42 43 PIXEL_TEX_GEN_Q_CEILING_SGIX 44 PIXEL_TEX_GEN_Q_FLOOR_SGIX 45 PIXEL_TEX_GEN_Q_ROUND_SGIX 46 PIXEL_TEX_GEN_ALPHA_LS_SGIX 47 PIXEL_TEX_GEN_ALPHA_MS_SGIX 48 49Additions to Chapter 3 of the 1.1 Specification (Rasterization) 50 51 This extension, similar to the pixel_texture.spec modifies the 52 "Conversion to Fragments" subsection of section 3.6.3 (Rasterization 53 of Pixel Rectangles) of the GL Specification. Immediately following 54 the text added by the pixel_texture.spec, insert the following: 55 56 If the PixelTexGenSGIX mode is RGBA, the Impact graphics system cannot 57 perform the "q" interpolation, so the correct result can be obtained 58 by a two-pass operation using the frame-buffer blend to interpolate 59 the two passes. The two passes use ceiling and floor functions, 60 specified by calling TexParameter with the minfilter and maxfilter 61 set to PIXEL_TEX_GEN_Q_CEILING_SGIX and PIXEL_TEX_GEN_Q_FLOOR_SGIX. 62 These functions can be disabled by calling TexParameter with 63 PIXEL_TEX_GEN_Q_ROUND_SGIX, the default. To produce the correct 64 fragment alpha for interpolation, the alpha-replace mode (see above) 65 is used to replace the texture alpha by the pixel group's alpha 66 component. This alpha needs to be shifted (scaled) by a value based 67 on the texture "q" size; this can be done with the texture color table. 68 For large values an additional shift is possible by calling 69 PixelTexGenSGIX with PIXEL_TEX_GEN_ALPHA_LS_SGIX. This will send the 70 least significant 8 bits of a 12-bit alpha to the texture color table. 71 The default is to send the most significant 8 bits by calling 72 PixelTexGenSGIX with PIXEL_TEX_GEN_ALPHA_MS_SGIX. 73 74Additions to Chapter 5 of the 1.1 Specification (Special Functions) 75 76 None 77 78Additions to Chapter 6 of the 1.1 Specification (State and State Requests) 79 80 None 81 82Additions to the GLX Specification 83 84 None 85 86Errors 87 88 None 89 90New State 91 92 Get Value Get Command Type Initial Value Attrib 93 --------- ----------- ---- ------------- ------ 94 PIXEL_TEX_GEN_Q_CEILING_SGIX GetTexParameter Z3 NONE pixel 95 PIXEL_TEX_GEN_Q_FLOOR_SGIX GetTexParameter Z3 NONE pixel 96 PIXEL_TEX_GEN_Q_ROUND_SGIX GetTexParameter Z3 NONE pixel 97 98New Implementation Dependent State 99 100 None 101