<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<!-- saved from url=(0013)about:internet -->
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns:xlink="http://www.w3.org/1999/xlink" pref:renderer="mathplayer-dl">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <style xmlns="" type="text/css">
    /* This style sets a margin around the entire page */
        html, body {
            margin: 10px;
        }

        p {
            font: normal 16px verdana, sans-serif;
            margin: 0;
            padding-bottom:12px;
        }

        h1 {
            font: bold 25px verdana, sans-serif;
            margin-top: 0;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        h2 {
            font: bold 19px verdana, sans-serif;
            margin-top: 28px;
            margin-bottom: 3px;
            padding-top: 0; 
            padding-bottom: 0;
        }

        h3 {
            font: bold 19px verdana, sans-serif !important;
            margin-top: 28px;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        li {
            font: normal 16px verdana, sans-serif;
            margin-top: 0;
            margin-bottom: 18px;
            padding-top: 0;
            padding-bottom: 0;
        }

        .pdparam {
            font: italic 16px verdana, sans-serif;
        }
                
                .term {
                        font: italic 16px verdana, sans-serif;
                        font-weight: normal;
                }       
                
                .type {
                        font: normal 16px verdana, sans-serif !important;
                }                       
                
                .parameter { 
                        font-style: italic; 
                        }

        a:link, a:visited {
            color: blue;
            text-decoration: none;
            font: normal 16px;
        }

        a:hover {
            background-color: #FFFF99;
            font: normal 16px;
        }

        div.funcsynopsis {
            text-align: left;
            background-color: #e6e6e6;
            font: normal 16px verdana, sans-serif;
                        padding-top: 10px;
                        padding-bottom: 10px;
        }

        div.funcsynopsis table {
            border-collapse: separate;
            font: normal 16px verdana, sans-serif;
        }

        div.funcsynopsis td {
            background-color: #e6e6e6;
            border: 0 solid #000;
            padding: 1px;
            font: normal 16px verdana, sans-serif;
        }

        div.refsect1 {
            font-family: verdana, sans-serif;
            font-size: 16px;
        }

        code.constant {
            font: normal 16px courier new, monospace !important;
        }
                
                span.errorname {
            font: normal 16px verdana, sans-serif !important;
        }

        code.function {
            font: bold 16px verdana, sans-serif !important;
        }
                
        b.fsfunc {
            font: bold 16px verdana, sans-serif !important;
        }
                
        code.varname {
            font: italic 16px verdana, sans-serif;
        }

        code.replaceable {
            font: italic 16px courier new, monospace;
        }

        code.funcdef {
            font: normal 16px verdana, sans-serif !important;
        }

        .citerefentry {
            font: normal 16px verdana, sans-serif !important;
        }

        .parameter {
            font-style: italic;
        }

        code.fsfunc {
            font: normal 16px verdana, sans-serif !important;
        }

        /* PARAMETER: This style controls spacing between the terms in Parameter section */
        dt {
            margin-top: 15px;
        }

        /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */
        div.refsect1 table {
            width: 100%;
                        margin-top: 10px;
            background-color: #FFF;
                        border-collapse: collapse;
                        border-color: #000;
            border-width: 1px;
                        font: normal 16px verdana, sans-serif;
        }
                
        div.refsect1 th {
                        border-collapse: collapse;
                        border-color: #000;
            border-width: 1px;
            font: bold 16px verdana, sans-serif;
        }
                
        div.refsect1 td {
            background-color: #FFF;
            padding: 5px;
            vertical-align: text-top;
                        border-collapse: collapse;
                        border-color: #000;
            border-width: 1px;
            font: normal 16px verdana, sans-serif;
        }
                
                  div.refsect1 p{
            font: normal 16px verdana, sans-serif;
            margin-top: 8px;
            margin-bottom: 8px;
            padding-top: 0;
            padding-bottom: 0;
        }
                

        /* EXAMPLE: These styles apply only to the Example section */
        div.refsect2 {
            font: normal 16px courier new, monospace !important;
        }

        div.refsect2 table {
            margin-top: 0;
            background-color: #e6e6e6;
            width: 100%;
            border: 0 solid #000;
            padding: 2px;
            font: normal 16px courier new, monospace !important;
        }

        div.refsect2 td {
            background-color: #e6e6e6;
            font: normal 16px courier new, monospace !important;
                        white-space:pre;
        }

        /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */
        div.refsect3 {
            font: normal 11px verdana, sans-serif;
            margin-top: 50px;
            margin-bottom: 20px;
            padding-top: 0;
            padding-bottom: 0;
        }
                                        
</style>
    <title>eglBindTexImage</title>
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
  </head>
  <body>
    <div class="refentry">
      <a id="eglBindTexImage"></a>
      <div class="titlepage"></div>
      <div xmlns="" class="refnamediv">
        <h1>eglBindTexImage</h1>
        <p>
            Defines a two-dimensional texture image
        </p>
      </div>
      <div class="refsynopsisdiv">
        <h2>C Specification</h2>
        <div class="funcsynopsis">
          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
            <tr valign="bottom">
              <td>
                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">EGLBoolean <strong class="fsfunc">eglBindTexImage</strong>(</code>
                <td>EGLDisplay  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">display</var>, </td>
              </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>EGLSurface  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">surface</var>, </td>
            </tr>
            <tr valign="top">
              <td> </td>
              <td>EGLint  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">buffer</var><code>)</code></td>
            </tr>
          </table>
        </div>
      </div>
      <div class="refsect1">
        <a id="parameters"></a>
        <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">
        <a id="description"></a>
        <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.html"><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.html"><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.html"><span class="citerefentry"><span class="refentrytitle">glReadPixels</span></span></a> or
            <a class="citerefentry" href="eglCopyBuffers.html"><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">
        <a id="notes"></a>
        <h2>Notes</h2>
        <p>
            <a class="citerefentry" href="eglSwapBuffers.html"><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.html"><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.html"><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.html"><span class="citerefentry"><span class="refentrytitle">glTexImage2D</span></span></a> or
            <a class="citerefentry" href="glCopyTexImage2D.html"><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">
        <a id="errors"></a>
        <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">
        <a id="seealso"></a>
        <h2>See Also</h2>
        <p>
            <a class="citerefentry" href="eglReleaseTexImage.html"><span class="citerefentry"><span class="refentrytitle">eglReleaseTexImage</span></span></a>
        </p>
      </div>
      <div xmlns="" class="refsect3" lang="en" xml:lang="en"><a xmlns="http://www.w3.org/1999/xhtml" id="Copyright"></a><h4 xmlns="http://www.w3.org/1999/xhtml"></h4><img xmlns="http://www.w3.org/1999/xhtml" src="KhronosLogo.jpg" /><p xmlns="http://www.w3.org/1999/xhtml"></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.
</div>
    </div>
  </body>
</html>
