Back to the OpenGL extension cross reference

GL_ARB_texture_env_dot3


Name


    ARB_texture_env_dot3

Name Strings


    GL_ARB_texture_env_dot3

Contact


    Bimal Poddar, Intel, bimal.poddar@intel.com
Dave Gosselin, ATI Technologies, Inc. (gosselin 'at' ati.com)
Dan Ginsburg, ATI Technologies, Inc. (dginsbur 'at' ati.com)

Status


    Complete. Approved by ARB on February 16, 2001.

Version


    Last modified date: 2001/02/02

Number


    ARB Extension #19

Dependencies


    This extension is written against the OpenGL 1.2.1 Specification.
OpenGL 1.1, ARB_multitexture and ARB_texture_env_combine are required
for this extension.

Overview


    Adds new operation to the texture combiner operations.

DOT3_RGB_ARB Arg0 <dotprod> Arg1
DOT3_RGBA_ARB Arg0 <dotprod> Arg1

where Arg0, Arg1 are specified by <params> parameter of
TexEnvf, TexEnvi, TexEnvfv, and TexEnviv when the <pname>
parameter value is SOURCE0_RGB_ARB and SOURCE1_RGB_ARB.

Issues


 1. This extension is an ARB version of EXT_texture_env_dot3 which bears
a copyright by ATI Technologies. Is ATI willing to have the ARB
go ahead and modify their original spec and use it for the
ARB extension.

- RESOLVED: ATI does not have a problem with the copyright issue.

2. The EXT version of the spec does not multiply the output by
RGB_SCALE_ARB and ALPHA_SCALE_ARB. There is no reason to impose this
restriction since it makes the scale operations non-orthogonal.
Should the enum values for the new tokens in this extension should
be the same as the original EXT version?

- RESOLVED: No.

New Procedures and Functions


    None

New Tokens


    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
and TexEnviv when the <pname> parameter value is COMBINE_RGB_ARB
or COMBINE_ALPHA_ARB

DOT3_RGB_ARB 0x86AE
DOT3_RGBA_ARB 0x86AF

Additions to Chapter 2 of the GL Specification (OpenGL Operation)


    None

Additions to Chapter 3 of the GL Specification (Rasterization)


    Added to table 3.20 of the ARB_texture_env_combine spec:

COMBINE_RGB_ARB Texture Function
--------------- ----------------
DOT3_RGB_ARB 4*((Arg0_r - 0.5)*(Arg1_r - 0.5) +
(Arg0_g - 0.5)*(Arg1_g - 0.5) +
(Arg0_b - 0.5)*(Arg1_b - 0.5))

This value is placed into all three
r,g,b components of the output.

DOT3_RGBA_ARB 4*((Arg0_r - 0.5)*(Arg1_r - 0.5) +
(Arg0_g - 0.5)*(Arg1_g - 0.5) +
(Arg0_b - 0.5)*(Arg1_b - 0.5))

This value is placed into all four
r,g,b,a components of the output. Note
that the result generated from
COMBINE_ALPHA_ARB function is ignored.

Additions to Chapter 4 of the OpenGL 1.2 Specification (Per-Fragment Operations and the Framebuffer)


    None

Additions to Chapter 5 of the GL Specification (Special Functions)


    None

Additions to Chapter 6 of the GL Specification (State and State Requests)


    None

Additions to the GLX Specification


    None

GLX Protocol


    None

Errors


    INVALID_ENUM is generated if <params> value for COMBINE_RGB_ARB
is not one of REPLACE, MODULATE, ADD, ADD_SIGNED_ARB,
INTERPOLATE_ARB, SUBTRACT_ARB, DOT3_RGB_ARB or DOT3_RGBA_ARB.

New State


    None

New Implementation Dependent State


    None

Revision History


    01/02/02  bpoddar   Added original EXT/ARB contributors to the contact
list

00/12/13 bpoddar Added enum values for DOT3_RGB_ARB and DOT3_RGBA_ARB
Added resolution to issue # 1.

00/12/06 bpoddar Fixed typos - EXT -> ARB, RED_SCALE -> RGB_SCALE

00/12/01 bpoddar Created an ARB version of the ARB_texture_env_dot3
by breaking up the proposed ARB_texture_env_combine
spec.

Implementation Support


   List of OpenGL implementations supporting the GL_ARB_texture_env_dot3 extension

Original File


   Original text file for the GL_ARB_texture_env_dot3 extension


Page generated on Sun Nov 20 18:36:02 2005