1Name 2 3 EXT_texture_env_dot3 4 5Name Strings 6 7 GL_EXT_texture_env_dot3 8 9Contact 10 11 Dan Ginsburg, AMD (dan.ginsburg 'at' amd.com) 12 Dave Gosselin 13 14Notice 15 16 Copyright ATI Technologies, 2000. 17 18IP Status 19 20 None 21 22Version 23 24 Last Modified Date: 2006/11/04 13:54:17 Revision: 1.3 25 26Number 27 28 220 29 30Dependencies 31 32 EXT_texture_env_combine is required and is modified by this extension 33 ARB_multitexture affects the definition of this extension 34 35Overview 36 37 Adds new operation to the texture combiner operations. 38 39 DOT3_RGB_EXT Arg0 <dotprod> Arg1 40 DOT3_RGBA_EXT Arg0 <dotprod> Arg1 41 42 where Arg0, Arg1 are derived from 43 44 PRIMARY_COLOR_EXT primary color of incoming fragment 45 TEXTURE texture color of corresponding texture unit 46 CONSTANT_EXT texture environment constant color 47 PREVIOUS_EXT result of previous texture environment; on 48 texture unit 0, this maps to PRIMARY_COLOR_EXT 49 50 This operaion can only be performed if SOURCE0_RGB_EXT, 51 SOURCE1_RGB_EXT are defined. 52 53Issues 54 55 None 56 57New Procedures and Functions 58 59 None 60 61New Tokens 62 63 Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 64 and TexEnviv when the <pname> parameter value is COMBINE_RGB_EXT 65 66 DOT3_RGB_EXT 0x8740 67 DOT3_RGBA_EXT 0x8741 68 69 70Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation) 71 72 None 73 74Additions to Chapter 3 of the OpenGL 1.2 Specification (Rasterization) 75 76 Added to subsection 3.8.9, before the paragraph describing the 77 state requirements: 78 79 If the value of TEXTURE_ENV_MODE is COMBINE_EXT, the form of the 80 texture function depends on the values of COMBINE_RGB_EXT and 81 COMBINE_ALPHA_EXT, according to table 3.20. The RGB and ALPHA 82 results of the texture function are not multiplied by the values 83 of RGB_SCALE_EXT and ALPHA_SCALE, respectively. The results are 84 clamped to [0,1]. 85 86 87 COMBINE_RGB_EXT Texture Function 88 ------------------ ---------------- 89 DOT3_RGB_EXT 4*((Arg0_r - 0.5)*(Arg1_r - 0.5) + 90 (Arg0_g - 0.5)*(Arg1_g - 0.5) + 91 (Arg0_b - 0.5)*(Arg1_b - 0.5)) 92 This value is placed into all three 93 r,g,b components of the output. 94 DOT3_RGBA_EXT 4*((Arg0_r - 0.5)*(Arg1_r - 0.5) + 95 (Arg0_g - 0.5)*(Arg1_g - 0.5) + 96 (Arg0_b - 0.5)*(Arg1_b - 0.5)) 97 This value is placed into all four 98 r,g,b,a components of the output. 99 100 101 Table 3.20: COMBINE_EXT texture functions 102 103 104Additions to Chapter 4 of the OpenGL 1.2 Specification (Per-Fragment Operations 105and the Framebuffer) 106 107 None 108 109Additions to Chapter 5 of the OpenGL 1.2 Specification (Special Functions) 110 111 None 112 113Additions to Chapter 6 of the OpenGL 1.2 Specification (State and State Requests) 114 115 None 116 117Additions to the AGL/GLX/WGL Specifications 118 119 None 120 121GLX Protocol 122 123 None 124 125Errors 126 127Modifications to EXT_texture_env_combine 128 129Dependencies on ARB_multitexture 130 131New State 132 133 None 134 135New Implementation Dependent State 136 137 None 138 139Revision History 140 141 None 142 143