15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    ARB_texture_rg
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_ARB_texture_rg
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContributors
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Daniel Koch, TransGaming, Inc.
125bd8deadSopenharmony_ci    Jon Leech, Khronos
135bd8deadSopenharmony_ci
145bd8deadSopenharmony_ciContact
155bd8deadSopenharmony_ci
165bd8deadSopenharmony_ci    Daniel Koch, TransGaming, Inc. (daniel 'at' transgaming.com)
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciNotice
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Copyright (c) 2008-2013 The Khronos Group Inc. Copyright terms at
215bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ciSpecification Update Policy
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
265bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL Working Group. For
275bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
285bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
295bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
305bd8deadSopenharmony_ci    described in more detail at
315bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ciStatus
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ci    Approved by the ARB on July 11, 2008
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ciVersion
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    Last Modified Date: May 28, 2009
405bd8deadSopenharmony_ci    Author Revision: 6
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ciNumber
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ci    ARB Extension #53
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ciDependencies
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ci    OpenGL 1.1 is required.
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    This extension is written against the OpenGL 2.1 Specification.
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci    EXT_texture_integer affects the definition of this extension.
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    ARB_texture_float affects the definition of this extension.
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ci    EXT_packed_depth_stencil affects the definition of this extension.
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ci    This extension interacts with ARB_framebuffer_object and
595bd8deadSopenharmony_ci    EXT_framebuffer_object.
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    This extension is subsumed by OpenGL 3.0.
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ciOverview
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci    Historically one- and two- component textures have been specified in OpenGL
665bd8deadSopenharmony_ci    using the intensity, luminance or luminance-alpha (I/L/LA) formats.
675bd8deadSopenharmony_ci    With the advent of programmable shaders and render-to-texture capabilites
685bd8deadSopenharmony_ci    these legacy formats carry some historical artifacts which are no longer
695bd8deadSopenharmony_ci    useful.
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci    For example, when sampling from such textures, the luminance values
725bd8deadSopenharmony_ci    are replicated across the color components, and the intensity values are
735bd8deadSopenharmony_ci    replicated across both the color and alpha components. This is no
745bd8deadSopenharmony_ci    longer necessary with programmable shaders.
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ci    It is also desirable to be able to render to one- and two-
775bd8deadSopenharmony_ci    component format textures using capabilities such as framebuffer
785bd8deadSopenharmony_ci    objects (FBO), but rendering to I/L/LA formats is under-specified
795bd8deadSopenharmony_ci    (specifically how to map R/G/B/A values to I/L/A texture channels).
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ci    This extension adds new base internal formats for the one-component RED
825bd8deadSopenharmony_ci    and two-component RG (red green) texture formats as well as sized
835bd8deadSopenharmony_ci    internal formats for fixed-point, floating-point and pure integer texture
845bd8deadSopenharmony_ci    formats. The new texure formats can be used for texturing as well
855bd8deadSopenharmony_ci    as for rendering into with framebuffer objects.
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ciIP Status
885bd8deadSopenharmony_ci
895bd8deadSopenharmony_ci    No known IP claims.
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ciNew Tokens
925bd8deadSopenharmony_ci
935bd8deadSopenharmony_ci    Accepted by the <internalFormat> parameter of TexImage1D, TexImage2D,
945bd8deadSopenharmony_ci    TexImage3D, CopyTexImage1D, and CopyTexImage2D:
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci        R8                      0x8229
975bd8deadSopenharmony_ci        R16                     0x822A
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ci        RG8                     0x822B
1005bd8deadSopenharmony_ci        RG16                    0x822C
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci        R16F                    0x822D
1035bd8deadSopenharmony_ci        R32F                    0x822E
1045bd8deadSopenharmony_ci
1055bd8deadSopenharmony_ci        RG16F                   0x822F
1065bd8deadSopenharmony_ci        RG32F                   0x8230
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ci        R8I                     0x8231
1095bd8deadSopenharmony_ci        R8UI                    0x8232
1105bd8deadSopenharmony_ci        R16I                    0x8233
1115bd8deadSopenharmony_ci        R16UI                   0x8234
1125bd8deadSopenharmony_ci        R32I                    0x8235
1135bd8deadSopenharmony_ci        R32UI                   0x8236
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci        RG8I                    0x8237
1165bd8deadSopenharmony_ci        RG8UI                   0x8238
1175bd8deadSopenharmony_ci        RG16I                   0x8239
1185bd8deadSopenharmony_ci        RG16UI                  0x823A
1195bd8deadSopenharmony_ci        RG32I                   0x823B
1205bd8deadSopenharmony_ci        RG32UI                  0x823C
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ci        RED                     0x1903
1235bd8deadSopenharmony_ci        RG                      0x8227
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci        COMPRESSED_RED          0x8225
1265bd8deadSopenharmony_ci        COMPRESSED_RG           0x8226
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ci    Accepted by the <format> parameter of TexImage1D, TexImage2D,
1295bd8deadSopenharmony_ci    TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D,
1305bd8deadSopenharmony_ci    and ReadPixels:
1315bd8deadSopenharmony_ci
1325bd8deadSopenharmony_ci        RG                      0x8227
1335bd8deadSopenharmony_ci        RG_INTEGER              0x8228
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ci    Accepted by the <format> parameter of DrawPixels:
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ci        RG                      0x8227
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    Accepted by the <param> parameter of the TexParameter{if}*
1405bd8deadSopenharmony_ci    functions when <pname> is DEPTH_TEXTURE_MODE:
1415bd8deadSopenharmony_ci
1425bd8deadSopenharmony_ci        RED                     0x1903
1435bd8deadSopenharmony_ci
1445bd8deadSopenharmony_ci    Accepted by the <format> parameter of GetTexImage:
1455bd8deadSopenharmony_ci
1465bd8deadSopenharmony_ci        RG                      0x8227
1475bd8deadSopenharmony_ci        RG_INTEGER              0x8228
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ciNew Procedures and Functions
1515bd8deadSopenharmony_ci
1525bd8deadSopenharmony_ci    None
1535bd8deadSopenharmony_ci
1545bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 2.1 Specification (OpenGL Operation)
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ci    None
1575bd8deadSopenharmony_ci
1585bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 2.1 Specification (Rasterization)
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ci    Modify section 3.6.3 "Pixel Transfer Modes", the "Color Table Specification"
1615bd8deadSopenharmony_ci    subsection and in the third paragraph of the definition of ColorTable modify
1625bd8deadSopenharmony_ci    the last sentence to read:
1635bd8deadSopenharmony_ci
1645bd8deadSopenharmony_ci    "internalformat must be one of the formats in table 3.15 or table 3.16,
1655bd8deadSopenharmony_ci    with the exception of the RED, RG and DEPTH_COMPONENT base and sized
1665bd8deadSopenharmony_ci    internal formats."
1675bd8deadSopenharmony_ci
1685bd8deadSopenharmony_ci    (Add the following to Table 3.6: "DrawPixels and ReadPixels formats",
1695bd8deadSopenharmony_ci     as modified by EXT_texture_integer)
1705bd8deadSopenharmony_ci
1715bd8deadSopenharmony_ci    Format Name     Element Meaning and Order      Target Buffer
1725bd8deadSopenharmony_ci    -----------     -------------------------      -------------
1735bd8deadSopenharmony_ci    RG              R, G                           Color
1745bd8deadSopenharmony_ci    RG_INTEGER      iR, iG                         Color
1755bd8deadSopenharmony_ci
1765bd8deadSopenharmony_ci    (Add the following to Table 3.15: "Conversion from RGBA and depth
1775bd8deadSopenharmony_ci    pixel components to internal texture, table, or filter components")
1785bd8deadSopenharmony_ci
1795bd8deadSopenharmony_ci    Base Internal Format  RGBA and Depth Values   Internal Components
1805bd8deadSopenharmony_ci    --------------------  ---------------------   -------------------
1815bd8deadSopenharmony_ci    RED                   R                       R
1825bd8deadSopenharmony_ci    RG                    R,G                     R,G
1835bd8deadSopenharmony_ci
1845bd8deadSopenharmony_ci    (Add the following to Table 3.16: "Correspondence of sized internal
1855bd8deadSopenharmony_ci    formats to base internal formats, and desired component resolutions
1865bd8deadSopenharmony_ci    for each sized internal format", as modified by ARB_texture_float and
1875bd8deadSopenharmony_ci    ARB_texture_integer)
1885bd8deadSopenharmony_ci
1895bd8deadSopenharmony_ci    Sized           Base              R    G    B    A    L    I    D
1905bd8deadSopenharmony_ci    Internal Format Internal Format  bits bits bits bits bits bits bits
1915bd8deadSopenharmony_ci    --------------- ---------------  ---- ---- ---- ---- ---- ---- ----
1925bd8deadSopenharmony_ci    R8              RED              8
1935bd8deadSopenharmony_ci    R16             RED              16
1945bd8deadSopenharmony_ci    RG8             RG               8    8
1955bd8deadSopenharmony_ci    RG16            RG               16   16
1965bd8deadSopenharmony_ci    R16F            RED              f16
1975bd8deadSopenharmony_ci    R32F            RED              f32
1985bd8deadSopenharmony_ci    RG16F           RG               f16  f16
1995bd8deadSopenharmony_ci    RG32F           RG               f32  f32
2005bd8deadSopenharmony_ci    R8I             RED              i8
2015bd8deadSopenharmony_ci    R8UI            RED              ui8
2025bd8deadSopenharmony_ci    R16I            RED              i16
2035bd8deadSopenharmony_ci    R16UI           RED              ui16
2045bd8deadSopenharmony_ci    R32I            RED              i32
2055bd8deadSopenharmony_ci    R32UI           RED              ui32
2065bd8deadSopenharmony_ci    RG8I            RG               i8   i8
2075bd8deadSopenharmony_ci    RG8UI           RG               ui8  ui8
2085bd8deadSopenharmony_ci    RG16I           RG               i16  i16
2095bd8deadSopenharmony_ci    RG16UI          RG               ui16 ui16
2105bd8deadSopenharmony_ci    RG32I           RG               i32  i32
2115bd8deadSopenharmony_ci    RG32UI          RG               ui32 ui32
2125bd8deadSopenharmony_ci
2135bd8deadSopenharmony_ci    (Add the following to Table 3.17: "Generic and specific compressed
2145bd8deadSopenharmony_ci    internal formats")
2155bd8deadSopenharmony_ci
2165bd8deadSopenharmony_ci    Compressed Internal Format      Base Internal Format    Type
2175bd8deadSopenharmony_ci    --------------------------      --------------------    ---------
2185bd8deadSopenharmony_ci    COMPRESSED_RED                  RED                     Generic
2195bd8deadSopenharmony_ci    COMPRESSED_RG                   RG                      Generic
2205bd8deadSopenharmony_ci
2215bd8deadSopenharmony_ci    (Modify Table 3.18: "Texure parameters and their values")
2225bd8deadSopenharmony_ci
2235bd8deadSopenharmony_ci    Add RED to the "Legal Values" column for the row containing the
2245bd8deadSopenharmony_ci    definition of DEPTH_TEXTURE_MODE.
2255bd8deadSopenharmony_ci
2265bd8deadSopenharmony_ci    Modify the first sentence of section 3.8.5 "Depth Component Textures"
2275bd8deadSopenharmony_ci    (as modified by EXT_packed_depth_stencil or ARB_framebuffer_object) to read:
2285bd8deadSopenharmony_ci
2295bd8deadSopenharmony_ci    "Depth textures and the depth components of depth/stencil textures can
2305bd8deadSopenharmony_ci     be treated as RED, LUMINANCE, INTENSITY or ALPHA textures during texture
2315bd8deadSopenharmony_ci     filtering and application."
2325bd8deadSopenharmony_ci
2335bd8deadSopenharmony_ci    (Add the following to Table 3.20: "Correspondence of filtered texture
2345bd8deadSopenharmony_ci     components to texture source components.")
2355bd8deadSopenharmony_ci
2365bd8deadSopenharmony_ci    Texture Base        Texture source color
2375bd8deadSopenharmony_ci    Internal Format     C_s             A_s
2385bd8deadSopenharmony_ci    ---------------     -------------   ------
2395bd8deadSopenharmony_ci    RED                 (R_t, 0, 0)     1
2405bd8deadSopenharmony_ci    RG                  (R_t, G_t, 0)   1
2415bd8deadSopenharmony_ci
2425bd8deadSopenharmony_ci    (Modify Table 3.21: "Texture functions REPLACE, MODULATE and DECAL.")
2435bd8deadSopenharmony_ci
2445bd8deadSopenharmony_ci    Add RED and RG to the "Texture Base Internal Format" column for the
2455bd8deadSopenharmony_ci    row which defines the behaviour for RGB (or 3).
2465bd8deadSopenharmony_ci
2475bd8deadSopenharmony_ci    (Modify Table 3.22: "Texture functions BLEND and ADD.")
2485bd8deadSopenharmony_ci
2495bd8deadSopenharmony_ci    Add RED and RG to the "Texture Base Internal Format" column for the
2505bd8deadSopenharmony_ci    row which defines the behaviour for RGB (or 3).
2515bd8deadSopenharmony_ci
2525bd8deadSopenharmony_ci    Modify Section 3.8.14 "Texture Comparision Modes", the "Depth Texture
2535bd8deadSopenharmony_ci    Comparision Mode" subsection, and change the second to last paragraph
2545bd8deadSopenharmony_ci    to read:
2555bd8deadSopenharmony_ci
2565bd8deadSopenharmony_ci    "The resulting r is assigned to R_t, L_t, I_t, or A_t if the value of the
2575bd8deadSopenharmony_ci    DEPTH_TEXTURE_MODE is respectively RED, LUMINANCE, INTENSITY, or ALPHA."
2585bd8deadSopenharmony_ci
2595bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 2.1 Specification (Per-Fragment Operations
2605bd8deadSopenharmony_ciand the Framebuffer)
2615bd8deadSopenharmony_ci
2625bd8deadSopenharmony_ci    In section 4.3.2 "Reading Pixels" the subsection "Obtaining Pixels from
2635bd8deadSopenharmony_ci    the framebuffer", modify the first sentence of the 3rd paragraph in the
2645bd8deadSopenharmony_ci    definition of ReadBuffer to read:
2655bd8deadSopenharmony_ci
2665bd8deadSopenharmony_ci    "If the GL is in RGBA mode, and format is one of RED, GREEN, BLUE, ALPHA,
2675bd8deadSopenharmony_ci    RG, RGB, RGBA, BGR, BGRA, LUMINANCE, or LUMINANCE_ALPHA, then red,
2685bd8deadSopenharmony_ci    green, blue, and alpha values are obtained from the selected buffer at
2695bd8deadSopenharmony_ci    each pixel location."
2705bd8deadSopenharmony_ci
2715bd8deadSopenharmony_ci    In subsection "Placement in Pixel Pack Buffer or Client Memory," modify
2725bd8deadSopenharmony_ci    the second to last sentence to read:
2735bd8deadSopenharmony_ci
2745bd8deadSopenharmony_ci    "Likewise if the format is RG, LUMINANCE_ALPHA, RGB, BGR, only the
2755bd8deadSopenharmony_ci    corresponding two or three elements are written."
2765bd8deadSopenharmony_ci
2775bd8deadSopenharmony_ci    In section 4.4.4 "Framebuffer Completeness" as added by
2785bd8deadSopenharmony_ci    EXT_framebuffer_object or ARB_framebuffer_object, modify the first bullet
2795bd8deadSopenharmony_ci    point and add RED and RG to the list of base internal formats which
2805bd8deadSopenharmony_ci    are color-renderable.
2815bd8deadSopenharmony_ci
2825bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 2.1 Specification (Special Functions)
2835bd8deadSopenharmony_ci
2845bd8deadSopenharmony_ci    None
2855bd8deadSopenharmony_ci
2865bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 2.1 Specification (State and State Requests)
2875bd8deadSopenharmony_ci
2885bd8deadSopenharmony_ci    Modify section 6.1.4 "Texture Queries". Change the second sentence of the
2895bd8deadSopenharmony_ci    second paragraph to read:
2905bd8deadSopenharmony_ci
2915bd8deadSopenharmony_ci    "Calling GetTexImage with a color format (one of RED, GREEN, BLUE, ALPHA,
2925bd8deadSopenharmony_ci    RG, RGB, BGR, RGBA, BGRA, LUMINANCE, LUMINANCE_ALPHA, or one of the
2935bd8deadSopenharmony_ci    *_INTEGER variants) when the base internal format of the texture image is
2945bd8deadSopenharmony_ci    not a color format; with a format of DEPTH_COMPONENT when the base internal
2955bd8deadSopenharmony_ci    format is not DEPTH_COMPONENT or DEPTH_STENCIL; with a format of
2965bd8deadSopenharmony_ci    DEPTH_STENCIL when the base internal format is not DEPTH_STENCIL; with an
2975bd8deadSopenharmony_ci    *_INTEGER format when the base internal format is not one of the integral
2985bd8deadSopenharmony_ci    types; or with non-integer format when the base internal is an integral
2995bd8deadSopenharmony_ci    type, causes the error INVALID_OPERATION."
3005bd8deadSopenharmony_ci
3015bd8deadSopenharmony_ci    (Add the following to Table 6.1: "Texture, table, and filter return values")
3025bd8deadSopenharmony_ci
3035bd8deadSopenharmony_ci    Base Internal Format    R    G   B   A
3045bd8deadSopenharmony_ci    --------------------  ---- ----- --- ---
3055bd8deadSopenharmony_ci    RED                    R_i   0    0   1
3065bd8deadSopenharmony_ci    RG                     R_i   G_i  0   1
3075bd8deadSopenharmony_ci
3085bd8deadSopenharmony_ciDependencies on EXT_packed_depth_stencil
3095bd8deadSopenharmony_ci
3105bd8deadSopenharmony_ci    If EXT_packed_depth_stencil is not supported then delete any reference to
3115bd8deadSopenharmony_ci    depth/stencil textures (unless ARB_framebuffer_objects is supported).
3125bd8deadSopenharmony_ci
3135bd8deadSopenharmony_ciDependencies on EXT_framebuffer_object
3145bd8deadSopenharmony_ci
3155bd8deadSopenharmony_ci    If EXT_framebuffer_object is not supported then delete any reference to
3165bd8deadSopenharmony_ci    framebuffer objects (unless ARB_framebuffer_objects is supported).
3175bd8deadSopenharmony_ci
3185bd8deadSopenharmony_ciDependencies on ARB_framebuffer_object
3195bd8deadSopenharmony_ci
3205bd8deadSopenharmony_ci    If ARB_framebuffer_object is not supported:
3215bd8deadSopenharmony_ci     * delete any reference to depth/stencil textures
3225bd8deadSopenharmony_ci       (unless EXT_packed_depth_stencil is supported).
3235bd8deadSopenharmony_ci     * delete any reference to framebuffer objects
3245bd8deadSopenharmony_ci       (unless EXT_framebuffer_object is supported).
3255bd8deadSopenharmony_ci
3265bd8deadSopenharmony_ciDependencies on EXT_texture_integer
3275bd8deadSopenharmony_ci
3285bd8deadSopenharmony_ci    If EXT_texture_integer is not supported:
3295bd8deadSopenharmony_ci     * delete any reference to the R*I*, R*UI* and *INTEGER* formats.
3305bd8deadSopenharmony_ci
3315bd8deadSopenharmony_ciDependencies on ARB_texture_float
3325bd8deadSopenharmony_ci
3335bd8deadSopenharmony_ci    If ARB_texture_float is not supported:
3345bd8deadSopenharmony_ci     * delete any reference to the R*F* formats.
3355bd8deadSopenharmony_ci
3365bd8deadSopenharmony_ciIssues
3375bd8deadSopenharmony_ci
3385bd8deadSopenharmony_ci    1) What should this extension be called? ARB_rg_formats, ARB_rg_texture,
3395bd8deadSopenharmony_ci       ARB_texture_rg, etc
3405bd8deadSopenharmony_ci
3415bd8deadSopenharmony_ci        DECIDED. Using ARB_texture_rg.
3425bd8deadSopenharmony_ci
3435bd8deadSopenharmony_ci    2) Why use RED token used instead of just "R"?
3445bd8deadSopenharmony_ci
3455bd8deadSopenharmony_ci       a) there is already some precedent for using RED for single-component
3465bd8deadSopenharmony_ci          images
3475bd8deadSopenharmony_ci       b) the "R" token is already used for texcoord generation, and it is
3485bd8deadSopenharmony_ci          less confusing if we don't reuse it.
3495bd8deadSopenharmony_ci
3505bd8deadSopenharmony_ci     3) Why use RG instead of REDGREEN?
3515bd8deadSopenharmony_ci
3525bd8deadSopenharmony_ci        The list {RED, RG, RGB, RGBA} is more visually appealing than
3535bd8deadSopenharmony_ci        {RED, REDGREEN, RGB, RGBA}.
3545bd8deadSopenharmony_ci
3555bd8deadSopenharmony_ci     4) Why don't the new tokens and entry points in this extension have
3565bd8deadSopenharmony_ci        "ARB" suffixes like other ARB extensions?
3575bd8deadSopenharmony_ci
3585bd8deadSopenharmony_ci        RESOLVED: Unlike most ARB extensions, this is a strict subset of
3595bd8deadSopenharmony_ci        functionality already approved in OpenGL 3.0. This extension
3605bd8deadSopenharmony_ci        exists only to support that functionality on older hardware that
3615bd8deadSopenharmony_ci        cannot implement a full OpenGL 3.0 driver. Since there are no
3625bd8deadSopenharmony_ci        possible behavior changes between the ARB extension and core
3635bd8deadSopenharmony_ci        features, source code compatibility is improved by not using
3645bd8deadSopenharmony_ci        suffixes on the extension.
3655bd8deadSopenharmony_ci
3665bd8deadSopenharmony_ci     5) What are the default values for the unspecified channels if you sampled
3675bd8deadSopenharmony_ci        from an R or RG texture?  Is it (r,0,0,1) or (r,1,1,1).
3685bd8deadSopenharmony_ci
3695bd8deadSopenharmony_ci        CLARIFICATION: As per OpenGL defaults as specified in Table 3.20
3705bd8deadSopenharmony_ci        (as modified by this extension) the default values for unspecified
3715bd8deadSopenharmony_ci        components are (r,0,0,1).  Note that this does differ from D3D where
3725bd8deadSopenharmony_ci        unspecified values would be filled in as (r,1,1,1).
3735bd8deadSopenharmony_ci
3745bd8deadSopenharmony_ci     6) Are the RG formats accepted by the imaging subset of functions?
3755bd8deadSopenharmony_ci
3765bd8deadSopenharmony_ci        RESOLUTION: NO. This extension does not add RG support to the functions
3775bd8deadSopenharmony_ci        defined in the imaging subset (that is: [Get]Color[Sub]Table,
3785bd8deadSopenharmony_ci        [Get]ConvolutionFilter, [Get]SeparableFilter, GetHistogram, GetMinMax)
3795bd8deadSopenharmony_ci        as it is felt that there is little benefit in doing so. This could be
3805bd8deadSopenharmony_ci        added as a separate extension if desired.
3815bd8deadSopenharmony_ci
3825bd8deadSopenharmony_ciRevision History
3835bd8deadSopenharmony_ci
3845bd8deadSopenharmony_ci    #6 May 28, 2008, jleech
3855bd8deadSopenharmony_ci        - Remove extraneous *_INTEGER formats from table 6.1
3865bd8deadSopenharmony_ci    #5 April 8, 2008, dgkoch
3875bd8deadSopenharmony_ci        - Address issues raised in Bug 4163
3885bd8deadSopenharmony_ci          - clarify that RG_INTEGER is not allowed for DrawPixels
3895bd8deadSopenharmony_ci          - added issue 6) and clarify that support for RED and RG formats
3905bd8deadSopenharmony_ci            is not added to the imaging subset
3915bd8deadSopenharmony_ci          - GetTexImage supports RG (but no conversion)
3925bd8deadSopenharmony_ci    #4 November 14, 2008, dgkoch
3935bd8deadSopenharmony_ci        - marked issue 1) as resolved.
3945bd8deadSopenharmony_ci        - add issue 5) as clarification
3955bd8deadSopenharmony_ci        - Better compatibility with GL 3.0 spec
3965bd8deadSopenharmony_ci          - allow unsized RED and RG formats as internal formats (Bug 4161)
3975bd8deadSopenharmony_ci          - add enums for COMPRESSED_RED/RG and allow as internal formats (Bug 4162)
3985bd8deadSopenharmony_ci    #3 August 7, 2008, jleech
3995bd8deadSopenharmony_ci        - Remove ARB suffixes.
4005bd8deadSopenharmony_ci    #2 June 9, 2008, dgkoch
4015bd8deadSopenharmony_ci        - add COMPRESSED_RED/RG generic formats.
4025bd8deadSopenharmony_ci        - add CopyTexImage1/2D to list of functions accepting the new
4035bd8deadSopenharmony_ci          internalformats.
4045bd8deadSopenharmony_ci    #1 June 8, 2008, dgkoch
4055bd8deadSopenharmony_ci        - initial version extracted from GL3 core.
406