15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    ARB_texture_env_dot3
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_ARB_texture_env_dot3
85bd8deadSopenharmony_ci    
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Bimal Poddar, Intel (bimal.poddar 'at' intel.com)
125bd8deadSopenharmony_ci    Dave Gosselin
135bd8deadSopenharmony_ci    Dan Ginsburg, AMD (dan.ginsburg 'at' amd.com)
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ciNotice
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ci    Copyright (c) 2001-2013 The Khronos Group Inc. Copyright terms at
185bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ciSpecification Update Policy
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
235bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL Working Group. For
245bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
255bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
265bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
275bd8deadSopenharmony_ci    described in more detail at
285bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ciStatus
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ci    Complete. Approved by ARB on February 16, 2001.
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ciVersion
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    Last modified date: 2006/11/04
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ciNumber
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ci    ARB Extension #19
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ciDependencies
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ci    This extension is written against the OpenGL 1.2.1 Specification.
455bd8deadSopenharmony_ci    OpenGL 1.1, ARB_multitexture and ARB_texture_env_combine are required 
465bd8deadSopenharmony_ci    for this extension.
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ciOverview
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    Adds new operation to the texture combiner operations.
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci        DOT3_RGB_ARB                    Arg0 <dotprod> Arg1
535bd8deadSopenharmony_ci        DOT3_RGBA_ARB                   Arg0 <dotprod> Arg1
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ci    where Arg0, Arg1 are specified by <params> parameter of 
565bd8deadSopenharmony_ci    TexEnvf, TexEnvi, TexEnvfv, and TexEnviv when the <pname>
575bd8deadSopenharmony_ci    parameter value is SOURCE0_RGB_ARB and SOURCE1_RGB_ARB.
585bd8deadSopenharmony_ci    
595bd8deadSopenharmony_ciIssues
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci 1. This extension is an ARB version of EXT_texture_env_dot3 which bears
625bd8deadSopenharmony_ci    a copyright by ATI Technologies. Is ATI willing to have the ARB
635bd8deadSopenharmony_ci    go ahead and modify their original spec and use it for the 
645bd8deadSopenharmony_ci    ARB extension.
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ci    - RESOLVED: ATI does not have a problem with the copyright issue.
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci 2. The EXT version of the spec does not multiply the output by 
695bd8deadSopenharmony_ci    RGB_SCALE_ARB and ALPHA_SCALE_ARB. There is no reason to impose this
705bd8deadSopenharmony_ci    restriction since it makes the scale operations non-orthogonal. 
715bd8deadSopenharmony_ci    Should the enum values for the new tokens in this extension should
725bd8deadSopenharmony_ci    be the same as the original EXT version?
735bd8deadSopenharmony_ci
745bd8deadSopenharmony_ci    - RESOLVED: No.
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ciNew Procedures and Functions
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ci    None
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ciNew Tokens
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci    Accepted by the <params> parameter of TexEnvf, TexEnvi, TexEnvfv,
835bd8deadSopenharmony_ci    and TexEnviv when the <pname> parameter value is COMBINE_RGB_ARB
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci        DOT3_RGB_ARB                                    0x86AE
865bd8deadSopenharmony_ci        DOT3_RGBA_ARB                                   0x86AF
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ciAdditions to Chapter 2 of the GL Specification (OpenGL Operation)
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ci    None
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ciAdditions to Chapter 3 of the GL Specification (Rasterization)
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci    Added to table 3.20 of the ARB_texture_env_combine spec:
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci        COMBINE_RGB_ARB         Texture Function
975bd8deadSopenharmony_ci        ---------------         ----------------
985bd8deadSopenharmony_ci        DOT3_RGB_ARB            4*((Arg0_r - 0.5)*(Arg1_r - 0.5) +
995bd8deadSopenharmony_ci                                   (Arg0_g - 0.5)*(Arg1_g - 0.5) +
1005bd8deadSopenharmony_ci                                   (Arg0_b - 0.5)*(Arg1_b - 0.5))
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci                                This value is placed into all three
1035bd8deadSopenharmony_ci                                r,g,b components of the output.
1045bd8deadSopenharmony_ci
1055bd8deadSopenharmony_ci        DOT3_RGBA_ARB           4*((Arg0_r - 0.5)*(Arg1_r - 0.5) +
1065bd8deadSopenharmony_ci                                   (Arg0_g - 0.5)*(Arg1_g - 0.5) +
1075bd8deadSopenharmony_ci                                   (Arg0_b - 0.5)*(Arg1_b - 0.5))
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci                                This value is placed into all four
1105bd8deadSopenharmony_ci                                r,g,b,a components of the output. Note
1115bd8deadSopenharmony_ci                                that the result generated from 
1125bd8deadSopenharmony_ci                                COMBINE_ALPHA_ARB function is ignored.
1135bd8deadSopenharmony_ci
1145bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.2 Specification (Per-Fragment Operations
1155bd8deadSopenharmony_ciand the Framebuffer)
1165bd8deadSopenharmony_ci
1175bd8deadSopenharmony_ci    None
1185bd8deadSopenharmony_ci
1195bd8deadSopenharmony_ciAdditions to Chapter 5 of the GL Specification (Special Functions)
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci    None
1225bd8deadSopenharmony_ci
1235bd8deadSopenharmony_ciAdditions to Chapter 6 of the GL Specification (State and State Requests)
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci    None
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ciAdditions to the GLX Specification
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci    None
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ciGLX Protocol
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ci    None
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ciErrors
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ci    INVALID_ENUM is generated if <params> value for COMBINE_RGB_ARB
1385bd8deadSopenharmony_ci    is not one of REPLACE, MODULATE, ADD, ADD_SIGNED_ARB, 
1395bd8deadSopenharmony_ci    INTERPOLATE_ARB, SUBTRACT_ARB, DOT3_RGB_ARB or DOT3_RGBA_ARB.
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ciNew State
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ci    None
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ciNew Implementation Dependent State
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    None
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ciRevision History
1505bd8deadSopenharmony_ci    06/11/04  benj      Updated contact info after ATI/AMD merger.
1515bd8deadSopenharmony_ci
1525bd8deadSopenharmony_ci    01/05/15  bpoddar   Fixed a mistake in the spec - DOT3_RGB_ARB and
1535bd8deadSopenharmony_ci                        DOT3_RGBA_ARB are not valid arguments when
1545bd8deadSopenharmony_ci                        <pname> parameter is COMBINE_ALPHA_ARB
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ci    01/02/02  bpoddar   Added original EXT/ARB contributors to the contact
1575bd8deadSopenharmony_ci                        list
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ci    00/12/13  bpoddar   Added enum values for DOT3_RGB_ARB and DOT3_RGBA_ARB
1605bd8deadSopenharmony_ci                        Added resolution to issue # 1.
1615bd8deadSopenharmony_ci
1625bd8deadSopenharmony_ci    00/12/06  bpoddar   Fixed typos - EXT -> ARB, RED_SCALE -> RGB_SCALE
1635bd8deadSopenharmony_ci
1645bd8deadSopenharmony_ci    00/12/01  bpoddar   Created an ARB version of the ARB_texture_env_dot3 
1655bd8deadSopenharmony_ci                        by breaking up the proposed ARB_texture_env_combine
1665bd8deadSopenharmony_ci                        spec.
167