| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> | |
| <head> | |
| <title xmlns:xlink="http://www.w3.org/1999/xlink">eglBindTexImage - EGL Reference Pages</title> | |
| <link rel="stylesheet" type="text/css" href="khronos-man.css"/> | |
| <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/> | |
| </head> | |
| <body> | |
| <header/> | |
| <div class="refentry" id="eglBindTexImage"> | |
| <div class="titlepage"/> | |
| <div class="refnamediv"> | |
| <h2>Name</h2> | |
| <p>eglBindTexImage — | |
| Defines a two-dimensional texture image | |
| </p> | |
| </div> | |
| <div class="refsynopsisdiv"> | |
| <h2>C Specification</h2> | |
| <div class="funcsynopsis"> | |
| <table style="border: 0; cellspacing: 0; cellpadding: 0;" class="funcprototype-table"> | |
| <tr> | |
| <td> | |
| <code class="funcdef">EGLBoolean <strong class="fsfunc">eglBindTexImage</strong>(</code> | |
| </td> | |
| <td>EGLDisplay <var class="pdparam">display</var>, </td> | |
| </tr> | |
| <tr> | |
| <td> </td> | |
| <td>EGLSurface <var class="pdparam">surface</var>, </td> | |
| </tr> | |
| <tr> | |
| <td> </td> | |
| <td>EGLint <var class="pdparam">buffer</var><code>)</code>;</td> | |
| </tr> | |
| </table> | |
| <div class="funcprototype-spacer"> </div> | |
| </div> | |
| </div> | |
| <div class="refsect1" id="parameters"> | |
| <h2>Parameters</h2> | |
| <div class="variablelist"> | |
| <dl class="variablelist"> | |
| <dt> | |
| <span class="term"> | |
| <em class="parameter"> | |
| <code>display</code> | |
| </em> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p>Specifies the EGL display connection.</p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <em class="parameter"> | |
| <code>surface</code> | |
| </em> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the EGL surface. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <em class="parameter"> | |
| <code>buffer</code> | |
| </em> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p>Specifies the texture image data.</p> | |
| </dd> | |
| </dl> | |
| </div> | |
| </div> | |
| <div class="refsect1" id="description"> | |
| <h2>Description</h2> | |
| <p> | |
| The texture image consists of the image data in <em class="parameter"><code>buffer</code></em> for the specified surface, and need not be copied. | |
| </p> | |
| <p> | |
| The texture target, the texture format and the size of the texture components are derived from | |
| attributes of the specified surface, which must be a pbuffer supporting one of the | |
| <code class="constant">EGL_BIND_TO_TEXTURE_RGB</code> or <code class="constant">EGL_BIND_TO_TEXTURE_RGBA</code> attributes. | |
| </p> | |
| <p> | |
| The pbuffer attribute <code class="constant">EGL_TEXTURE_FORMAT</code> determines the base internal format | |
| of the texture. | |
| </p> | |
| <p> | |
| The texture target is derived from the <code class="constant">EGL_TEXTURE_TARGET</code> attribute of surface. | |
| If the attribute value is <code class="constant">EGL_TEXTURE_2D</code>, then <em class="parameter"><code>buffer</code></em> defines a texture for | |
| the two-dimensional texture object which is bound to the current context (hereafter | |
| referred to as the current texture object). | |
| </p> | |
| <p> | |
| If <em class="parameter"><code>display</code></em> and <em class="parameter"><code>surface</code></em> are the display and surface for the calling thread's current | |
| context, <code class="function">eglBindTexImage</code> performs an implicit <a class="citerefentry" href="glFlush.xhtml"><span class="citerefentry"><span class="refentrytitle">glFlush</span></span></a>. | |
| For other surfaces, <code class="function">eglBindTexImage</code> waits for all effects from previously issued OpenGL ES commands | |
| drawing to the surface to complete before defining the texture image, as | |
| though <a class="citerefentry" href="glFinish.xhtml"><span class="citerefentry"><span class="refentrytitle">glFinish</span></span></a> were called on the last context to which that surface were bound. | |
| </p> | |
| <p> | |
| After <code class="function">eglBindTexImage</code> is called, the specified surface is no longer available | |
| for reading or writing. Any read operation, such as <a class="citerefentry" href="glReadPixels.xhtml"><span class="citerefentry"><span class="refentrytitle">glReadPixels</span></span></a> or | |
| <a class="citerefentry" href="eglCopyBuffers.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCopyBuffers</span></span></a>, which reads values from any of the surface's color buffers or ancillary | |
| buffers will produce indeterminate results. In addition, draw operations that are | |
| done to the surface before its color buffer is released from the texture produce indeterminate | |
| results. Specifically, if the surface is current to a context and thread | |
| then rendering commands will be processed and the context state will be updated, | |
| but the surface may or may not be written. | |
| </p> | |
| <p> | |
| Texture mipmap levels are automatically generated when all of the following | |
| conditions are met while calling <code class="function">eglBindTexImage</code>: | |
| </p> | |
| <div class="itemizedlist"> | |
| <ul class="itemizedlist" style="list-style-type: disc; "> | |
| <li class="listitem"> | |
| <p> | |
| The <code class="constant">EGL_MIPMAP_TEXTURE</code> attribute of the pbuffer being bound is | |
| <code class="constant">EGL_TRUE</code>. | |
| </p> | |
| </li> | |
| <li class="listitem"> | |
| <p> | |
| The OpenGL ES texture parameter <code class="constant">GL_GENERATE_MIPMAP</code> is <code class="constant">GL_TRUE</code> for | |
| the currently bound texture. | |
| </p> | |
| </li> | |
| <li class="listitem"> | |
| <p> | |
| The value of the <code class="constant">EGL_MIPMAP_LEVEL</code> attribute of the pbuffer being bound is | |
| equal to the value of the texture parameter <code class="constant">GL_TEXTURE_BASE_LEVEL</code>. | |
| In this case, additional mipmap levels are generated as described in section 3.8 | |
| of the OpenGL ES 1.1 Specification. | |
| </p> | |
| </li> | |
| </ul> | |
| </div> | |
| <p> | |
| In this case, additional mipmap levels are generated as described in section 3.8 | |
| of the OpenGL ES 1.1 Specification. | |
| </p> | |
| </div> | |
| <div class="refsect1" id="notes"> | |
| <h2>Notes</h2> | |
| <p> | |
| <a class="citerefentry" href="eglSwapBuffers.xhtml"><span class="citerefentry"><span class="refentrytitle">eglSwapBuffers</span></span></a> has no effect if it is | |
| called on a bound surface. | |
| </p> | |
| <p> | |
| Any existing images associated with the different mipmap levels of the texture object | |
| are freed (it is as if <a class="citerefentry" href="glTexImage.xhtml"><span class="citerefentry"><span class="refentrytitle">glTexImage</span></span></a> | |
| was called with an image of zero width). | |
| </p> | |
| <p> | |
| The color buffer is bound to a texture object. If the texture object is | |
| shared between contexts, then the color buffer is also shared. If a texture object is | |
| deleted before <a class="citerefentry" href="eglReleaseTexImage.xhtml"><span class="citerefentry"><span class="refentrytitle">eglReleaseTexImage</span></span></a> is called, then the color buffer is released and | |
| the surface is made available for reading and writing. | |
| </p> | |
| <p> | |
| It is not an error to call <a class="citerefentry" href="glTexImage2D.xhtml"><span class="citerefentry"><span class="refentrytitle">glTexImage2D</span></span></a> or | |
| <a class="citerefentry" href="glCopyTexImage2D.xhtml"><span class="citerefentry"><span class="refentrytitle">glCopyTexImage2D</span></span></a> to replace an | |
| image of a texture object that has a color buffer bound to it. However, these calls | |
| will cause the color buffer to be released back to the surface and new memory will | |
| be allocated for the texture. Note that the color buffer is released even if the image | |
| that is being defined is a mipmap level that was not defined by the color buffer. | |
| </p> | |
| <p> | |
| <code class="function">eglBindTexImage</code> is ignored if there is no current rendering context. | |
| </p> | |
| </div> | |
| <div class="refsect1" id="errors"> | |
| <h2>Errors</h2> | |
| <p> | |
| <code class="constant">EGL_BAD_ACCESS</code> is generated if | |
| <em class="parameter"><code>buffer</code></em> is already bound to a texture. | |
| </p> | |
| <p> | |
| <code class="constant">EGL_BAD_MATCH</code> is generated if the | |
| surface attribute <code class="constant">EGL_TEXTURE_FORMAT</code> is | |
| set to <code class="constant">EGL_NO_TEXTURE</code>. | |
| </p> | |
| <p> | |
| <code class="constant">EGL_BAD_MATCH</code> is generated if | |
| <em class="parameter"><code>buffer</code></em> is not a valid buffer | |
| (currently only <code class="constant">EGL_BACK_BUFFER</code> may be | |
| specified). | |
| </p> | |
| <p> | |
| <code class="constant">EGL_BAD_SURFACE</code> is generated if | |
| <em class="parameter"><code>surface</code></em> is not an EGL surface, or is | |
| not a pbuffer surface supporting texture binding. | |
| </p> | |
| </div> | |
| <div class="refsect1" id="seealso"> | |
| <h2>See Also</h2> | |
| <p> | |
| <a class="citerefentry" href="eglReleaseTexImage.xhtml"><span class="citerefentry"><span class="refentrytitle">eglReleaseTexImage</span></span></a> | |
| </p> | |
| </div> | |
| <p> | |
| </p> | |
| <div class="refsect3" id="copyright"> | |
| <img src="KhronosLogo.jpg"/> | |
| <p> | |
| Copyright © 2003-2014 The Khronos Group Inc. | |
| Permission is hereby granted, free of charge, to any person obtaining a | |
| copy of this software and/or associated documentation files (the | |
| "Materials"), to deal in the Materials without restriction, including | |
| without limitation the rights to use, copy, modify, merge, publish, | |
| distribute, sublicense, and/or sell copies of the Materials, and to | |
| permit persons to whom the Materials are furnished to do so, subject to | |
| the condition that this copyright notice and permission notice shall be included | |
| in all copies or substantial portions of the Materials. | |
| </p> | |
| </div> | |
| <p> | |
| </p> | |
| </div> | |
| <footer/> | |
| </body> | |
| </html> |