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