| Name |
| |
| IMG_texture_env_enhanced_fixed_function |
| |
| Name Strings |
| |
| GL_IMG_texture_env_enhanced_fixed_function |
| |
| Notice |
| |
| Copyright Imagination Technologies Limited, 2005. |
| |
| Contact |
| |
| Graham Connor, Imagination Technologies (graham 'dot' connor 'at' |
| imgtec 'dot' com) |
| |
| Status |
| |
| Complete |
| |
| Version |
| |
| 1.0, 11 May 2009 |
| |
| Number |
| |
| OpenGL ES Extension #58 |
| |
| Dependencies |
| |
| None |
| |
| This extension is written against the OpenGL 1.3 Specification. The intention |
| is that this extension is only exposed, within a OpenGL-ES 1.0 impementation |
| and the reader should be aware of the restrictions of OpenGL-ES 1.0 with respect |
| to this OpenGL 1.3 extension. |
| |
| Overview |
| |
| This extension adds new texture environment functions to allow use of |
| of blend modes supported in some early MBX-lite devices, including dot3 functionality. |
| It is superceded by OpenGL-ES 1.1 which includes tex_env_combine. |
| |
| New functions may be specified by calling TexEnv with the following tokens: |
| MODULATE_COLOR_IMG, RECIP_ADD_SIGNED_ALPHA_IMG, TEXTURE_ALPHA_MODULATE_IMG, |
| FACTOR_ALPHA_MODULATE_IMG, FRAGMENT_ALPHA_MODULATE_IMG, ADD_BLEND_IMG, DOT3_RGBA. |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, and |
| TexEnvfi when the <pname> parameter value is GL_TEXTURE_ENV_MODE |
| |
| MODULATE_COLOR_IMG 0x8C04 |
| RECIP_ADD_SIGNED_ALPHA_IMG 0x8C05 |
| TEXTURE_ALPHA_MODULATE_IMG 0x8C06 |
| FACTOR_ALPHA_MODULATE_IMG 0x8C07 |
| FRAGMENT_ALPHA_MODULATE_IMG 0x8C08 |
| ADD_BLEND_IMG 0x8C09 |
| DOT3_RGBA_IMG 0x86AF |
| |
| Additions to Chapter 2 of the GL Specification (OpenGL Operation) |
| |
| None |
| |
| Additions to Chapter 3 of the GL Specification (Rasterization) |
| |
| The description of TEXTURE_ENV_MODE in the first paragraph of |
| section 3.8.12 should be modified as follows: |
| |
| TEXTURE_ENV_MODE may be set to one of REPLACE, MODULATE, DECAL, |
| BLEND, ADD, MODULATE_COLOR_IMG, RECIP_ADD_SIGNED_ALPHA_IMG, |
| TEXTURE_ALPHA_MODULATE_IMG, FACTOR_ALPHA_MODULATE_IMG, |
| FRAGMENT_ALPHA_MODULATE_IMG, ADD_BLEND_IMG, DOT3_RGBA_IMG, or COMBINE; |
| |
| Table 3.24 is added as follows: |
| |
| Base MODULATE_COLOR_IMG RECIP_ADD_SIGNED_ALPHA_IMG |
| Internal Format tex func tex func |
| --------------- ------------------ -------------------------- |
| |
| ALPHA Cv = Cf Cv = Cf |
| Av = As Av = (1-As) + Af - 0.5 |
| |
| LUMINANCE Cv = CfCs Cv = Cf |
| (or 1) Av = Af Av = Af - 0.5 |
| |
| LUMINANCE_ALPHA Cv = CfCs Cv = Cf |
| (or 2) Av = As Av = (1-As) + Af - 0.5 |
| |
| INTENSITY Cv = CfCs Cv = Cf |
| Av = As Av = (1-As) + Af - 0.5 |
| |
| RGB Cv = CfCs Cv = Cf |
| (or 3) Av = Af Av = Af - 0.5 |
| |
| RGBA Cv = CfCs Cv = Cf |
| (or 4) Av = As Av = (1-As) + Af - 0.5 |
| |
| |
| Base TEXTURE_ALPHA_MODULATE_IMG FACTOR_ALPHA_MODULATE_IMG |
| Internal Format tex func tex func |
| --------------- -------------------------- ------------------------- |
| |
| ALPHA Cv = ZERO Cv = ZERO |
| Av = As Av = Ac |
| |
| LUMINANCE Cv = Cs Cv = AcCs |
| (or 1) Av = ONE Av = Ac |
| |
| LUMINANCE_ALPHA Cv = AsCs Cv = AcCs |
| (or 2) Av = As Av = Ac |
| |
| INTENSITY Cv = AsCs Cv = AcCs |
| Av = As Av = Ac |
| |
| RGB Cv = Cs Cv = AcCs |
| (or 3) Av = ONE Av = Ac |
| |
| RGBA Cv = AsCs Cv = AcCs |
| (or 4) Av = As Av = Ac |
| |
| |
| Base FRAGMENT_ALPHA_MODULATE_IMG ADD_BLEND_IMG |
| Internal Format tex func tex func |
| --------------- ----------------------- ------------- |
| |
| ALPHA Cv = ZERO Cv = Cf |
| Av = Af Av = AfAs |
| |
| LUMINANCE Cv = AfCs Cv = Cf + (1 - Af)Cs |
| (or 1) Av = Af Av = Af |
| |
| LUMINANCE_ALPHA Cv = AfCs Cv = Cf + (1 - Af)Cs |
| (or 2) Av = Af Av = AfAs |
| |
| INTENSITY Cv = AfCs Cv = Cf + (1 - Af)Cs |
| Av = Af Av = AfAs |
| |
| RGB Cv = AfCs Cv = Cf + (1 - Af)Cs |
| (or 3) Av = Af Av = Af |
| |
| RGBA Cv = AfCs Cv = Cf + (1 - Af)Cs |
| (or 4) Av = Af Av = AfAs |
| |
| |
| Base DOT3_RGBA_IMG |
| Internal Format tex func |
| --------------- --------- |
| |
| ALPHA Undefined |
| Undefined |
| |
| LUMINANCE Undefined |
| (or 1) Undefined |
| |
| LUMINANCE_ALPHA Undefined |
| (or 2) Undefined |
| |
| INTENSITY Undefined |
| Undefined |
| |
| RGB Cv = Dot3(Cf,Cs) |
| (or 3) Av = Dot3(Cf,Cs) |
| |
| RGBA Cv = Dot3(Cf,Cs) |
| (or 4) Av = Dot3(Cf, Cs) |
| |
| |
| where Dot3(Cf,Cs) evaluates to: |
| |
| 4((Cfr - 0.5)*(Csr - 0.5) + |
| (Cfg - 0.5)*(Csg - 0.5) + |
| (Cfb - 0.5)*(Csb - 0.5)) |
| |
| |
| Table 3.24: Extended Fixed Function Texturing Modes |
| |
| |
| Additions to Chapter 4 of the GL Specification (Per-Fragment Operations |
| and the Framebuffer) |
| |
| None |
| |
| Additions to Chapter 5 of the GL Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the GL Specification (State and State Requests) |
| |
| The Type of TEXTURE_ENV_MODE in Table 6.17 should be changed to |
| |
| 2* x Z13 |
| |
| Additions to the GLX / WGL / AGL Specifications |
| |
| None |
| |
| GLX Protocol |
| |
| None |
| |
| Errors |
| |
| None |
| |
| New State |
| |
| The Type of TEXTURE_ENV_MODE in Table 6.17 should be changed to |
| |
| 2* x Z13 |
| |
| New Implementation Dependent State |
| |
| None |
| |
| Revision History |
| |
| 0.1, 18/12/2003 gdc: First draft. |
| 0.2, 13/01/2004 gdc: Formatting changes. |
| 0.3, 25/01/2005 nt: Updated copyright date. |
| 1.0, 11/05/2009 bcb: Final tidy up for publish. |
| |