1Name 2 3 ARB_texture_env_dot3 4 5Name Strings 6 7 GL_ARB_texture_env_dot3 8 9Contact 10 11 Bimal Poddar, Intel (bimal.poddar 'at' intel.com) 12 Dave Gosselin 13 Dan Ginsburg, AMD (dan.ginsburg 'at' amd.com) 14 15Notice 16 17 Copyright (c) 2001-2013 The Khronos Group Inc. Copyright terms at 18 http://www.khronos.org/registry/speccopyright.html 19 20Specification Update Policy 21 22 Khronos-approved extension specifications are updated in response to 23 issues and bugs prioritized by the Khronos OpenGL Working Group. For 24 extensions which have been promoted to a core Specification, fixes will 25 first appear in the latest version of that core Specification, and will 26 eventually be backported to the extension document. This policy is 27 described in more detail at 28 https://www.khronos.org/registry/OpenGL/docs/update_policy.php 29 30Status 31 32 Complete. Approved by ARB on February 16, 2001. 33 34Version 35 36 Last modified date: 2006/11/04 37 38Number 39 40 ARB Extension #19 41 42Dependencies 43 44 This extension is written against the OpenGL 1.2.1 Specification. 45 OpenGL 1.1, ARB_multitexture and ARB_texture_env_combine are required 46 for this extension. 47 48Overview 49 50 Adds new operation to the texture combiner operations. 51 52 DOT3_RGB_ARB Arg0 <dotprod> Arg1 53 DOT3_RGBA_ARB Arg0 <dotprod> Arg1 54 55 where Arg0, Arg1 are specified by <params> parameter of 56 TexEnvf, TexEnvi, TexEnvfv, and TexEnviv when the <pname> 57 parameter value is SOURCE0_RGB_ARB and SOURCE1_RGB_ARB. 58 59Issues 60 61 1. This extension is an ARB version of EXT_texture_env_dot3 which bears 62 a copyright by ATI Technologies. Is ATI willing to have the ARB 63 go ahead and modify their original spec and use it for the 64 ARB extension. 65 66 - RESOLVED: ATI does not have a problem with the copyright issue. 67 68 2. The EXT version of the spec does not multiply the output by 69 RGB_SCALE_ARB and ALPHA_SCALE_ARB. There is no reason to impose this 70 restriction since it makes the scale operations non-orthogonal. 71 Should the enum values for the new tokens in this extension should 72 be the same as the original EXT version? 73 74 - RESOLVED: No. 75 76New Procedures and Functions 77 78 None 79 80New Tokens 81 82 Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv, 83 and TexEnviv when the <pname> parameter value is COMBINE_RGB_ARB 84 85 DOT3_RGB_ARB 0x86AE 86 DOT3_RGBA_ARB 0x86AF 87 88Additions to Chapter 2 of the GL Specification (OpenGL Operation) 89 90 None 91 92Additions to Chapter 3 of the GL Specification (Rasterization) 93 94 Added to table 3.20 of the ARB_texture_env_combine spec: 95 96 COMBINE_RGB_ARB Texture Function 97 --------------- ---------------- 98 DOT3_RGB_ARB 4*((Arg0_r - 0.5)*(Arg1_r - 0.5) + 99 (Arg0_g - 0.5)*(Arg1_g - 0.5) + 100 (Arg0_b - 0.5)*(Arg1_b - 0.5)) 101 102 This value is placed into all three 103 r,g,b components of the output. 104 105 DOT3_RGBA_ARB 4*((Arg0_r - 0.5)*(Arg1_r - 0.5) + 106 (Arg0_g - 0.5)*(Arg1_g - 0.5) + 107 (Arg0_b - 0.5)*(Arg1_b - 0.5)) 108 109 This value is placed into all four 110 r,g,b,a components of the output. Note 111 that the result generated from 112 COMBINE_ALPHA_ARB function is ignored. 113 114Additions to Chapter 4 of the OpenGL 1.2 Specification (Per-Fragment Operations 115and the Framebuffer) 116 117 None 118 119Additions to Chapter 5 of the GL Specification (Special Functions) 120 121 None 122 123Additions to Chapter 6 of the GL Specification (State and State Requests) 124 125 None 126 127Additions to the GLX Specification 128 129 None 130 131GLX Protocol 132 133 None 134 135Errors 136 137 INVALID_ENUM is generated if <params> value for COMBINE_RGB_ARB 138 is not one of REPLACE, MODULATE, ADD, ADD_SIGNED_ARB, 139 INTERPOLATE_ARB, SUBTRACT_ARB, DOT3_RGB_ARB or DOT3_RGBA_ARB. 140 141New State 142 143 None 144 145New Implementation Dependent State 146 147 None 148 149Revision History 150 06/11/04 benj Updated contact info after ATI/AMD merger. 151 152 01/05/15 bpoddar Fixed a mistake in the spec - DOT3_RGB_ARB and 153 DOT3_RGBA_ARB are not valid arguments when 154 <pname> parameter is COMBINE_ALPHA_ARB 155 156 01/02/02 bpoddar Added original EXT/ARB contributors to the contact 157 list 158 159 00/12/13 bpoddar Added enum values for DOT3_RGB_ARB and DOT3_RGBA_ARB 160 Added resolution to issue # 1. 161 162 00/12/06 bpoddar Fixed typos - EXT -> ARB, RED_SCALE -> RGB_SCALE 163 164 00/12/01 bpoddar Created an ARB version of the ARB_texture_env_dot3 165 by breaking up the proposed ARB_texture_env_combine 166 spec. 167