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