<!DOCTYPE html>
<html lang="en"> <head><meta charset="utf-8"><title>glTexImage2D - OpenGL ES 3 - docs.gl</title><link rel="shortcut icon" href="/favicon.ico"><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><link rel="stylesheet" href="../jquery-ui.css"><script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script><script src="../jquery-bonsai/jquery.bonsai.js"></script><link href="../jquery-bonsai/jquery.bonsai.css" rel="stylesheet" type="text/css"><script src="../jquery-cookie/jquery.cookie.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=MML_HTMLorMML"></script><link href="../style.css" rel="stylesheet" type="text/css"><link id="pagestyle" href="../style_light.css" rel="stylesheet" type="text/css"><script>
    window.current_api = "es31";
    window.base_directory = "../";
  </script><script src="../docs.gl.search.js"></script><script src="../docs.gl.js"></script></head> <body> <div class="header-bg"> <div class="toggle-container"><a href="#" id="style_light">Light</a> | <a href="#" id="style_dark">Dark</a></div> <div class="header-container"> <div class="header-inner"> <a href="/"><h1 class="header-logo">docs.<span class="thicken">GL</span></h1></a> <input id="search" placeholder="search" size="50"><input id="search_button" type="submit" value="Go"> <span style="clear:both;"></span> </div> </div> </div> <div id="everything"> <div id="toc"> <div id="versions_container"> <select id="versions_dropdown"><option class="versions_option" value="gl21">OpenGL 2.1</option><option class="versions_option" value="gl30">OpenGL 3.0</option><option class="versions_option" value="gl31">OpenGL 3.1</option><option class="versions_option" value="gl32">OpenGL 3.2</option><option class="versions_option" value="gl33">OpenGL 3.3</option><option class="versions_option" value="gl40">OpenGL 4.0</option><option class="versions_option" value="gl41">OpenGL 4.1</option><option class="versions_option" value="gl42">OpenGL 4.2</option><option class="versions_option" value="gl43">OpenGL 4.3</option><option class="versions_option" value="gl44">OpenGL 4.4</option><option class="versions_option" value="gl45">OpenGL 4.5</option><option class="versions_option" value="es20">OpenGL ES 2.0</option><option class="versions_option" value="es30">OpenGL ES 3.0</option><option class="versions_option" value="es31" selected>OpenGL ES 3.1</option><option class="versions_option" value="sl40">GLSL 4.0</option><option class="versions_option" value="sl41">GLSL 4.1</option><option class="versions_option" value="sl42">GLSL 4.2</option><option class="versions_option" value="sl43">GLSL 4.3</option><option class="versions_option" value="sl44">GLSL 4.4</option><option class="versions_option" value="sl45">GLSL 4.5</option><option class="versions_option" value="el30">GLSL ES 3.0</option><option class="versions_option" value="el31">GLSL ES 3.1</option></select> </div> <input id="hide_deprecated" type="checkbox"> <label id="hide_label" for="hide_deprecated">Hide unavailable</label> <ul id="command_categories"><li class="category open_me es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Textures<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glActiveTexture</a></li><li><a class="rewritelink command es31 gl42 gl43 gl44 gl45">glBindImageTexture</a></li><li><a class="rewritelink command gl44 gl45">glBindImageTextures</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindTexture</a></li><li><a class="rewritelink command gl45">glBindTextureUnit</a></li><li><a class="rewritelink command gl44 gl45">glBindTextures</a></li><li><a class="rewritelink command gl44 gl45">glClearTexImage</a></li><li><a class="rewritelink command gl44 gl45">glClearTexSubImage</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCompressedTexImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCompressedTexImage2D</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCompressedTexImage3D</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCompressedTexSubImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCompressedTexSubImage2D</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCompressedTexSubImage3D</a></li><li><a class="rewritelink command gl43 gl44 gl45">glCopyImageSubData</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCopyTexImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCopyTexImage2D</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCopyTexSubImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCopyTexSubImage2D</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCopyTexSubImage3D</a></li><li><a class="rewritelink command gl45">glCreateTextures</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteTextures</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenTextures</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45 gl45">glGetCompressedTexImage</a></li><li><a class="rewritelink command gl45">glGetCompressedTextureSubImage</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45 gl45">glGetTexImage</a></li><li><a class="rewritelink command es31 es31 gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45 gl45 gl45">glGetTexLevelParameter</a></li><li><a class="rewritelink command es20 es20 es30 es30 es31 es31 gl20 gl20 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glGetTexParameter</a></li><li><a class="rewritelink command gl45">glGetTextureSubImage</a></li><li><a class="rewritelink command gl43 gl44 gl45">glInvalidateTexImage</a></li><li><a class="rewritelink command gl43 gl44 gl45">glInvalidateTexSubImage</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsTexture</a></li><li><a class="rewritelink command gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glTexBuffer</a></li><li><a class="rewritelink command gl43 gl44 gl45 gl45">glTexBufferRange</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage1D</a></li><li><a class="rewritelink command current es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage2D</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage2DMultisample</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage3D</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage3DMultisample</a></li><li><a class="rewritelink command es20 es20 es20 es20 es30 es30 es30 es30 es31 es31 es31 es31 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glTexParameter</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45 gl45">glTexStorage1D</a></li><li><a class="rewritelink command es30 es31 gl42 gl43 gl44 gl45 gl45">glTexStorage2D</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glTexStorage2DMultisample</a></li><li><a class="rewritelink command es30 es31 gl42 gl43 gl44 gl45 gl45">glTexStorage3D</a></li><li><a class="rewritelink command gl43 gl44 gl45 gl45">glTexStorage3DMultisample</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glTexSubImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glTexSubImage2D</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glTexSubImage3D</a></li><li><a class="rewritelink command gl43 gl44 gl45">glTextureView</a></li></ul></li><li class="category es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Rendering<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClear</a></li><li><a class="rewritelink command es30 es30 es30 es30 es31 es31 es31 es31 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glClearBuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClearColor</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glClearDepth</a></li><li><a class="rewritelink command es20 es30 es31">glClearDepthf</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClearStencil</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glDrawBuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glFinish</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glFlush</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glReadBuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glReadPixels</a></li></ul></li><li class="category es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl20 gl21">Frame Buffers<ul><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindFramebuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindRenderbuffer</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glBlitFramebuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCheckFramebufferStatus</a></li><li><a class="rewritelink command gl45">glCreateFramebuffers</a></li><li><a class="rewritelink command gl45">glCreateRenderbuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteFramebuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteRenderbuffers</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glDrawBuffers</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glFramebufferParameteri</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glFramebufferRenderbuffer</a></li><li><a class="rewritelink command gl30 gl30 gl30 gl31 gl31 gl31 gl32 gl32 gl32 gl33 gl33 gl33 gl40 gl40 gl40 gl41 gl41 gl41 gl42 gl42 gl42 gl43 gl43 gl43 gl44 gl44 gl44 gl45 gl45 gl45 gl45">glFramebufferTexture</a></li><li><a class="rewritelink command es20 es30 es31">glFramebufferTexture2D</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glFramebufferTextureLayer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenFramebuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenRenderbuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGenerateMipmap</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetFramebufferAttachmentParameter</a></li><li><a class="rewritelink command es20 es30 es31">glGetFramebufferAttachmentParameteriv</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetFramebufferParameter</a></li><li><a class="rewritelink command es31">glGetFramebufferParameteriv</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetRenderbufferParameter</a></li><li><a class="rewritelink command es20 es30 es31">glGetRenderbufferParameteriv</a></li><li><a class="rewritelink command es30 es31 gl43 gl44 gl45 gl45 gl45">glInvalidateFramebuffer</a></li><li><a class="rewritelink command es30 es31 gl43 gl44 gl45">glInvalidateSubFramebuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsFramebuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsRenderbuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glRenderbufferStorage</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glRenderbufferStorageMultisample</a></li><li><a class="rewritelink command es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glSampleMaski</a></li></ul></li><li class="category es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Shaders<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glAttachShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindAttribLocation</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindFragDataLocation</a></li><li><a class="rewritelink command gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindFragDataLocationIndexed</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCompileShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCreateProgram</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCreateShader</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glCreateShaderProgram</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteProgram</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDetachShader</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glGetActiveAtomicCounterBufferiv</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveAttrib</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveSubroutineName</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveSubroutineUniform</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveSubroutineUniformName</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniform</a></li><li><a class="rewritelink command gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniformBlock</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniformBlockName</a></li><li><a class="rewritelink command es30 es31">glGetActiveUniformBlockiv</a></li><li><a class="rewritelink command gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniformName</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniformsiv</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetAttachedShaders</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetAttribLocation</a></li><li><a class="rewritelink command gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetFragDataIndex</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetFragDataLocation</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetProgram</a></li><li><a class="rewritelink command es30 es31 gl41 gl42 gl43 gl44 gl45">glGetProgramBinary</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetProgramInfoLog</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramResource</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramResourceIndex</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramResourceLocation</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetProgramResourceLocationIndex</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramResourceName</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetProgramStage</a></li><li><a class="rewritelink command es20 es30 es31">glGetProgramiv</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetShaderInfoLog</a></li><li><a class="rewritelink command es20 es30 es31 gl41 gl42 gl43 gl44 gl45">glGetShaderPrecisionFormat</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetShaderSource</a></li><li><a class="rewritelink command es20 es30 es31">glGetShaderiv</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetSubroutineIndex</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetSubroutineUniformLocation</a></li><li><a class="rewritelink command es20 es20 es30 es30 es30 es31 es31 es31 gl20 gl20 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31 gl32 gl32 gl32 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glGetUniform</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetUniformBlockIndex</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetUniformIndices</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetUniformLocation</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetUniformSubroutine</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsProgram</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glLinkProgram</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glMinSampleShading</a></li><li><a class="rewritelink command es30 es31 gl41 gl42 gl43 gl44 gl45">glProgramBinary</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glProgramParameter</a></li><li><a class="rewritelink command es30 es31">glProgramParameteri</a></li><li><a class="rewritelink command es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glProgramUniform</a></li><li><a class="rewritelink command es20 es30 es31 gl41 gl42 gl43 gl44 gl45">glReleaseShaderCompiler</a></li><li><a class="rewritelink command es20 es30 es31 gl41 gl42 gl43 gl44 gl45">glShaderBinary</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glShaderSource</a></li><li><a class="rewritelink command gl43 gl44 gl45">glShaderStorageBlockBinding</a></li><li><a class="rewritelink command es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glUniform</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glUniformBlockBinding</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glUniformSubroutines</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glUseProgram</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glUseProgramStages</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glValidateProgram</a></li></ul></li><li class="category es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Buffer Objects<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindBuffer</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindBufferBase</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindBufferRange</a></li><li><a class="rewritelink command gl44 gl45">glBindBuffersBase</a></li><li><a class="rewritelink command gl44 gl45">glBindBuffersRange</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glBindVertexBuffer</a></li><li><a class="rewritelink command gl44 gl45 gl45">glBindVertexBuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glBufferData</a></li><li><a class="rewritelink command gl44 gl45 gl45">glBufferStorage</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glBufferSubData</a></li><li><a class="rewritelink command gl43 gl44 gl45 gl45">glClearBufferData</a></li><li><a class="rewritelink command gl43 gl44 gl45 gl45">glClearBufferSubData</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCopyBufferSubData</a></li><li><a class="rewritelink command gl45">glCreateBuffers</a></li><li><a class="rewritelink command gl45">glCreateVertexArrays</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteBuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glDisableVertexAttribArray</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawArrays</a></li><li><a class="rewritelink command es31 gl40 gl41 gl42 gl43 gl44 gl45">glDrawArraysIndirect</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawArraysInstanced</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawArraysInstancedBaseInstance</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElements</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElementsBaseVertex</a></li><li><a class="rewritelink command es31 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElementsIndirect</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElementsInstanced</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawElementsInstancedBaseInstance</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElementsInstancedBaseVertex</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawElementsInstancedBaseVertexBaseInstance</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawRangeElements</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawRangeElementsBaseVertex</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glEnableVertexAttribArray</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glFlushMappedBufferRange</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenBuffers</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45 gl45">glGetBufferParameter</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetBufferParameteriv</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetBufferPointerv</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetBufferSubData</a></li><li><a class="rewritelink command gl45 gl45">glGetVertexArrayIndexed</a></li><li><a class="rewritelink command gl45">glGetVertexArrayiv</a></li><li><a class="rewritelink command es20 es20 es30 es30 es30 es30 es31 es31 es31 es31 gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45">glGetVertexAttrib</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetVertexAttribPointerv</a></li><li><a class="rewritelink command gl43 gl44 gl45">glInvalidateBufferData</a></li><li><a class="rewritelink command gl43 gl44 gl45">glInvalidateBufferSubData</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsBuffer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glMapBuffer</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glMapBufferRange</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glMultiDrawArrays</a></li><li><a class="rewritelink command gl43 gl44 gl45">glMultiDrawArraysIndirect</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glMultiDrawElements</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glMultiDrawElementsBaseVertex</a></li><li><a class="rewritelink command gl43 gl44 gl45">glMultiDrawElementsIndirect</a></li><li><a class="rewritelink command gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glPatchParameter</a></li><li><a class="rewritelink command gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glPrimitiveRestartIndex</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glProvokingVertex</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glUnmapBuffer</a></li><li><a class="rewritelink command gl45">glVertexArrayElementBuffer</a></li><li><a class="rewritelink command es20 es20 es20 es20 es20 es20 es20 es20 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glVertexAttrib</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glVertexAttribBinding</a></li><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glVertexAttribDivisor</a></li><li><a class="rewritelink command es31 es31 gl43 gl43 gl43 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45">glVertexAttribFormat</a></li><li><a class="rewritelink command es20 es30 es30 es31 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl41 gl42 gl42 gl42 gl43 gl43 gl43 gl44 gl44 gl44 gl45 gl45 gl45">glVertexAttribPointer</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glVertexBindingDivisor</a></li></ul></li><li class="category es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">State Management<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBlendColor</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glBlendEquation</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glBlendEquationSeparate</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glBlendFunc</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glBlendFuncSeparate</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClampColor</a></li><li><a class="rewritelink command gl45">glClipControl</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glColorMask</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCullFace</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDepthFunc</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDepthMask</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glDepthRange</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glDepthRangeArray</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glDepthRangeIndexed</a></li><li><a class="rewritelink command es20 es30 es31">glDepthRangef</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glDisable</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glEnable</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glFrontFace</a></li><li><a class="rewritelink command es20 es20 es20 es30 es30 es30 es30 es30 es30 es31 es31 es31 es31 es31 es31 es31 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glGet</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetError</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glHint</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glIsEnabled</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glLineWidth</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glLogicOp</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glPixelStore</a></li><li><a class="rewritelink command es20 es30 es31">glPixelStorei</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45">glPointParameter</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glPointSize</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glPolygonMode</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glPolygonOffset</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glSampleCoverage</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glScissor</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glScissorArray</a></li><li><a class="rewritelink command gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glScissorIndexed</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilFunc</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilFuncSeparate</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilMask</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilMaskSeparate</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilOp</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilOpSeparate</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glViewport</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glViewportArray</a></li><li><a class="rewritelink command gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glViewportIndexed</a></li></ul></li><li class="category es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Transform Feedback<ul><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBeginTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glBindTransformFeedback</a></li><li><a class="rewritelink command gl45">glCreateTransformFeedbacks</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteTransformFeedbacks</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glDrawTransformFeedback</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawTransformFeedbackInstanced</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glDrawTransformFeedbackStream</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawTransformFeedbackStreamInstanced</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glEndTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glGenTransformFeedbacks</a></li><li><a class="rewritelink command gl45 gl45 gl45">glGetTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetTransformFeedbackVarying</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glIsTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glPauseTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glResumeTransformFeedback</a></li><li><a class="rewritelink command gl45">glTransformFeedbackBufferBase</a></li><li><a class="rewritelink command gl45">glTransformFeedbackBufferRange</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTransformFeedbackVaryings</a></li></ul></li><li class="category es31 gl43 gl44 gl45 gl42 es30 gl32 gl33 gl40 gl41 es20 gl20 gl21 gl30 gl31">Utility<ul><li><a class="rewritelink command es31 gl43 gl44 gl45">glDispatchCompute</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glDispatchComputeIndirect</a></li><li><a class="rewritelink command gl45">glGetGraphicsResetStatus</a></li><li><a class="rewritelink command gl42 gl43 gl43 gl44 gl44 gl45 gl45">glGetInternalformat</a></li><li><a class="rewritelink command es30 es31">glGetInternalformativ</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetMultisample</a></li><li><a class="rewritelink command es31">glGetMultisamplefv</a></li><li><a class="rewritelink command es20 es30 es30 es31 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glGetString</a></li><li><a class="rewritelink command es31 es31 gl42 gl43 gl44 gl45 gl45">glMemoryBarrier</a></li></ul></li><li class="category gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 es30 es31 gl20 gl21">Queries<ul><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBeginConditionalRender</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBeginQuery</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glBeginQueryIndexed</a></li><li><a class="rewritelink command gl45">glCreateQueries</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteQueries</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glEndConditionalRender</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glEndQuery</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glEndQueryIndexed</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenQueries</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetQueryIndexed</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45">glGetQueryObject</a></li><li><a class="rewritelink command es30 es31">glGetQueryObjectuiv</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetQueryiv</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsQuery</a></li><li><a class="rewritelink command gl33 gl40 gl41 gl42 gl43 gl44 gl45">glQueryCounter</a></li></ul></li><li class="category es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Syncing<ul><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClientWaitSync</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteSync</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glFenceSync</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetSync</a></li><li><a class="rewritelink command es30 es31">glGetSynciv</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsSync</a></li><li><a class="rewritelink command gl45">glTextureBarrier</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glWaitSync</a></li></ul></li><li class="category es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Vertex Array Objects<ul><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindVertexArray</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteVertexArrays</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenVertexArrays</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsVertexArray</a></li></ul></li><li class="category es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Samplers<ul><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindSampler</a></li><li><a class="rewritelink command gl44 gl45">glBindSamplers</a></li><li><a class="rewritelink command gl45">glCreateSamplers</a></li><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteSamplers</a></li><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenSamplers</a></li><li><a class="rewritelink command es30 es30 es31 es31 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45">glGetSamplerParameter</a></li><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsSampler</a></li><li><a class="rewritelink command es30 es30 es30 es30 es31 es31 es31 es31 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45">glSamplerParameter</a></li></ul></li><li class="category es31 gl41 gl42 gl43 gl44 gl45">Program Pipelines<ul><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glActiveShaderProgram</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glBindProgramPipeline</a></li><li><a class="rewritelink command gl45">glCreateProgramPipelines</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glDeleteProgramPipelines</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glGenProgramPipelines</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glGetProgramPipeline</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glGetProgramPipelineInfoLog</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glIsProgramPipeline</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glValidateProgramPipeline</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Immediate Mode<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glArrayElement</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glBegin</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glColor</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glEnd</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glEvalCoord</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glEvalMesh</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glEvalPoint</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glFogCoord</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glIndex</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glMaterial</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glMultiTexCoord</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glNormal</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glSecondaryColor</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glTexCoord</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glVertex</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">GL2 Rasterization<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glBitmap</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glClearIndex</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glClipPlane</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glCopyPixels</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glDrawPixels</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glFeedbackBuffer</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glFog</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glGetClipPlane</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31">glGetMap</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31">glGetPixelMap</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glGetPolygonStipple</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glInitNames</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glLineStipple</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glLoadName</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glMap1</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glMap2</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glMapGrid</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPassThrough</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPixelZoom</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPolygonStipple</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPopName</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPushName</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glRasterPos</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glRect</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glRenderMode</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glSelectBuffer</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glWindowPos</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Client Arrays<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glColorPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glDisableClientState</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glEnableClientState</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glFogCoordPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glIndexPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glInterleavedArrays</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glNormalPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPopClientAttrib</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPushClientAttrib</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glSecondaryColorPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glTexCoordPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glVertexPointer</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Fixed Function<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glAccum</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glAlphaFunc</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glClearAccum</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glColorMaterial</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glEdgeFlag</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glEdgeFlagPointer</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glGetLight</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glGetMaterial</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glGetTexEnv</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31">glGetTexGen</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glIndexMask</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glLight</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glLightModel</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPopAttrib</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPushAttrib</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glShadeModel</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glTexEnv</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31">glTexGen</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Matrix State<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glFrustum</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glLoadIdentity</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glLoadMatrix</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glLoadTransposeMatrix</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glMatrixMode</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glMultMatrix</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glMultTransposeMatrix</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glOrtho</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPopMatrix</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPushMatrix</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glRotate</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glScale</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glTranslate</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">GL2 Textures<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glAreTexturesResident</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glClientActiveTexture</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31">glPixelMap</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glPixelTransfer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPrioritizeTextures</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Call Lists<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glCallList</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glCallLists</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glDeleteLists</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glEndList</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glGenLists</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glIsList</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glListBase</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glNewList</a></li></ul></li><li class="category gl43 gl44 gl45 gl20 gl21 gl30 gl31 es31">Debug<ul><li><a class="rewritelink command gl43 gl44 gl45">glDebugMessageCallback</a></li><li><a class="rewritelink command gl43 gl44 gl45">glDebugMessageControl</a></li><li><a class="rewritelink command gl43 gl44 gl45">glDebugMessageInsert</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetDebugMessageLog</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetObjectLabel</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetObjectPtrLabel</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl43 gl44 gl45">glGetPointerv</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramInterface</a></li><li><a class="rewritelink command gl43 gl44 gl45">glObjectLabel</a></li><li><a class="rewritelink command gl43 gl44 gl45">glObjectPtrLabel</a></li><li><a class="rewritelink command gl43 gl44 gl45">glPopDebugGroup</a></li><li><a class="rewritelink command gl43 gl44 gl45">glPushDebugGroup</a></li></ul></li></ul> <ul id="glsl_command_categories"><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Trigonometry<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">acos</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">acosh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">asin</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">asinh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">atan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">atanh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">cos</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">cosh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">degrees</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">radians</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">sin</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">sinh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">tan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">tanh</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Mathematics<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">abs</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">ceil</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">clamp</a></li><li><a class="rewritelink command el30 el30 el30 el31 el31 el31 sl33 sl33 sl33 sl40 sl40 sl40 sl41 sl41 sl41 sl42 sl42 sl42 sl43 sl43 sl43 sl44 sl44 sl44 sl45 sl45 sl45">dFdx</a></li><li><a class="rewritelink command el30 el30 el30 el31 el31 el31 sl33 sl33 sl33 sl40 sl40 sl40 sl41 sl41 sl41 sl42 sl42 sl42 sl43 sl43 sl43 sl44 sl44 sl44 sl45 sl45 sl45">dFdy</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">exp</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">exp2</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">floor</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">floor</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">fma</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">fract</a></li><li><a class="rewritelink command el30 el30 el30 el31 el31 el31 sl33 sl33 sl33 sl40 sl40 sl40 sl41 sl41 sl41 sl42 sl42 sl42 sl43 sl43 sl43 sl44 sl44 sl44 sl45 sl45 sl45">fwidth</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">inversesqrt</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">isinf</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">isnan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">log</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">log2</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">max</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">min</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">mix</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">mod</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">modf</a></li><li><a class="rewritelink command sl33 sl33 sl33 sl33 sl33 sl40 sl40 sl40 sl40 sl40 sl41 sl41 sl41 sl41 sl41 sl42 sl42 sl42 sl42 sl42 sl43 sl43 sl43 sl43 sl43 sl44 sl44 sl44 sl44 sl44 sl45 sl45 sl45 sl45 sl45">noise</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">pow</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">round</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">roundEven</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">sign</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">smoothstep</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">sqrt</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">step</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">trunc</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Floating-Point<ul><li><a class="rewritelink command el30 el30 el31 el31 sl33 sl33 sl40 sl40 sl41 sl41 sl42 sl42 sl43 sl43 sl44 sl44 sl45 sl45">floatBitsToInt</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">frexp</a></li><li><a class="rewritelink command el30 el30 el31 el31 sl33 sl33 sl40 sl40 sl41 sl41 sl42 sl42 sl43 sl43 sl44 sl44 sl45 sl45">intBitsToFloat</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">ldexp</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">packDouble2x32</a></li><li><a class="rewritelink command el30 el31 sl42 sl43 sl44 sl45">packHalf2x16</a></li><li><a class="rewritelink command el30 el30 el30 el30 el31 el31 el31 el31 sl41 sl41 sl41 sl41 sl42 sl42 sl42 sl42 sl43 sl43 sl43 sl43 sl44 sl44 sl44 sl44 sl45 sl45 sl45 sl45">packUnorm</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">unpackDouble2x32</a></li><li><a class="rewritelink command el30 el31 sl42 sl43 sl44 sl45">unpackHalf2x16</a></li><li><a class="rewritelink command el30 el30 el30 el30 el31 el31 el31 el31 sl41 sl41 sl41 sl41 sl42 sl42 sl42 sl42 sl43 sl43 sl43 sl43 sl44 sl44 sl44 sl44 sl45 sl45 sl45 sl45">unpackUnorm</a></li></ul></li><li class="category sl33 sl40 sl41 sl42 sl43 sl44 sl45 el30 el31">Built-In Variables<ul><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_ClipDistance</a></li><li><a class="rewritelink command sl45">gl_CullDistance</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_FragCoord</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_FragDepth</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_FrontFacing</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_GlobalInvocationID</a></li><li><a class="rewritelink command sl45">gl_HelperInvocation</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_InstanceID</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_InvocationID</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_Layer</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_LocalInvocationID</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_LocalInvocationIndex</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_NumSamples</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_NumWorkGroups</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_PatchVerticesIn</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_PointCoord</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_PointSize</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_Position</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_PrimitiveID</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_PrimitiveIDIn</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_SampleID</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_SampleMask</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_SampleMaskIn</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_SamplePosition</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_TessCoord</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_TessLevelInner</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_TessLevelOuter</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_VertexID</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_ViewportIndex</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_WorkGroupID</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_WorkGroupSize</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Vector<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">cross</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">distance</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">dot</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">equal</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">faceforward</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">length</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">normalize</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">notEqual</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">reflect</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">refract</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Component Comparison<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">all</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">any</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">greaterThan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">greaterThanEqual</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">lessThan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">lessThanEqual</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">not</a></li></ul></li><li class="category sl40 sl41 sl42 sl43 sl44 sl45 sl33">Geometry Shader<ul><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">EmitStreamVertex</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">EmitVertex</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">EndPrimitive</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">EndStreamPrimitive</a></li></ul></li><li class="category sl40 sl41 sl42 sl43 sl44 sl45 el30 el31 sl33">Texture Sampling<ul><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">interpolateAtCentroid</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">interpolateAtOffset</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">interpolateAtSample</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">texelFetch</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">texelFetchOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">texture</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">textureGather</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">textureGatherOffset</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">textureGatherOffsets</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureGrad</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureGradOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureLod</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureLodOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProj</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjGrad</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjGradOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjLod</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjLodOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjOffset</a></li><li><a class="rewritelink command sl43 sl44 sl45">textureQueryLevels</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">textureQueryLod</a></li><li><a class="rewritelink command sl45">textureSamples</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureSize</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Matrix<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">determinant</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">groupMemoryBarrier</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">inverse</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">matrixCompMult</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">outerProduct</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">transpose</a></li></ul></li><li class="category el31 sl40 sl41 sl42 sl43 sl44 sl45">Integer<ul><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">bitCount</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">bitfieldExtract</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">bitfieldInsert</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">bitfieldReverse</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">findLSB</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">findMSB</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">uaddCarry</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">umulExtended</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">usubBorrow</a></li></ul></li><li class="category el31 sl42 sl43 sl44 sl45">Image<ul><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicAdd</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicAnd</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicCompSwap</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicExchange</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicMax</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicMin</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicOr</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicXor</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageLoad</a></li><li><a class="rewritelink command sl45">imageSamples</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">imageSize</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageStore</a></li></ul></li><li class="category el31 sl43 sl44 sl45 sl42">Atomic<ul><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicAdd</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicAnd</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicCompSwap</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">atomicCounter</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">atomicCounterDecrement</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">atomicCounterIncrement</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicExchange</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicMax</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicMin</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicOr</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicXor</a></li></ul></li><li class="category el31 sl40 sl41 sl42 sl43 sl44 sl45">Memory Barrier<ul><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">barrier</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">groupMemoryBarrier</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">memoryBarrier</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">memoryBarrierAtomicCounter</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">memoryBarrierBuffer</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">memoryBarrierImage</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">memoryBarrierShared</a></li></ul></li></ul> </div> <div id="khronos"> <div id="command_versions"><a href="../gl4/glTexImage2D">OpenGL 4</a><br><a href="../gl3/glTexImage2D">OpenGL 3</a><br><a href="../gl2/glTexImage2D">OpenGL 2</a><br><a class="current" href="../es3/glTexImage2D">OpenGL ES 3</a><br><a href="../es2/glTexImage2D">OpenGL ES 2</a><br></div> <h1 id="command_title">glTexImage2D</h1> <div class="refentry" id="glTexImage2D"> <div class="titlepage"></div> <div class="refnamediv"> <h2>Name</h2> <p>glTexImage2D &#8212; specify 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">void <strong class="fsfunc">glTexImage2D</strong>(</code> </td> <td>GLenum <var class="pdparam">target</var>, </td> </tr> <tr> <td> </td> <td>GLint <var class="pdparam">level</var>, </td> </tr> <tr> <td> </td> <td>GLint <var class="pdparam">internalFormat</var>, </td> </tr> <tr> <td> </td> <td>GLsizei <var class="pdparam">width</var>, </td> </tr> <tr> <td> </td> <td>GLsizei <var class="pdparam">height</var>, </td> </tr> <tr> <td> </td> <td>GLint <var class="pdparam">border</var>, </td> </tr> <tr> <td> </td> <td>GLenum <var class="pdparam">format</var>, </td> </tr> <tr> <td> </td> <td>GLenum <var class="pdparam">type</var>, </td> </tr> <tr> <td> </td> <td>const GLvoid * <var class="pdparam">data</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>target</code> </em> </span> </dt> <dd> <p> Specifies the target texture. Must be <code class="constant">GL_TEXTURE_2D</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>, or <code class="constant">GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>. </p> </dd> <dt> <span class="term"> <em class="parameter"> <code>level</code> </em> </span> </dt> <dd> <p> Specifies the level-of-detail number. Level 0 is the base image level. Level <span class="emphasis"><em>n</em></span> is the <span class="emphasis"><em>n</em></span>th mipmap reduction image. </p> </dd> <dt> <span class="term"> <em class="parameter"> <code>internalFormat</code> </em> </span> </dt> <dd> <p> Specifies the number of color components in the texture. Must be one of base internal formats given in Table 1, or one of the sized internal formats given in Table 2, below. </p> </dd> <dt> <span class="term"> <em class="parameter"> <code>width</code> </em> </span> </dt> <dd> <p> Specifies the width of the texture image. All implementations support texture images that are at least 2048 texels wide. </p> </dd> <dt> <span class="term"> <em class="parameter"> <code>height</code> </em> </span> </dt> <dd> <p> Specifies the height of the texture image. All implementations support texture images that are at least 2048 texels high. </p> </dd> <dt> <span class="term"> <em class="parameter"> <code>border</code> </em> </span> </dt> <dd> <p> This value must be 0. </p> </dd> <dt> <span class="term"> <em class="parameter"> <code>format</code> </em> </span> </dt> <dd> <p> Specifies the format of the pixel data. The following symbolic values are accepted: <code class="constant">GL_RED</code>, <code class="constant">GL_RED_INTEGER</code>, <code class="constant">GL_RG</code>, <code class="constant">GL_RG_INTEGER</code>, <code class="constant">GL_RGB</code>, <code class="constant">GL_RGB_INTEGER</code>, <code class="constant">GL_RGBA</code>, <code class="constant">GL_RGBA_INTEGER</code>, <code class="constant">GL_DEPTH_COMPONENT</code>, <code class="constant">GL_DEPTH_STENCIL</code>, <code class="constant">GL_LUMINANCE_ALPHA</code>, <code class="constant">GL_LUMINANCE</code>, and <code class="constant">GL_ALPHA</code>. </p> </dd> <dt> <span class="term"> <em class="parameter"> <code>type</code> </em> </span> </dt> <dd> <p> Specifies the data type of the pixel data. The following symbolic values are accepted: <code class="constant">GL_UNSIGNED_BYTE</code>, <code class="constant">GL_BYTE</code>, <code class="constant">GL_UNSIGNED_SHORT</code>, <code class="constant">GL_SHORT</code>, <code class="constant">GL_UNSIGNED_INT</code>, <code class="constant">GL_INT</code>, <code class="constant">GL_HALF_FLOAT</code>, <code class="constant">GL_FLOAT</code>, <code class="constant">GL_UNSIGNED_SHORT_5_6_5</code>, <code class="constant">GL_UNSIGNED_SHORT_4_4_4_4</code>, <code class="constant">GL_UNSIGNED_SHORT_5_5_5_1</code>, <code class="constant">GL_UNSIGNED_INT_2_10_10_10_REV</code>, <code class="constant">GL_UNSIGNED_INT_10F_11F_11F_REV</code>, <code class="constant">GL_UNSIGNED_INT_5_9_9_9_REV</code>, <code class="constant">GL_UNSIGNED_INT_24_8</code>, and <code class="constant">GL_FLOAT_32_UNSIGNED_INT_24_8_REV</code>. </p> </dd> <dt> <span class="term"> <em class="parameter"> <code>data</code> </em> </span> </dt> <dd> <p> Specifies a pointer to the image data in memory. </p> </dd> </dl> </div> </div> <div class="refsect1" id="description"> <h2>Description</h2> <p> Texturing allows elements of an image array to be read by shaders. </p> <p> To define texture images, call <code class="function">glTexImage2D</code>. The arguments describe the parameters of the texture image, such as height, width, width of the border, level-of-detail number (see <a class="citerefentry" href="glTexParameter"><span class="citerefentry"><span class="refentrytitle">glTexParameter</span></span></a>), and number of color components provided. The last three arguments describe how the image is represented in memory. </p> <p> If <em class="parameter"><code>target</code></em> is <code class="constant">GL_TEXTURE_2D</code> or one of the <code class="constant">GL_TEXTURE_CUBE_MAP</code> targets, data is read from <em class="parameter"><code>data</code></em> as a sequence of signed or unsigned bytes, shorts, or longs, or single-precision floating-point values, depending on <em class="parameter"><code>type</code></em>. These values are grouped into sets of one, two, three, or four values, depending on <em class="parameter"><code>format</code></em>, to form elements. </p> <p> If a non-zero named buffer object is bound to the <code class="constant">GL_PIXEL_UNPACK_BUFFER</code> target (see <a class="citerefentry" href="glBindBuffer"><span class="citerefentry"><span class="refentrytitle">glBindBuffer</span></span></a>) while a texture image is specified, <em class="parameter"><code>data</code></em> is treated as a byte offset into the buffer object's data store. </p> <p> The first element corresponds to the lower left corner of the texture image. Subsequent elements progress left-to-right through the remaining texels in the lowest row of the texture image, and then in successively higher rows of the texture image. The final element corresponds to the upper right corner of the texture image. </p> <p> <em class="parameter"><code>format</code></em> determines the composition of each element in <em class="parameter"><code>data</code></em>. It can assume one of these symbolic values: </p> <div class="variablelist"> <dl class="variablelist"> <dt> <span class="term"> <code class="constant">GL_RED</code> </span> </dt> <dd> <p> Each element is a single red component. For fixed point normalized components, the GL converts it to floating point, clamps to the range [0,1], and assembles it into an RGBA element by attaching 0.0 for green and blue, and 1.0 for alpha. </p> </dd> <dt> <span class="term"> <code class="constant">GL_RED_INTEGER</code> </span> </dt> <dd> <p> Each element is a single red component. The GL performs assembles it into an RGBA element by attaching 0 for green and blue, and 1 for alpha. </p> </dd> <dt> <span class="term"> <code class="constant">GL_RG</code> </span> </dt> <dd> <p> Each element is a red/green double. For fixed point normalized components, the GL converts each component to floating point, clamps to the range [0,1], and assembles them into an RGBA element by attaching 0.0 for blue, and 1.0 for alpha. </p> </dd> <dt> <span class="term"> <code class="constant">GL_RG</code> </span> </dt> <dd> <p> Each element is a red/green double. The GL assembles them into an RGBA element by attaching 0 for blue, and 1 for alpha. </p> </dd> <dt> <span class="term"> <code class="constant">GL_RGB</code> </span> </dt> <dd> <p> Each element is an RGB triple. For fixed point normalized components, the GL converts each component to floating point, clamps to the range [0,1], and assembles them into an RGBA element by attaching 1.0 for alpha. </p> </dd> <dt> <span class="term"> <code class="constant">GL_RGB_INTEGER</code> </span> </dt> <dd> <p> Each element is an RGB triple. The GL assembles them into an RGBA element by attaching 1 for alpha. </p> </dd> <dt> <span class="term"> <code class="constant">GL_RGBA</code> </span> </dt> <dd> <p> Each element contains all four components. For fixed point normalized components, the GL converts each component to floating point and clamps them to the range [0,1]. </p> </dd> <dt> <span class="term"> <code class="constant">GL_RGBA_INTEGER</code> </span> </dt> <dd> <p> Each element contains all four components. </p> </dd> <dt> <span class="term"> <code class="constant">GL_DEPTH_COMPONENT</code> </span> </dt> <dd> <p> Each element is a single depth value. The GL converts it to floating point, and clamps to the range [0,1]. </p> </dd> <dt> <span class="term"> <code class="constant">GL_DEPTH_STENCIL</code> </span> </dt> <dd> <p> Each element is a pair of depth and stencil values. The depth component of the pair is interpreted as in <code class="constant">GL_DEPTH_COMPONENT</code>. The stencil component is interpreted based on specified the depth + stencil internal format. </p> </dd> <dt> <span class="term"> <code class="constant">GL_LUMINANCE_ALPHA</code> </span> </dt> <dd> <p> Each element is an luminance/alpha double. The GL converts each component to floating point, clamps to the range [0,1], and assembles them into an RGBA element by placing the luminance value in the red, green and blue channels. </p> </dd> <dt> <span class="term"> <code class="constant">GL_LUMINANCE</code> </span> </dt> <dd> <p> Each element is a single luminance component. The GL converts it to floating point, clamps to the range [0,1], and assembles it into an RGBA element by placing the luminance value in the red, green and blue channels, and attaching 1.0 to the alpha channel. </p> </dd> <dt> <span class="term"> <code class="constant">GL_ALPHA</code> </span> </dt> <dd> <p> Each element is a single alpha component. The GL converts it to floating point, clamps to the range [0,1], and assembles it into an RGBA element by placing attaching 0.0 to the red, green and blue channels. </p> </dd> </dl> </div> <p> If an application wants to store the texture at a certain resolution or in a certain format, it can request the resolution and format with <em class="parameter"><code>internalFormat</code></em>. The GL will choose an internal representation with least the internal component sizes, and exactly the component types shown for that format, although it may not match exactly. </p> <p> <em class="parameter"><code>internalFormat</code></em> may be one of the unsized (base) internal formats shown, together with valid <em class="parameter"><code>format</code></em> and <em class="parameter"><code>type</code></em> combinations, in Table 1, below </p> <p> </p> <div class="table" id="idp1040"> <div class="table-title">Table 1. Unsized Internal Formats</div> <div class="table-contents"> <table style="border-collapse: collapse; border-top: 2px solid ; border-bottom: 2px solid ; border-left: 2px solid ; border-right: 2px solid ; "> <colgroup> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> </colgroup> <thead> <tr> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Unsized Internal Format</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Format</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Type</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>RGBA and Luminance Values</strong></span> </th> <th style="text-align: left; border-bottom: 2px solid ; "> <span class="bold"><strong>Internal Components</strong></span> </th> </tr> </thead> <tbody> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_UNSIGNED_BYTE</code>, <code class="constant">GL_UNSIGNED_SHORT_5_6_5</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Red, Green, Blue</td> <td style="text-align: left; border-bottom: 2px solid ; ">R, G, B</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_UNSIGNED_BYTE</code>, <code class="constant">GL_UNSIGNED_SHORT_4_4_4_4</code>, <code class="constant">GL_UNSIGNED_SHORT_5_5_5_1</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Red, Green, Blue, Alpha</td> <td style="text-align: left; border-bottom: 2px solid ; ">R, G, B, A</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_LUMINANCE_ALPHA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_LUMINANCE_ALPHA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Luminance, Alpha</td> <td style="text-align: left; border-bottom: 2px solid ; ">L, A</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_LUMINANCE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_LUMINANCE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Luminance</td> <td style="text-align: left; border-bottom: 2px solid ; ">L</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_ALPHA</code> </td> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_ALPHA</code> </td> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; ">Alpha</td> <td style="text-align: left; ">A</td> </tr> </tbody> </table> </div> </div> <p><br class="table-break"> </p> <p> <em class="parameter"><code>internalFormat</code></em> may also be one of the sized internal formats shown, together with valid <em class="parameter"><code>format</code></em> and <em class="parameter"><code>type</code></em> combinations, in Table 2, below </p> <p> </p> <div class="table" id="idp103216"> <div class="table-title">Table 2. Sized Internal Formats</div> <div class="table-contents"> <table style="border-collapse: collapse; border-top: 2px solid ; border-bottom: 2px solid ; border-left: 2px solid ; border-right: 2px solid ; "> <colgroup> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> </colgroup> <thead> <tr> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Sized Internal Format</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Format</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Type</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Red Bits</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Green Bits</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Blue Bits</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Alpha Bits</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Shared Bits</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Color renderable</strong></span> </th> <th style="text-align: left; border-bottom: 2px solid ; "> <span class="bold"><strong>Texture filterable</strong></span> </th> </tr> </thead> <tbody> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R8</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R8_SNORM</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R16F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_HALF_FLOAT</code>,<code class="constant">GL_FLOAT</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R32F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_FLOAT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R8UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R8I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R16UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_SHORT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R16I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_SHORT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R32UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R32I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RED_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG8</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG8_SNORM</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG16F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_HALF_FLOAT</code>,<code class="constant">GL_FLOAT</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG32F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_FLOAT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG8UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG8I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG16UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_SHORT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG16I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_SHORT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG32UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG32I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RG_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB8</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_SRGB8</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB565</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_UNSIGNED_BYTE</code>, <code class="constant">GL_UNSIGNED_SHORT_5_6_5</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">5</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">6</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">5</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB8_SNORM</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_R11F_G11F_B10F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_UNSIGNED_INT_10F_11F_11F_REV</code>, <code class="constant">GL_HALF_FLOAT</code>, <code class="constant">GL_FLOAT</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f11</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f11</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f10</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB9_E5</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_UNSIGNED_INT_5_9_9_9_REV</code>, <code class="constant">GL_HALF_FLOAT</code>, <code class="constant">GL_FLOAT</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">9</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">9</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">9</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">5</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB16F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_HALF_FLOAT</code>, <code class="constant">GL_FLOAT</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB32F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_FLOAT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB8UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB8I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB16UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_SHORT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB16I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_SHORT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB32UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB32I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA8</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_SRGB8_ALPHA8</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA8_SNORM</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">s8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB5_A1</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_UNSIGNED_BYTE</code>, <code class="constant">GL_UNSIGNED_SHORT_5_5_5_1</code>, <code class="constant">GL_UNSIGNED_INT_2_10_10_10_REV</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">5</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">5</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">5</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">1</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA4</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_UNSIGNED_BYTE</code>, <code class="constant">GL_UNSIGNED_SHORT_4_4_4_4</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">4</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">4</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">4</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">4</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB10_A2</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_INT_2_10_10_10_REV</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">10</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">10</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">10</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">2</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA16F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_HALF_FLOAT</code>, <code class="constant">GL_FLOAT</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; ">Y</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA32F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_FLOAT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA8UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA8I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_BYTE</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i8</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGB10_A2UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_INT_2_10_10_10_REV</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui10</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui10</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui10</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui2</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA16UI</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_SHORT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">ui16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA16I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_SHORT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i16</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA32I</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_RGBA_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">i32</td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Y</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_RGBA32UI</code> </td> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_RGBA_INTEGER</code> </td> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_UNSIGNED_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; ">ui32</td> <td style="text-align: left; border-right: 2px solid ; "> </td> <td style="text-align: left; border-right: 2px solid ; ">Y</td> <td style="text-align: left; "> </td> </tr> </tbody> </table> <table style="border-collapse: collapse; border-top: 2px solid ; border-bottom: 2px solid ; border-left: 2px solid ; border-right: 2px solid ; "> <colgroup> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> <col style="text-align: left; "> </colgroup> <thead> <tr> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Sized Internal Format</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Format</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Type</strong></span> </th> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Depth Bits</strong></span> </th> <th style="text-align: left; border-bottom: 2px solid ; "> <span class="bold"><strong>Stencil Bits</strong></span> </th> </tr> </thead> <tbody> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_DEPTH_COMPONENT16</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_DEPTH_COMPONENT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "><code class="constant">GL_UNSIGNED_SHORT</code>, <code class="constant">GL_UNSIGNED_INT</code></td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">16</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_DEPTH_COMPONENT24</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_DEPTH_COMPONENT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_INT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">24</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_DEPTH_COMPONENT32F</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_DEPTH_COMPONENT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_FLOAT</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">f32</td> <td style="text-align: left; border-bottom: 2px solid ; "> </td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_DEPTH24_STENCIL8</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_DEPTH_STENCIL</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <code class="constant">GL_UNSIGNED_INT_24_8</code> </td> <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">24</td> <td style="text-align: left; border-bottom: 2px solid ; ">8</td> </tr> <tr> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_DEPTH32F_STENCIL8</code> </td> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_DEPTH_STENCIL</code> </td> <td style="text-align: left; border-right: 2px solid ; "> <code class="constant">GL_FLOAT_32_UNSIGNED_INT_24_8_REV</code> </td> <td style="text-align: left; border-right: 2px solid ; ">f32</td> <td style="text-align: left; ">8</td> </tr> </tbody> </table> </div> </div> <p><br class="table-break"> </p> <p> If the <em class="parameter"><code>internalFormat</code></em> parameter is <code class="constant">GL_SRGB8</code>, or <code class="constant">GL_SRGB8_ALPHA8</code>, the texture is treated as if the red, green, or blue components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component <math overflow="scroll"> <msub><mi mathvariant="italic">c</mi> <mi mathvariant="italic">s</mi> </msub> </math> to a linear component <math overflow="scroll"> <msub><mi mathvariant="italic">c</mi> <mi mathvariant="italic">l</mi> </msub> </math> is: </p> <p> <math overflow="scroll"> <mrow> <msub> <mi mathvariant="italic">c</mi> <mi mathvariant="italic">l</mi> </msub> <mo>=</mo> <mrow> <mo>{</mo> <mtable columnalign="left"> <mtr> <mtd columnalign="left"> <mfrac> <msub> <mi mathvariant="italic">c</mi> <mi mathvariant="italic">s</mi> </msub> <mn>12.92</mn> </mfrac> </mtd> <mtd columnalign="left"> <mrow> <mspace width="1ex"/> <mo>if</mo> <mspace width="1ex"/> </mrow> <msub> <mi mathvariant="italic">c</mi> <mi mathvariant="italic">s</mi> </msub> <mo>&#8804;</mo> <mn>0.04045</mn> </mtd> </mtr> <mtr> <mtd columnalign="left"> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>c</mi> <mi>s</mi> </msub> <mo>+</mo> <mn>0.055</mn> </mrow> <mn>1.055</mn> </mfrac> <mo>)</mo> </mrow> <mn>2.4</mn> </msup> </mtd> <mtd columnalign="left"> <mrow> <mspace width="1ex"/> <mo>if</mo> <mspace width="1ex"/> </mrow> <msub> <mi mathvariant="italic">c</mi> <mi mathvariant="italic">s</mi> </msub> <mo>></mo> <mn>0.04045</mn> </mtd> </mtr> </mtable> </mrow> </mrow> </math> </p> <p> Assume <math overflow="scroll"> <msub><mi mathvariant="italic">c</mi> <mi mathvariant="italic">s</mi> </msub> </math> is the sRGB component in the range [0,1]. </p> <p> A one-component texture image uses only the red component of the RGBA color extracted from <em class="parameter"><code>data</code></em>. A two-component image uses the R and G values. A three-component image uses the R, G, and B values. A four-component image uses all of the RGBA components. </p> <p> Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See <a class="citerefentry" href="glTexParameter"><span class="citerefentry"><span class="refentrytitle">glTexParameter</span></span></a> for details on texture comparison. </p> </div> <div class="refsect1" id="notes"> <h2>Notes</h2> <p> The <a class="citerefentry" href="glPixelStorei"><span class="citerefentry"><span class="refentrytitle">glPixelStorei</span></span></a> mode affects texture images. </p> <p> <em class="parameter"><code>data</code></em> may be a null pointer. In this case, texture memory is allocated to accommodate a texture of width <em class="parameter"><code>width</code></em> and height <em class="parameter"><code>height</code></em>. You can then download subtextures to initialize this texture memory. The image is undefined if the user tries to apply an uninitialized portion of the texture image to a primitive. </p> <p> <code class="function">glTexImage2D</code> specifies the two-dimensional texture for the texture object bound to the current texture unit, specified with <a class="citerefentry" href="glActiveTexture"><span class="citerefentry"><span class="refentrytitle">glActiveTexture</span></span></a>. </p> </div> <div class="refsect1" id="errors"> <h2>Errors</h2> <p> <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>target</code></em> is not <code class="constant">GL_TEXTURE_2D</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, <code class="constant">GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>, or <code class="constant">GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>. </p> <p> <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>target</code></em> is one of the six cube map 2D image targets and the width and height parameters are not equal. </p> <p> <code class="constant">GL_INVALID_ENUM</code> is generated if <em class="parameter"><code>type</code></em> is not a type constant. </p> <p> <code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>width</code></em> is less than 0 or greater than <code class="constant">GL_MAX_TEXTURE_SIZE</code>. </p> <p> <code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>level</code></em> is less than 0. </p> <p> <code class="constant">GL_INVALID_VALUE</code> may be generated if <em class="parameter"><code>level</code></em> is greater than <math overflow="scroll"> <mrow> <msub><mi mathvariant="italic">log</mi> <mn>2</mn> </msub> <mo>&#8289;</mo> <mfenced open="(" close=")"> <mi mathvariant="italic">max</mi> </mfenced> </mrow> </math>, where <span class="emphasis"><em>max</em></span> is the returned value of <code class="constant">GL_MAX_TEXTURE_SIZE</code>. </p> <p> <code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>internalFormat</code></em> is not one of the accepted resolution and format symbolic constants. </p> <p> <code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>width</code></em> or <em class="parameter"><code>height</code></em> is less than 0 or greater than <code class="constant">GL_MAX_TEXTURE_SIZE</code>. </p> <p> <code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>border</code></em> is not 0. </p> <p> <code class="constant">GL_INVALID_OPERATION</code> is generated if the combination of <em class="parameter"><code>internalFormat</code></em>, <em class="parameter"><code>format</code></em> and <em class="parameter"><code>type</code></em> is not one of those in the tables above. </p> <p> <code class="constant">GL_INVALID_OPERATION</code> is generated if storage for the texture has been previously specified with <a class="citerefentry" href="glTexStorage2D"><span class="citerefentry"><span class="refentrytitle">glTexStorage2D</span></span></a>. </p> <p> <code class="constant">GL_INVALID_OPERATION</code> is generated if a non-zero buffer object name is bound to the <code class="constant">GL_PIXEL_UNPACK_BUFFER</code> target and the buffer object's data store is currently mapped. </p> <p> <code class="constant">GL_INVALID_OPERATION</code> is generated if a non-zero buffer object name is bound to the <code class="constant">GL_PIXEL_UNPACK_BUFFER</code> target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. </p> <p> <code class="constant">GL_INVALID_OPERATION</code> is generated if a non-zero buffer object name is bound to the <code class="constant">GL_PIXEL_UNPACK_BUFFER</code> target and <em class="parameter"><code>data</code></em> is not evenly divisible into the number of bytes needed to store in memory a datum indicated by <em class="parameter"><code>type</code></em>. </p> </div> <div class="refsect1" id="associatedgets"> <h2>Associated Gets</h2> <p> <a class="citerefentry" href="glGet"><span class="citerefentry"><span class="refentrytitle">glGet</span></span></a> with argument <code class="constant">GL_PIXEL_UNPACK_BUFFER_BINDING</code> </p> </div> <div class="refsect1" id="examples"><h2>Examples</h2><div class="example">Create a framebuffer object with a texture-based color attachment and a texture-based depth attachment. Using texture-based attachments allows sampling of those textures in shaders.<pre class="programlisting"><span class="codecomment">// fbo_width and fbo_height are the desired width and height of the FBO.</span>
<span class="codecomment">// For Opengl <= 4.4 or <span class="ckeyword">if</span> the <span class="constant">GL_ARB_</span>texture_non_power_of_two extension</span>
<span class="codecomment">// is present, fbo_width and fbo_height can be values other than 2^n <span class="ckeyword">for</span></span>
<span class="codecomment">// some integer n.</span>

<span class="codecomment">// Build the texture that will serve as the color attachment <span class="ckeyword">for</span> the framebuffer.</span>
<span class="ckeyword">GLuint</span> texture_map;
<a href="../es3/glGenTextures">glGenTextures</a>(1, &texture_map);
<a href="../es3/glBindTexture">glBindTexture</a>(<span class="constant">GL_TEXTURE_2D</span>, texture_map);

<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_MIN_FILTER</span>, <span class="constant">GL_LINEAR</span>);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_MAG_FILTER</span>, <span class="constant">GL_LINEAR</span>);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_WRAP_S</span>, <span class="constant">GL_CLAMP_TO_BORDER</span>);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_WRAP_T</span>, <span class="constant">GL_CLAMP_TO_BORDER</span>);

<a href="../es3/glTexImage2D">glTexImage2D</a>(<span class="constant">GL_TEXTURE_2D</span>, 0, <span class="constant">GL_RGBA</span>, fbo_width, fbo_height, 0, <span class="constant">GL_RGBA</span>, <span class="constant">GL_UNSIGNED_BYTE</span>, <span class="ckeyword">NULL</span>);

<a href="../es3/glBindTexture">glBindTexture</a>(<span class="constant">GL_TEXTURE_2D</span>, 0);

<span class="codecomment">// Build the texture that will serve as the depth attachment <span class="ckeyword">for</span> the framebuffer.</span>
<span class="ckeyword">GLuint</span> depth_texture;
<a href="../es3/glGenTextures">glGenTextures</a>(1, &depth_texture);
<a href="../es3/glBindTexture">glBindTexture</a>(<span class="constant">GL_TEXTURE_2D</span>, depth_texture);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_MIN_FILTER</span>, <span class="constant">GL_NEAREST</span>);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_MAG_FILTER</span>, <span class="constant">GL_NEAREST</span>);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_WRAP_S</span>, <span class="constant">GL_CLAMP_TO_EDGE</span>);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_WRAP_T</span>, <span class="constant">GL_CLAMP_TO_EDGE</span>);
<a href="../es3/glTexImage2D">glTexImage2D</a>(<span class="constant">GL_TEXTURE_2D</span>, 0, <span class="constant">GL_DEPTH_COMPONENT</span>, fbo_width, fbo_height, 0, <span class="constant">GL_DEPTH_COMPONENT</span>, <span class="constant">GL_UNSIGNED_BYTE</span>, <span class="ckeyword">NULL</span>);
<a href="../es3/glBindTexture">glBindTexture</a>(<span class="constant">GL_TEXTURE_2D</span>, 0);

<span class="codecomment">// Build the framebuffer.</span>
<span class="ckeyword">GLuint</span> framebuffer;
<a href="../es3/glGenFramebuffers">glGenFramebuffers</a>(1, &framebuffer);
<a href="../es3/glBindFramebuffer">glBindFramebuffer</a>(<span class="constant">GL_FRAMEBUFFER</span>, (<span class="ckeyword">GLuint</span>)framebuffer);
<a href="../es3/glFramebufferTexture">glFramebufferTexture2D</a>(<span class="constant">GL_FRAMEBUFFER</span>, <span class="constant">GL_COLOR_ATTACHMENT0</span>, <span class="constant">GL_TEXTURE_2D</span>, texture_map, 0);
<a href="../es3/glFramebufferTexture">glFramebufferTexture2D</a>(<span class="constant">GL_FRAMEBUFFER</span>, <span class="constant">GL_DEPTH_ATTACHMENT</span>, <span class="constant">GL_TEXTURE_2D</span>, depth_texture, 0);

<span class="ckeyword">GLenum</span> status = <a href="../es3/glCheckFramebufferStatus">glCheckFramebufferStatus</a>(<span class="constant">GL_FRAMEBUFFER</span>);
<span class="ckeyword">if</span> (status != <span class="constant">GL_FRAMEBUFFER_COMPLETE</span>)
    <span class="codecomment">// Error</span>

<a href="../es3/glBindFramebuffer">glBindFramebuffer</a>(<span class="constant">GL_FRAMEBUFFER</span>, 0);</pre></div><div class="example">Create a texture object with linear mipmaps and edge clamping.<pre class="programlisting"><span class="ckeyword">GLuint</span> texture_id;
<a href="../es3/glGenTextures">glGenTextures</a>(1, &texture_id);
<a href="../es3/glBindTexture">glBindTexture</a>(<span class="constant">GL_TEXTURE_2D</span>, texture_id);

<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_MAG_FILTER</span>, <span class="constant">GL_LINEAR</span>);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_MIN_FILTER</span>, <span class="constant">GL_LINEAR_MIPMAP_LINEAR</span>);

<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_WRAP_S</span>, <span class="constant">GL_CLAMP_TO_EDGE</span>);
<a href="../es3/glTexParameter">glTexParameteri</a>(<span class="constant">GL_TEXTURE_2D</span>, <span class="constant">GL_TEXTURE_WRAP_T</span>, <span class="constant">GL_CLAMP_TO_EDGE</span>);

<span class="codecomment">// texture_data is the source data of your texture, in this <span class="ckeyword">case</span></span>
<span class="codecomment">// its size is <span class="ckeyword">sizeof</span>(<span class="ckeyword">unsigned</span> <span class="ckeyword">char</span>) * texture_width * texture_height * 4</span>
<a href="../es3/glTexImage2D">glTexImage2D</a>(<span class="constant">GL_TEXTURE_2D</span>, 0, <span class="constant">GL_RGBA</span>, texture_width, texture_height, 0, <span class="constant">GL_RGBA</span>, <span class="constant">GL_UNSIGNED_BYTE</span>, texture_data);
<a href="../es3/glGenerateMipmap">glGenerateMipmap</a>(<span class="constant">GL_TEXTURE_2D</span>); <span class="codecomment">// Unavailable in OpenGL 2.1, use gluBuild2DMipmaps() instead</span>

<a href="../es3/glBindTexture">glBindTexture</a>(<span class="constant">GL_TEXTURE_2D</span>, 0);
</pre></div></div><div class="refsect1" id="tutorials"><h2>Tutorials</h2><p><a href="https://www.songho.ca/opengl/gl_fbo.html">Songho - OpenGL Frame Buffer Object (FBO)</a><br><a href="https://open.gl/framebuffers">open.gl - Framebuffers</a><br><a href="https://open.gl/textures">open.gl - Textures Objects and Parameters</a><br><a href="https://www.opengl-tutorial.org/intermediate-tutorials/tutorial-14-render-to-texture/">opengl-tutorial.org - Tutorial 14 : Render To Texture</a><br><a href="https://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/">opengl-tutorial.org - Tutorial 16 : Shadow mapping</a><br><a href="https://www.opengl-tutorial.org/beginners-tutorials/tutorial-5-a-textured-cube/">opengl-tutorial.org - Tutorial 5 : A Textured Cube</a><br></p></div> <div class="refsect1" id="versions"> <h2>API Version Support</h2> <div class="informaltable"> <table style="border-collapse: collapse; border-top: 2px solid ; border-bottom: 2px solid ; border-left: 2px solid ; border-right: 2px solid ; "> <colgroup> <col style="text-align: left; "> <col style="text-align: center; " class="firstvers"> <col style="text-align: center; "> <col style="text-align: center; " class="lastvers"> </colgroup> <thead> <tr> <th style="text-align: left; border-right: 2px solid ; "> </th> <th style="text-align: center; border-bottom: 2px solid ; " colspan="3"> <span class="bold"><strong>OpenGL ES API Version</strong></span> </th> </tr> <tr> <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>Function Name</strong></span> </th> <th style="text-align: center; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>2.0</strong></span> </th> <th style="text-align: center; border-right: 2px solid ; border-bottom: 2px solid ; "> <span class="bold"><strong>3.0</strong></span> </th> <th style="text-align: center; border-bottom: 2px solid ; "> <span class="bold"><strong>3.1</strong></span> </th> </tr> </thead> <tbody> <tr> <td style="text-align: left; border-right: 2px solid ; ">glTexImage2D</td> <td style="text-align: center; border-right: 2px solid ; ">&#10004;</td> <td style="text-align: center; border-right: 2px solid ; ">&#10004;</td> <td style="text-align: center; ">&#10004;</td> </tr> </tbody> </table> </div> </div> <div class="refsect1" id="seealso"> <h2>See Also</h2> <p> <a class="citerefentry" href="glActiveTexture"><span class="citerefentry"><span class="refentrytitle">glActiveTexture</span></span></a>, <a class="citerefentry" href="glCopyTexImage2D"><span class="citerefentry"><span class="refentrytitle">glCopyTexImage2D</span></span></a>, <a class="citerefentry" href="glCopyTexSubImage2D"><span class="citerefentry"><span class="refentrytitle">glCopyTexSubImage2D</span></span></a>, <a class="citerefentry" href="glCopyTexSubImage3D"><span class="citerefentry"><span class="refentrytitle">glCopyTexSubImage3D</span></span></a>, <a class="citerefentry" href="glPixelStorei"><span class="citerefentry"><span class="refentrytitle">glPixelStorei</span></span></a>, <a class="citerefentry" href="glTexImage3D"><span class="citerefentry"><span class="refentrytitle">glTexImage3D</span></span></a>, <a class="citerefentry" href="glTexStorage2D"><span class="citerefentry"><span class="refentrytitle">glTexStorage2D</span></span></a>, <a class="citerefentry" href="glTexStorage3D"><span class="citerefentry"><span class="refentrytitle">glTexStorage3D</span></span></a>, <a class="citerefentry" href="glTexSubImage2D"><span class="citerefentry"><span class="refentrytitle">glTexSubImage2D</span></span></a>, <a class="citerefentry" href="glTexSubImage3D"><span class="citerefentry"><span class="refentrytitle">glTexSubImage3D</span></span></a>, <a class="citerefentry" href="glTexParameter"><span class="citerefentry"><span class="refentrytitle">glTexParameter</span></span></a> </p> </div> <div class="refsect1" id="Copyright"> <h2>Copyright</h2> <p> Copyright &#169; 1991-2006 Silicon Graphics, Inc. Copyright &#169; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see <a class="link" href="https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/" target="_top">https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/</a>. </p> </div> </div> </div> <div id="improvepage">Think you can improve this page? <a href="https://github.com/BSVino/docs.gl/blob/mainline/es3/glTexImage2D.xhtml">Edit this page</a> on <a href="https://github.com/BSVino/docs.gl/">GitHub</a>.</div> </div> <div id="footer"> <div id="credits"><a href="https://docs.gl/">docs.gl</a> was written by <a href="https://twitter.com/VinoBS">Jorge Rodr&#237;guez</a>. Each entry is under individual copyright displayed at the bottom of that entry. All other content is in the public domain.<br> docs.gl is completely unaffiliated with OpenGL and Khronos.<br> These pages were last compiled on 12 April 2026 at 14:17:30 GMT.</div> </div> <script async src="../docs.gl.search.js"></script> </body> </html> 