| Name |
| |
| SGIX_impact_pixel_texture |
| |
| Name Strings |
| |
| GL_SGIX_impact_pixel_texture |
| |
| Version |
| |
| $Date: 1997/03/27 18:08:54 $ $Revision: 1.2 $ |
| |
| Number |
| |
| 126 |
| |
| Dependencies |
| |
| GL_SGIX_pixel_texture |
| |
| Overview |
| |
| This extension allows the Impact Graphics system to perform pixel texture |
| operations with 4D textures, and accomplish the fourth interpolation with |
| a two-pass operation, using the frame-buffer blend. This involves two |
| new filter functions for the "q" dimension only, ceiling and floor, in |
| addition to the nearest function, the default on Impact Graphics. Also, |
| there is an "alpha-shifting" function which prevents loss of precision in |
| the alpha value used in the frame-buffer blend. |
| |
| Issues |
| |
| * Will this extension be needed/utilized by other platforms? |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <mode> parameter of PixelTexGenSGIX: |
| |
| PIXEL_TEX_GEN_Q_CEILING_SGIX |
| PIXEL_TEX_GEN_Q_FLOOR_SGIX |
| PIXEL_TEX_GEN_Q_ROUND_SGIX |
| PIXEL_TEX_GEN_ALPHA_LS_SGIX |
| PIXEL_TEX_GEN_ALPHA_MS_SGIX |
| |
| Additions to Chapter 3 of the 1.1 Specification (Rasterization) |
| |
| This extension, similar to the pixel_texture.spec modifies the |
| "Conversion to Fragments" subsection of section 3.6.3 (Rasterization |
| of Pixel Rectangles) of the GL Specification. Immediately following |
| the text added by the pixel_texture.spec, insert the following: |
| |
| If the PixelTexGenSGIX mode is RGBA, the Impact graphics system cannot |
| perform the "q" interpolation, so the correct result can be obtained |
| by a two-pass operation using the frame-buffer blend to interpolate |
| the two passes. The two passes use ceiling and floor functions, |
| specified by calling TexParameter with the minfilter and maxfilter |
| set to PIXEL_TEX_GEN_Q_CEILING_SGIX and PIXEL_TEX_GEN_Q_FLOOR_SGIX. |
| These functions can be disabled by calling TexParameter with |
| PIXEL_TEX_GEN_Q_ROUND_SGIX, the default. To produce the correct |
| fragment alpha for interpolation, the alpha-replace mode (see above) |
| is used to replace the texture alpha by the pixel group's alpha |
| component. This alpha needs to be shifted (scaled) by a value based |
| on the texture "q" size; this can be done with the texture color table. |
| For large values an additional shift is possible by calling |
| PixelTexGenSGIX with PIXEL_TEX_GEN_ALPHA_LS_SGIX. This will send the |
| least significant 8 bits of a 12-bit alpha to the texture color table. |
| The default is to send the most significant 8 bits by calling |
| PixelTexGenSGIX with PIXEL_TEX_GEN_ALPHA_MS_SGIX. |
| |
| Additions to Chapter 5 of the 1.1 Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the 1.1 Specification (State and State Requests) |
| |
| None |
| |
| Additions to the GLX Specification |
| |
| None |
| |
| Errors |
| |
| None |
| |
| New State |
| |
| Get Value Get Command Type Initial Value Attrib |
| --------- ----------- ---- ------------- ------ |
| PIXEL_TEX_GEN_Q_CEILING_SGIX GetTexParameter Z3 NONE pixel |
| PIXEL_TEX_GEN_Q_FLOOR_SGIX GetTexParameter Z3 NONE pixel |
| PIXEL_TEX_GEN_Q_ROUND_SGIX GetTexParameter Z3 NONE pixel |
| |
| New Implementation Dependent State |
| |
| None |