15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci OES_framebuffer_object 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_OES_framebuffer_object 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Aaftab Munshi (amunshi@ati.com) 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNotice 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci Copyright (c) 2005-2013 The Khronos Group Inc. Copyright terms at 165bd8deadSopenharmony_ci http://www.khronos.org/registry/speccopyright.html 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ciSpecification Update Policy 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ci Khronos-approved extension specifications are updated in response to 215bd8deadSopenharmony_ci issues and bugs prioritized by the Khronos OpenGL ES Working Group. For 225bd8deadSopenharmony_ci extensions which have been promoted to a core Specification, fixes will 235bd8deadSopenharmony_ci first appear in the latest version of that core Specification, and will 245bd8deadSopenharmony_ci eventually be backported to the extension document. This policy is 255bd8deadSopenharmony_ci described in more detail at 265bd8deadSopenharmony_ci https://www.khronos.org/registry/OpenGL/docs/update_policy.php 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ciIP Status 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ci None. 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ciStatus 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ci Ratified by the Khronos BOP, July 22, 2005. 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ciVersion 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci Last Modified Date: April 10, 2008 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ciNumber 415bd8deadSopenharmony_ci 425bd8deadSopenharmony_ci OpenGL ES Extension #10 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ciDependencies 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ci OpenGL ES 1.0 is required. 475bd8deadSopenharmony_ci OES_rgb8_rgba8 affects the definition of this extension. 485bd8deadSopenharmony_ci OES_depth24 affects the definition of this extension. 495bd8deadSopenharmony_ci OES_depth32 affects the definition of this extension. 505bd8deadSopenharmony_ci OES_stencil1 affects the definition of this extension. 515bd8deadSopenharmony_ci OES_stencil4 affects the definition of this extension. 525bd8deadSopenharmony_ci OES_stencil8 affects the definition of this extension. 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ciOverview 555bd8deadSopenharmony_ci 565bd8deadSopenharmony_ci This extension defines a simple interface for drawing to rendering 575bd8deadSopenharmony_ci destinations other than the buffers provided to the GL by the 585bd8deadSopenharmony_ci window-system. OES_framebuffer_object is a simplified version 595bd8deadSopenharmony_ci of EXT_framebuffer_object with modifications to match the needs of 605bd8deadSopenharmony_ci OpenGL ES. 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci In this extension, these newly defined rendering destinations are 635bd8deadSopenharmony_ci known collectively as "framebuffer-attachable images". This 645bd8deadSopenharmony_ci extension provides a mechanism for attaching framebuffer-attachable 655bd8deadSopenharmony_ci images to the GL framebuffer as one of the standard GL logical 665bd8deadSopenharmony_ci buffers: color, depth, and stencil. When a framebuffer-attachable 675bd8deadSopenharmony_ci image is attached to the framebuffer, it is used as the source and 685bd8deadSopenharmony_ci destination of fragment operations as described in Chapter 4. 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci By allowing the use of a framebuffer-attachable image as a rendering 715bd8deadSopenharmony_ci destination, this extension enables a form of "offscreen" rendering. 725bd8deadSopenharmony_ci Furthermore, "render to texture" is supported by allowing the images 735bd8deadSopenharmony_ci of a texture to be used as framebuffer-attachable images. A 745bd8deadSopenharmony_ci particular image of a texture object is selected for use as a 755bd8deadSopenharmony_ci framebuffer-attachable image by specifying the mipmap level, cube 765bd8deadSopenharmony_ci map face (for a cube map texture) that identifies the image. 775bd8deadSopenharmony_ci The "render to texture" semantics of this extension are similar to 785bd8deadSopenharmony_ci performing traditional rendering to the framebuffer, followed 795bd8deadSopenharmony_ci immediately by a call to CopyTexSubImage. However, by using this 805bd8deadSopenharmony_ci extension instead, an application can achieve the same effect, 815bd8deadSopenharmony_ci but with the advantage that the GL can usually eliminate the data copy 825bd8deadSopenharmony_ci that would have been incurred by calling CopyTexSubImage. 835bd8deadSopenharmony_ci 845bd8deadSopenharmony_ci This extension also defines a new GL object type, called a 855bd8deadSopenharmony_ci "renderbuffer", which encapsulates a single 2D pixel image. The 865bd8deadSopenharmony_ci image of renderbuffer can be used as a framebuffer-attachable image 875bd8deadSopenharmony_ci for generalized offscreen rendering and it also provides a means to 885bd8deadSopenharmony_ci support rendering to GL logical buffer types which have no 895bd8deadSopenharmony_ci corresponding texture format (stencil, etc). A renderbuffer 905bd8deadSopenharmony_ci is similar to a texture in that both renderbuffers and textures can 915bd8deadSopenharmony_ci be independently allocated and shared among multiple contexts. The 925bd8deadSopenharmony_ci framework defined by this extension is general enough that support 935bd8deadSopenharmony_ci for attaching images from GL objects other than textures and 945bd8deadSopenharmony_ci renderbuffers could be added by layered extensions. 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci To facilitate efficient switching between collections of 975bd8deadSopenharmony_ci framebuffer-attachable images, this extension introduces another new 985bd8deadSopenharmony_ci GL object, called a framebuffer object. A framebuffer object 995bd8deadSopenharmony_ci contains the state that defines the traditional GL framebuffer, 1005bd8deadSopenharmony_ci including its set of images. Prior to this extension, it was the 1015bd8deadSopenharmony_ci window-system which defined and managed this collection of images, 1025bd8deadSopenharmony_ci traditionally by grouping them into a "drawable". The window-system 1035bd8deadSopenharmony_ci APIs would also provide a function (i.e., eglMakeCurrent) to bind a 1045bd8deadSopenharmony_ci drawable with a GL context. In this extension, however, this 1055bd8deadSopenharmony_ci functionality is subsumed by the GL and the GL provides the function 1065bd8deadSopenharmony_ci BindFramebufferOES to bind a framebuffer object to the current context. 1075bd8deadSopenharmony_ci Later, the context can bind back to the window-system-provided framebuffer 1085bd8deadSopenharmony_ci in order to display rendered content. 1095bd8deadSopenharmony_ci 1105bd8deadSopenharmony_ci Previous extensions that enabled rendering to a texture have been 1115bd8deadSopenharmony_ci much more complicated. One example is the combination of 1125bd8deadSopenharmony_ci ARB_pbuffer and ARB_render_texture, both of which are window-system 1135bd8deadSopenharmony_ci extensions. This combination requires calling MakeCurrent, an 1145bd8deadSopenharmony_ci operation that may be expensive, to switch between the window and 1155bd8deadSopenharmony_ci the pbuffer drawables. An application must create one pbuffer per 1165bd8deadSopenharmony_ci renderable texture in order to portably use ARB_render_texture. An 1175bd8deadSopenharmony_ci application must maintain at least one GL context per texture 1185bd8deadSopenharmony_ci format, because each context can only operate on a single 1195bd8deadSopenharmony_ci pixelformat or FBConfig. All of these characteristics make 1205bd8deadSopenharmony_ci ARB_render_texture both inefficient and cumbersome to use. 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci OES_framebuffer_object, on the other hand, is both simpler to use 1235bd8deadSopenharmony_ci and more efficient than ARB_render_texture. The 1245bd8deadSopenharmony_ci OES_framebuffer_object API is contained wholly within the GL API and 1255bd8deadSopenharmony_ci has no (non-portable) window-system components. Under 1265bd8deadSopenharmony_ci OES_framebuffer_object, it is not necessary to create a second GL 1275bd8deadSopenharmony_ci context when rendering to a texture image whose format differs from 1285bd8deadSopenharmony_ci that of the window. Finally, unlike the pbuffers of 1295bd8deadSopenharmony_ci ARB_render_texture, a single framebuffer object can facilitate 1305bd8deadSopenharmony_ci rendering to an unlimited number of texture objects. 1315bd8deadSopenharmony_ci 1325bd8deadSopenharmony_ci Please refer to the EXT_framebuffer_object extension for a 1335bd8deadSopenharmony_ci detailed explaination of how framebuffer objects are supposed to work, 1345bd8deadSopenharmony_ci the issues and their resolution. This extension can be found at 1355bd8deadSopenharmony_ci http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_object.txt 1365bd8deadSopenharmony_ci 1375bd8deadSopenharmony_ciIssues 1385bd8deadSopenharmony_ci 1395bd8deadSopenharmony_ci 1) This extension should fold in the language developed for the 1405bd8deadSopenharmony_ci "full" OpenGL ES Specifications; the current difference form is 1415bd8deadSopenharmony_ci somewhat confusing, particularly since the additional optional 1425bd8deadSopenharmony_ci renderbuffer formats defined by layered extensions are not 1435bd8deadSopenharmony_ci documented properly. 1445bd8deadSopenharmony_ci 1455bd8deadSopenharmony_ci The normal way of writing this would be to omit all mention of 1465bd8deadSopenharmony_ci these formats from the base extension, and in the layered 1475bd8deadSopenharmony_ci extensions, state that they are added to the appropriate table or 1485bd8deadSopenharmony_ci section of the extension. Instead, they are listed as optional 1495bd8deadSopenharmony_ci here, and the layered extensions are underspecified. 1505bd8deadSopenharmony_ci 1515bd8deadSopenharmony_ciNew Procedures and Functions 1525bd8deadSopenharmony_ci 1535bd8deadSopenharmony_ci boolean IsRenderbufferOES(uint renderbuffer); 1545bd8deadSopenharmony_ci void BindRenderbufferOES(enum target, uint renderbuffer); 1555bd8deadSopenharmony_ci void DeleteRenderbuffersOES(sizei n, const uint *renderbuffers); 1565bd8deadSopenharmony_ci void GenRenderbuffersOES(sizei n, uint *renderbuffers); 1575bd8deadSopenharmony_ci 1585bd8deadSopenharmony_ci void RenderbufferStorageOES(enum target, enum internalformat, 1595bd8deadSopenharmony_ci sizei width, sizei height); 1605bd8deadSopenharmony_ci 1615bd8deadSopenharmony_ci void GetRenderbufferParameterivOES(enum target, enum pname, int* params); 1625bd8deadSopenharmony_ci 1635bd8deadSopenharmony_ci boolean IsFramebufferOES(uint framebuffer); 1645bd8deadSopenharmony_ci void BindFramebufferOES(enum target, uint framebuffer); 1655bd8deadSopenharmony_ci void DeleteFramebuffersOES(sizei n, const uint *framebuffers); 1665bd8deadSopenharmony_ci void GenFramebuffersOES(sizei n, uint *framebuffers); 1675bd8deadSopenharmony_ci 1685bd8deadSopenharmony_ci enum CheckFramebufferStatusOES(enum target); 1695bd8deadSopenharmony_ci 1705bd8deadSopenharmony_ci void FramebufferTexture2DOES(enum target, enum attachment, 1715bd8deadSopenharmony_ci enum textarget, uint texture, 1725bd8deadSopenharmony_ci int level); 1735bd8deadSopenharmony_ci 1745bd8deadSopenharmony_ci void FramebufferRenderbufferOES(enum target, enum attachment, 1755bd8deadSopenharmony_ci enum renderbuffertarget, uint renderbuffer); 1765bd8deadSopenharmony_ci 1775bd8deadSopenharmony_ci void GetFramebufferAttachmentParameterivOES(enum target, enum attachment, 1785bd8deadSopenharmony_ci enum pname, int *params); 1795bd8deadSopenharmony_ci 1805bd8deadSopenharmony_ci void GenerateMipmapOES(enum target); 1815bd8deadSopenharmony_ci 1825bd8deadSopenharmony_ciNew Tokens 1835bd8deadSopenharmony_ci 1845bd8deadSopenharmony_ci Accepted by the <target> parameter of BindFramebufferOES, 1855bd8deadSopenharmony_ci CheckFramebufferStatusOES, FramebufferTexture{2D|3D}OES, 1865bd8deadSopenharmony_ci FramebufferRenderbufferOES, and 1875bd8deadSopenharmony_ci GetFramebufferAttachmentParameterivOES: 1885bd8deadSopenharmony_ci 1895bd8deadSopenharmony_ci FRAMEBUFFER_OES 0x8D40 1905bd8deadSopenharmony_ci 1915bd8deadSopenharmony_ci Accepted by the <target> parameter of BindRenderbufferOES, 1925bd8deadSopenharmony_ci RenderbufferStorageOES, and GetRenderbufferParameterivOES, and 1935bd8deadSopenharmony_ci returned by GetFramebufferAttachmentParameterivOES: 1945bd8deadSopenharmony_ci 1955bd8deadSopenharmony_ci RENDERBUFFER_OES 0x8D41 1965bd8deadSopenharmony_ci 1975bd8deadSopenharmony_ci Accepted by the <internalformat> parameter of 1985bd8deadSopenharmony_ci RenderbufferStorageOES: 1995bd8deadSopenharmony_ci 2005bd8deadSopenharmony_ci DEPTH_COMPONENT16_OES 0x81A5 2015bd8deadSopenharmony_ci RGBA4_OES 0x8056 2025bd8deadSopenharmony_ci RGB5_A1_OES 0x8057 2035bd8deadSopenharmony_ci RGB565_OES 0x8D62 2045bd8deadSopenharmony_ci STENCIL_INDEX1_OES 0x8D46 2055bd8deadSopenharmony_ci STENCIL_INDEX4_OES 0x8D47 2065bd8deadSopenharmony_ci STENCIL_INDEX8_OES 0x8D48 2075bd8deadSopenharmony_ci 2085bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetRenderbufferParameterivOES: 2095bd8deadSopenharmony_ci 2105bd8deadSopenharmony_ci RENDERBUFFER_WIDTH_OES 0x8D42 2115bd8deadSopenharmony_ci RENDERBUFFER_HEIGHT_OES 0x8D43 2125bd8deadSopenharmony_ci RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44 2135bd8deadSopenharmony_ci RENDERBUFFER_RED_SIZE_OES 0x8D50 2145bd8deadSopenharmony_ci RENDERBUFFER_GREEN_SIZE_OES 0x8D51 2155bd8deadSopenharmony_ci RENDERBUFFER_BLUE_SIZE_OES 0x8D52 2165bd8deadSopenharmony_ci RENDERBUFFER_ALPHA_SIZE_OES 0x8D53 2175bd8deadSopenharmony_ci RENDERBUFFER_DEPTH_SIZE_OES 0x8D54 2185bd8deadSopenharmony_ci RENDERBUFFER_STENCIL_SIZE_OES 0x8D55 2195bd8deadSopenharmony_ci 2205bd8deadSopenharmony_ci Accepted by the <pname> parameter of 2215bd8deadSopenharmony_ci GetFramebufferAttachmentParameterivOES: 2225bd8deadSopenharmony_ci 2235bd8deadSopenharmony_ci FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0 2245bd8deadSopenharmony_ci FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1 2255bd8deadSopenharmony_ci FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2 2265bd8deadSopenharmony_ci FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3 2275bd8deadSopenharmony_ci FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 2285bd8deadSopenharmony_ci 2295bd8deadSopenharmony_ci Accepted by the <attachment> parameter of 2305bd8deadSopenharmony_ci FramebufferTexture{2D|3D}OES, FramebufferRenderbufferOES, and 2315bd8deadSopenharmony_ci GetFramebufferAttachmentParameterivOES 2325bd8deadSopenharmony_ci 2335bd8deadSopenharmony_ci COLOR_ATTACHMENT0_OES 0x8CE0 2345bd8deadSopenharmony_ci DEPTH_ATTACHMENT_OES 0x8D00 2355bd8deadSopenharmony_ci STENCIL_ATTACHMENT_OES 0x8D20 2365bd8deadSopenharmony_ci 2375bd8deadSopenharmony_ci Returned by GetFramebufferAttachmentParameterivOES when the 2385bd8deadSopenharmony_ci <pname> parameter is FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES: 2395bd8deadSopenharmony_ci 2405bd8deadSopenharmony_ci GL_NONE_OES 0 2415bd8deadSopenharmony_ci 2425bd8deadSopenharmony_ci Returned by CheckFramebufferStatusOES(): 2435bd8deadSopenharmony_ci 2445bd8deadSopenharmony_ci FRAMEBUFFER_COMPLETE_OES 0x8CD5 2455bd8deadSopenharmony_ci FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6 2465bd8deadSopenharmony_ci FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7 2475bd8deadSopenharmony_ci FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9 2485bd8deadSopenharmony_ci FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA 2495bd8deadSopenharmony_ci FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES 0x8CDB 2505bd8deadSopenharmony_ci FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES 0x8CDC 2515bd8deadSopenharmony_ci FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD 2525bd8deadSopenharmony_ci 2535bd8deadSopenharmony_ci Accepted by GetIntegerv(): 2545bd8deadSopenharmony_ci 2555bd8deadSopenharmony_ci FRAMEBUFFER_BINDING_OES 0x8CA6 2565bd8deadSopenharmony_ci RENDERBUFFER_BINDING_OES 0x8CA7 2575bd8deadSopenharmony_ci MAX_RENDERBUFFER_SIZE_OES 0x84E8 2585bd8deadSopenharmony_ci 2595bd8deadSopenharmony_ci Returned by GetError(): 2605bd8deadSopenharmony_ci 2615bd8deadSopenharmony_ci INVALID_FRAMEBUFFER_OPERATION_OES 0x0506 2625bd8deadSopenharmony_ci 2635bd8deadSopenharmony_ciOES_framebuffer_object implements the functionality defined by EXT_framebuffer_object 2645bd8deadSopenharmony_ciwith the following limitations: 2655bd8deadSopenharmony_ci 2665bd8deadSopenharmony_ci - EXT versions of the entry points and tokens used by the desktop 2675bd8deadSopenharmony_ci extension are replaced with OES-suffixed versions, and GL_NONE is 2685bd8deadSopenharmony_ci replaced with GL_NONE_OES. 2695bd8deadSopenharmony_ci 2705bd8deadSopenharmony_ci - there is no support for DrawBuffer{s}, ReadBuffer{s}, or multiple 2715bd8deadSopenharmony_ci color attachments; tokens COLOR_ATTACHMENT[1-15]_OES and 2725bd8deadSopenharmony_ci MAX_COLOR_ATTACHMENTS_OES are not supported. 2735bd8deadSopenharmony_ci 2745bd8deadSopenharmony_ci - FramebufferTexture2DOES can be used to render 2755bd8deadSopenharmony_ci directly into the base level of a texture image only. Rendering to any 2765bd8deadSopenharmony_ci mip-level other than the base level is not supported. 2775bd8deadSopenharmony_ci 2785bd8deadSopenharmony_ci - FramebufferTexture3DOES is optionally supported and is implemented only 2795bd8deadSopenharmony_ci if OES_texture_3D string is defined in the EXTENSIONS string returned by 2805bd8deadSopenharmony_ci OpenGL ES. 2815bd8deadSopenharmony_ci 2825bd8deadSopenharmony_ci - section 4.4.2.1 of the EXT_framebuffer_object spec describes the function 2835bd8deadSopenharmony_ci RenderbufferStorageEXT. This function establishes the data storage, format, 2845bd8deadSopenharmony_ci and dimensions of a renderbuffer object's image. <target> must be 2855bd8deadSopenharmony_ci RENDERBUFFER_EXT. <internalformat> must be one of the internal formats 2865bd8deadSopenharmony_ci from table 3.16 or table 2.nnn which has a base internal format of RGB, RGBA, 2875bd8deadSopenharmony_ci DEPTH_COMPONENT, or STENCIL_INDEX. 2885bd8deadSopenharmony_ci 2895bd8deadSopenharmony_ci The above paragraph is modified by OES_framebuffer_object and states thus: 2905bd8deadSopenharmony_ci 2915bd8deadSopenharmony_ci "This function establishes the data storage, format, and 2925bd8deadSopenharmony_ci dimensions of a renderbuffer object's image. <target> must be RENDERBUFFER_OES. 2935bd8deadSopenharmony_ci <internalformat> must be one of the sized internal formats from the following 2945bd8deadSopenharmony_ci table which has a base internal format of RGB, RGBA, DEPTH_COMPONENT, 2955bd8deadSopenharmony_ci or STENCIL_INDEX" 2965bd8deadSopenharmony_ci 2975bd8deadSopenharmony_ci The following formats are required: 2985bd8deadSopenharmony_ci 2995bd8deadSopenharmony_ci Sized Base 3005bd8deadSopenharmony_ci Internal Format Internal format 3015bd8deadSopenharmony_ci --------------- --------------- 3025bd8deadSopenharmony_ci RGB565_OES RGB 3035bd8deadSopenharmony_ci RGBA4_OES RGBA 3045bd8deadSopenharmony_ci RGB5_A1_OES RGBA 3055bd8deadSopenharmony_ci DEPTH_COMPONENT16_OES DEPTH_COMPONENT 3065bd8deadSopenharmony_ci 3075bd8deadSopenharmony_ci The following formats are optional: 3085bd8deadSopenharmony_ci 3095bd8deadSopenharmony_ci Sized Base 3105bd8deadSopenharmony_ci Internal Format Internal format 3115bd8deadSopenharmony_ci --------------------- --------------- 3125bd8deadSopenharmony_ci RGBA8_OES RGBA 3135bd8deadSopenharmony_ci RGB8_OES RGB 3145bd8deadSopenharmony_ci DEPTH_COMPONENT24_OES DEPTH_COMPONENT 3155bd8deadSopenharmony_ci DEPTH_COMPONENT32_OES DEPTH_COMPONENT 3165bd8deadSopenharmony_ci STENCIL_INDEX1_OES STENCIL_INDEX 3175bd8deadSopenharmony_ci STENCIL_INDEX4_OES STENCIL_INDEX 3185bd8deadSopenharmony_ci STENCIL_INDEX8_OES STENCIL_INDEX 3195bd8deadSopenharmony_ci 3205bd8deadSopenharmony_ciDependencies on OES_rgb8_rgba8 3215bd8deadSopenharmony_ci 3225bd8deadSopenharmony_ci The RGB8_OES and RGBA8_OES <internalformat> parameters to 3235bd8deadSopenharmony_ci RenderbufferStorageOES are only valid if OES_rgb8_rgba8 is 3245bd8deadSopenharmony_ci supported. 3255bd8deadSopenharmony_ci 3265bd8deadSopenharmony_ciDependencies on OES_depth24 3275bd8deadSopenharmony_ci 3285bd8deadSopenharmony_ci The DEPTH_COMPONENT24_OES <internalformat> parameter to 3295bd8deadSopenharmony_ci RenderbufferStorageOES is only valid if OES_depth24 is supported. 3305bd8deadSopenharmony_ci 3315bd8deadSopenharmony_ciDependencies on OES_depth32 3325bd8deadSopenharmony_ci 3335bd8deadSopenharmony_ci The DEPTH_COMPONENT32_OES <internalformat> parameter to 3345bd8deadSopenharmony_ci RenderbufferStorageOES is only valid if OES_depth32 is supported. 3355bd8deadSopenharmony_ci 3365bd8deadSopenharmony_ciDependencies on OES_stencil1 3375bd8deadSopenharmony_ci 3385bd8deadSopenharmony_ci The STENCIL_INDEX1_OES <internalformat> parameter to 3395bd8deadSopenharmony_ci RenderbufferStorageOES is only valid if OES_stencil1 is supported. 3405bd8deadSopenharmony_ci 3415bd8deadSopenharmony_ciDependencies on OES_stencil4 3425bd8deadSopenharmony_ci 3435bd8deadSopenharmony_ci The STENCIL_INDEX4_OES <internalformat> parameter to 3445bd8deadSopenharmony_ci RenderbufferStorageOES is only valid if OES_stencil4 is supported. 3455bd8deadSopenharmony_ci 3465bd8deadSopenharmony_ciDependencies on OES_stencil8 3475bd8deadSopenharmony_ci 3485bd8deadSopenharmony_ci The STENCIL_INDEX8_OES <internalformat> parameter to 3495bd8deadSopenharmony_ci RenderbufferStorageOES is only valid if OES_stencil8 is supported. 3505bd8deadSopenharmony_ci 3515bd8deadSopenharmony_ciErrors 3525bd8deadSopenharmony_ci 3535bd8deadSopenharmony_ci INVALID_ENUM is generated if RenderbufferStorageOES is called with 3545bd8deadSopenharmony_ci an unsupported <internalformat>. 3555bd8deadSopenharmony_ci 3565bd8deadSopenharmony_ciRevision History 3575bd8deadSopenharmony_ci 3585bd8deadSopenharmony_ci 02/25/2005 Aaftab Munshi First draft of extension 3595bd8deadSopenharmony_ci 04/27/2005 Aaftab Munshi Added additional limitations to simplify 3605bd8deadSopenharmony_ci OES_framebuffer_object implementations 3615bd8deadSopenharmony_ci 07/06/2005 Aaftab Munshi Added GetRenderbufferStorageFormatsOES 3625bd8deadSopenharmony_ci removed limitations that were added to OES 3635bd8deadSopenharmony_ci version of RenderbufferStorage, 3645bd8deadSopenharmony_ci and FramebufferTexture2DOES. 3655bd8deadSopenharmony_ci 07/07/2005 Aaftab Munshi Removed GetRenderbufferStorageFormatsOES 3665bd8deadSopenharmony_ci after discussions with Jeremy Sandmel, 3675bd8deadSopenharmony_ci and added specific extensions for the 3685bd8deadSopenharmony_ci optional renderbuffer storage foramts 3695bd8deadSopenharmony_ci 07/18/2005 Aaftab Munshi Added comment that optional formats can 3705bd8deadSopenharmony_ci be mandated by OpenGL ES APIs. 3715bd8deadSopenharmony_ci 06/03/2006 Aaftab Munshi Sync to revision 118 of EXT_framebuffer_object 3725bd8deadSopenharmony_ci 04/22/2007 Jon Leech Restore RGB565_OES to "New Tokens" section. 3735bd8deadSopenharmony_ci 03/26/2008 Jon Leech Add NONE_OES to "New Tokens" and use it 3745bd8deadSopenharmony_ci instead of the non-existent (in ES 1.x) NONE. 3755bd8deadSopenharmony_ci 04/01/2008 Ben Bowman, Remove COLOR_ATTACHMENT[1-15]_OES and 3765bd8deadSopenharmony_ci Jon Leech MAX_COLOR_ATTACHMENTS_OES to match the 3775bd8deadSopenharmony_ci latest headers. 3785bd8deadSopenharmony_ci 04/10/2008 Jon Leech Add enum values and fix names for 3795bd8deadSopenharmony_ci RGBA4_OES, RGB5_A1_OES, and 3805bd8deadSopenharmony_ci DEPTH_COMPONENT16_OES. Add issues 3815bd8deadSopenharmony_ci list. Improve documentation of 3825bd8deadSopenharmony_ci interaction with document interactions 3835bd8deadSopenharmony_ci with optional optional layered 3845bd8deadSopenharmony_ci renderbuffer format extensions. 385