• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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