1Name 2 3 OES_texture_env_crossbar 4 5Name Strings 6 7 GL_OES_texture_env_crossbar 8 9Contact 10 11 12Notice 13 14 Copyright (c) 2005-2013 The Khronos Group Inc. Copyright terms at 15 http://www.khronos.org/registry/speccopyright.html 16 17Specification Update Policy 18 19 Khronos-approved extension specifications are updated in response to 20 issues and bugs prioritized by the Khronos OpenGL ES Working Group. For 21 extensions which have been promoted to a core Specification, fixes will 22 first appear in the latest version of that core Specification, and will 23 eventually be backported to the extension document. This policy is 24 described in more detail at 25 https://www.khronos.org/registry/OpenGL/docs/update_policy.php 26 27Status 28 29 30Version 31 32 Last modified date: May 18, 2005 33 34Number 35 36 OpenGL ES Extension #21 37 38Dependencies 39 40 OpenGL ES 1.1 is required. 41 42 This extension is based on the ARB_texture_env_crossbar 43 extension specification. 44 45Overview 46 47 This extension adds the capability to use the texture color from 48 other texture units as sources to the COMBINE enviornment 49 function. OpenGL ES 1.1 defined texture combine functions which 50 could use the color from the current texture unit as a source. 51 This extension adds the ability to use the color from any texture 52 unit as a source. 53 54Issues 55 56 Please refer to the ARB_texture_env_crossbar extension specification. 57 58 59New Procedures and Functions 60 61 None 62 63New Tokens 64 65 Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 66 and TexEnviv when the <pname> parameter value is SOURCE0_RGB, 67 SOURCE1_RGB, SOURCE2_RGB, SOURCE0_ALPHA, 68 SOURCE1_ALPHA, or SOURCE2_ALPHA 69 70 TEXTURE<n> 0x84C0+<n> 71 72 where <n> is in the range 0 to MAX_TEXTURE_UNITS. 73 74Additions to Chapter 2 of the GL Specification (OpenGL Operation) 75 76 None 77 78Additions to Chapter 3 of the GL Specification (Rasterization) 79 80 The arguments Arg0, Arg1 and Arg2 are determined by the values of 81 SOURCE<n>_RGB, SOURCE<n>_ALPHA, OPERAND<n>_RGB and 82 OPERAND<n>_ALPHA. In the following two tables, Ct and At are 83 the filtered texture RGB and alpha values; Ct<n> and At<n> are the 84 filtered texture RGB and alpha values from the texture bound to 85 texture unit <n>; Cc and Ac are the texture environment RGB and 86 alpha values; Cf and Af are the RGB and alpha of the primary color 87 of the incoming fragment; and Cp and Ap are the RGB and alpha 88 values resulting from the previous texture environment. On texture 89 environment 0, Cp and Ap are identical to Cf and Af, respectively. 90 The relationship is described in table 3.5 and 3.6 of the OpenGL ES 1.2 91 specification. 92 93 Added to table 3.5 of the OpenGL ES 1.2 specification: 94 95 SOURCE<n>_RGB OPERAND<n>_RGB Argument 96 ------------- -------------- -------- 97 98 TEXTURE<n> SRC_COLOR Ct<n> 99 ONE_MINUS_SRC_COLOR (1-Ct<n>) 100 SRC_ALPHA At<n> 101 ONE_MINUS_SRC_ALPHA (1-At<n>) 102 103 Table 3.6: COMBINE_RGB texture functions 104 105 Added to table 3.6 of the OpenGL ES 1.2 specification: 106 107 108 SOURCE<n>_ALPHA OPERAND<n>_ALPHA Argument 109 --------------- ---------------- -------- 110 111 TEXTURE<n> SRC_ALPHA At<n> 112 ONE_MINUS_SRC_ALPHA (1-At<n>) 113 114 Table 3.6: COMBINE_ALPHA texture functions 115 116Additions to Chapter 4 of the GL Specification (Per-Fragment Operations 117and the Framebuffer) 118 119 None 120 121Additions to Chapter 5 of the GL Specification (Special Functions) 122 123 None 124 125Additions to Chapter 6 of the GL Specification (State and State Requests) 126 127 None 128 129Additions to Appendix F of the GL Specification (ARB Extensions) 130 131 Inserted after the second paragraph of F.2.12: 132 133 If the value of TEXTURE_ENV_MODE is COMBINE, the texture 134 function associated with a given texture unit is computed using 135 the values specified by SOURCE<n>_RGB, SOURCE<n>_ALPHA, 136 OPERAND<n>_RGB and OPERAND<n>_ALPHA. If TEXTURE<n> is 137 specified as SOURCE<n>_RGB or SOURCE<n>_ALPHA, the texture 138 value from texture unit <n> will be used in computing the texture 139 function for this texture unit. 140 141 Inserted after the third paragraph of F.2.12: 142 143 If a texture environment for a given texture unit references a 144 texture unit that is disabled or does not have a valid texture 145 object bound to it, then it is as if texture blending is disabled 146 for the given texture unit. Every texture unit implicitly 147 references the texture object that is bound to it, regardless 148 of the texture function specified by COMBINE_RGB or COMBINE_ALPHA. 149 150Additions to the GLX Specification 151 152 None 153 154GLX Protocol 155 156 None 157 158Errors 159 160 INVALID_ENUM is generated if <params> value for SOURCE0_RGB, 161 SOURCE1_RGB, SOURCE2_RGB, SOURCE0_ALPHA, 162 SOURCE1_ALPHA or SOURCE2_ALPHA is not one of TEXTURE, 163 CONSTANT, PRIMARY_COLOR, PREVIOUS, or TEXTURE<n>, 164 where <n> is in the range 0 to MAX_TEXTURE_UNITS. 165 166New State 167 168 None 169