This extension provides a new command, DiscardFramebufferEXT, which causes the contents of the named framebuffer attachable images to become undefined. The contents of the specified buffers are undefined until a subsequent operation modifies the content, and only the modified region is guaranteed to hold valid content. Effective usage of this command may provide an implementation with new optimization opportunities.
Some OpenGL ES implementations cache framebuffer images in a small pool of fast memory. Before rendering, these implementations must load the existing contents of one or more of the logical buffers (color, depth, stencil, etc.) into this memory. After rendering, some or all of these buffers are likewise stored back to external memory so their contents can be used again in the future. In many applications, some or all of the logical buffers are cleared at the start of rendering. If so, the effort to load or store those buffers is wasted.
Even without this extension, if a frame of rendering begins with a full- screen Clear, an OpenGL ES implementation may optimize away the loading of framebuffer contents prior to rendering the frame. With this extension, an application can use DiscardFramebufferEXT to signal that framebuffer contents will no longer be needed. In this case an OpenGL ES implementation may also optimize away the storing back of framebuffer contents after rendering the frame.
Requires GLES 2.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | GL_COLOR_EXT
Accepted in the |
| public static final int | GL_DEPTH_EXT
Accepted in the |
| public static final int | GL_STENCIL_EXT
Accepted in the |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static void | |
| public static void | |
| public static void | |
| public static native void |
| GL_COLOR_EXT | back to summary |
|---|---|
| public static final int GL_COLOR_EXT Accepted in the | |
| GL_DEPTH_EXT | back to summary |
|---|---|
| public static final int GL_DEPTH_EXT Accepted in the | |
| GL_STENCIL_EXT | back to summary |
|---|---|
| public static final int GL_STENCIL_EXT Accepted in the | |
| EXTDiscardFramebuffer | back to summary |
|---|---|
| protected EXTDiscardFramebuffer() | |
| glDiscardFramebufferEXT | back to summary |
|---|---|
| public static void glDiscardFramebufferEXT(int target, IntBuffer attachments) | |
| glDiscardFramebufferEXT | back to summary |
|---|---|
| public static void glDiscardFramebufferEXT(int target, int attachment) | |
| glDiscardFramebufferEXT | back to summary |
|---|---|
| public static void glDiscardFramebufferEXT(int target, int[] attachments) Array version of: | |
| nglDiscardFramebufferEXT | back to summary |
|---|---|
| public static native void nglDiscardFramebufferEXT(int target, int numAttachments, long attachments) | |