diff --git a/Source/Bind/GL2/GL2Generator.cs b/Source/Bind/GL2/GL2Generator.cs new file mode 100644 index 00000000..94d1fa23 --- /dev/null +++ b/Source/Bind/GL2/GL2Generator.cs @@ -0,0 +1,61 @@ +#region License +// +// GL2Generator.cs +// +// Author: +// Stefanos A. +// +// Copyright (c) 2006-2014 Stefanos Apostolopoulos +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +#endregion + +using System; +using System.IO; + +namespace Bind.GL2 +{ + + class GL2Generator : Generator + { + public GL2Generator(Settings settings, string dirname) + : base(settings, dirname) + { + if (Settings.Compatibility == Settings.Legacy.Tao) + { + Settings.OutputNamespace = "Tao.OpenGl"; + Settings.OutputClass = "Gl"; + } + else + { + // Defaults + } + + Settings.DefaultOutputNamespace = "OpenTK.Graphics.OpenGL"; + Settings.DefaultImportsFile = "GLCore.cs"; + Settings.DefaultDelegatesFile = "GLDelegates.cs"; + Settings.DefaultEnumsFile = "GLEnums.cs"; + Settings.DefaultWrappersFile = "GL.cs"; + Settings.DefaultDocPath = Path.Combine( + Settings.DefaultDocPath, "GL2"); + } + } +} + diff --git a/Source/Bind/Specifications/Docs/ES20/glActiveTexture.xml b/Source/Bind/Specifications/Docs/ES20/glActiveTexture.xml new file mode 100644 index 00000000..77e7be82 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glActiveTexture.xml @@ -0,0 +1,78 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glActiveTexture + 3G + + + glActiveTexture + select active texture unit + + C Specification + + + void glActiveTexture + GLenum texture + + + + + Parameters + + + texture + + + Specifies which texture unit to make active. The number + of texture units is implementation dependent, but must be at least + 8. texture must be one of + GL_TEXTUREi, + where + i ranges from 0 to (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). + The initial value is GL_TEXTURE0. + + + + + + Description + + glActiveTexture selects which texture unit subsequent texture state calls will + affect. The number of texture units an implementation supports is + implementation dependent, but must be at least 8. + + + Errors + + GL_INVALID_ENUM is generated if texture is not one of + GL_TEXTUREi, + where i ranges from 0 to (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). + + + Associated Gets + + glGet with argument GL_ACTIVE_TEXTURE or GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS + + + See Also + + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glAttachShader.xml b/Source/Bind/Specifications/Docs/ES20/glAttachShader.xml new file mode 100644 index 00000000..680aaf26 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glAttachShader.xml @@ -0,0 +1,107 @@ + + + + + glAttachShader + 3G + + + glAttachShader + attach a shader object to a program object + + C Specification + + + void glAttachShader + GLuint program + GLuint shader + + + + Parameters + + + program + + Specifies the program object to which a shader + object will be attached. + + + + + shader + + Specifies the shader object that is to be attached. + + + + + Description + In order to create an executable, there must be a way to + specify the list of things that will be linked together. Program + objects provide this mechanism. Shaders that are to be linked + together in a program object must first be attached to that + program object. glAttachShader attaches the + shader object specified by shader to the + program object specified by program. This + indicates that shader will be included in + link operations that will be performed on + program. + + All operations that can be performed on a shader object + are valid whether or not the shader object is attached to a + program object. It is permissible to attach a shader object to a + program object before source code has been loaded into the + shader object or before the shader object has been compiled. + Multiple shader objects of the same type may not be attached to + a single program object. However, a single shader object may be + attached to more than one program object. + If a shader object is deleted while it is + attached to a program object, it will be flagged for deletion, + and deletion will not occur until + glDetachShader + is called to detach it from all program objects to which it is + attached. + + Errors + GL_INVALID_VALUE is generated if either + program or shader + is not a value generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + shader is already attached to + program, or if another shader object of + the same type as shader is already attached + to program. + + Associated Gets + glGetAttachedShaders + with the handle of a valid program object + + glIsProgram + + glIsShader + + See Also + glCompileShader, + glDetachShader, + glLinkProgram, + glShaderSource, + glShaderBinary + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBindAttribLocation.xml b/Source/Bind/Specifications/Docs/ES20/glBindAttribLocation.xml new file mode 100644 index 00000000..d250119c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBindAttribLocation.xml @@ -0,0 +1,186 @@ + + + + + glBindAttribLocation + 3G + + + glBindAttribLocation + associate a generic vertex attribute index with a named attribute variable + + C Specification + + + void glBindAttribLocation + GLuint program + GLuint index + const GLchar *name + + + + Parameters + + + program + + Specifies the handle of the program object in + which the association is to be made. + + + + index + + Specifies the index of the generic vertex + attribute to be bound. + + + + name + + Specifies a null terminated string containing + the name of the vertex shader attribute variable to + which index is to be + bound. + + + + + Description + glBindAttribLocation is used to + associate a user-defined attribute variable in the program + object specified by program with a + generic vertex attribute index. The name of the user-defined + attribute variable is passed as a null terminated string in + name. The generic vertex attribute index + to be bound to this variable is specified by + index. When + program is made part of current state, + values provided via the generic vertex attribute + index will modify the value of the + user-defined attribute variable specified by + name. + + If name refers to a matrix + attribute variable, index refers to the + first column of the matrix. Other matrix columns are then + automatically bound to locations index+1 + for a matrix of type mat2; index+1 and + index+2 for a matrix of type mat3; and + index+1, index+2, + and index+3 for a matrix of type + mat4. + + This command makes it possible for vertex shaders to use + descriptive names for attribute variables rather than generic + variables that are numbered from 0 to + GL_MAX_VERTEX_ATTRIBS -1. The values sent + to each generic attribute index are part of current state, just + like standard vertex attributes such as color, normal, and + vertex position. If a different program object is made current + by calling + glUseProgram, + the generic vertex attributes are tracked in such a way that the + same values will be observed by attributes in the new program + object that are also bound to + index. Attribute variable + name-to-generic attribute index bindings for a program object + can be explicitly assigned at any time by calling + glBindAttribLocation. Attribute bindings do + not go into effect until + glLinkProgram + is called. After a program object has been linked successfully, + the index values for generic attributes remain fixed (and their + values can be queried) until the next link command + occurs. + + Applications are not allowed to bind any of the standard + OpenGL vertex attributes using this command, as they are bound + automatically when needed. Any attribute binding that occurs + after the program object has been linked will not take effect + until the next time the program object is linked. + + Notes + glBindAttribLocation can be called + before any vertex shader objects are bound to the specified + program object. It is also permissible to bind a generic + attribute index to an attribute variable name that is never used + in a vertex shader. + + If name was bound previously, that + information is lost. Thus you cannot bind one user-defined + attribute variable to multiple indices, but you can bind + multiple user-defined attribute variables to the same + index. + + Applications are allowed to bind more than one + user-defined attribute variable to the same generic vertex + attribute index. This is called aliasing, + and it is allowed only if just one of the aliased attributes is + active in the executable program, or if no path through the + shader consumes more than one attribute of a set of attributes + aliased to the same location. The compiler and linker are + allowed to assume that no aliasing is done and are free to + employ optimizations that work only in the absence of aliasing. + OpenGL implementations are not required to do error checking to + detect aliasing. Because there is no way to bind standard + attributes, it is not possible to alias generic attributes with + conventional ones (except for generic attribute 0). + + Active attributes that are not explicitly bound will be + bound by the linker when + glLinkProgram + is called. The locations assigned can be queried by calling + glGetAttribLocation. + + OpenGL copies the name string when + glBindAttribLocation is called, so an + application may free its copy of the name + string immediately after the function returns. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_OPERATION is generated if + name starts with the reserved prefix + "gl_". + + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetActiveAttrib + with argument program + + glGetAttribLocation + with arguments program and + name + + glIsProgram + + See Also + glDisableVertexAttribArray, + glEnableVertexAttribArray, + glUseProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBindBuffer.xml b/Source/Bind/Specifications/Docs/ES20/glBindBuffer.xml new file mode 100644 index 00000000..02cfe509 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBindBuffer.xml @@ -0,0 +1,139 @@ + + + + + + + 2005 + Sams Publishing + + + glBindBuffer + 3G + + + glBindBuffer + bind a named buffer object + + C Specification + + + void glBindBuffer + GLenum target + GLuint buffer + + + + Parameters + + + target + + + Specifies the target to which the buffer object is bound. + The symbolic constant must be + GL_ARRAY_BUFFER or + GL_ELEMENT_ARRAY_BUFFER. + + + + + buffer + + + Specifies the name of a buffer object. + + + + + + Description + + glBindBuffer lets you create or use a named buffer object. Calling glBindBuffer with + target set to + GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER + and buffer set to the name + of the new buffer object binds the buffer object name to the target. + When a buffer object is bound to a target, the previous binding for that + target is automatically broken. + + + Buffer object names are unsigned integers. The value zero is reserved, but + there is no default buffer object for each buffer object target. Instead, buffer set to zero + effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target. + Buffer object names and the corresponding buffer object contents are local to + the shared object space of the current GL rendering context. + + + You may use glGenBuffers to generate a set of new buffer object names. + + + The state of a buffer object immediately after it is first bound is a zero-sized memory buffer with + GL_STATIC_DRAW usage. + + + While a non-zero buffer object name is bound, GL operations on the target to which it is + bound affect the bound buffer object, and queries of the target to which it is bound return state + from the bound buffer object. While buffer object name zero is bound, as in the initial state, + attempts to modify or query state on the target to which it is bound generates an + GL_INVALID_OPERATION error. + + + When vertex array pointer state is changed by a call to + glVertexAttribPointer, + the current buffer object binding (GL_ARRAY_BUFFER_BINDING) is copied into the + corresponding client state for the vertex attrib array being changed, one of the indexed + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDINGs. While a non-zero buffer object is bound to the + GL_ARRAY_BUFFER target, the vertex array pointer parameter that is traditionally + interpreted as a pointer to client-side memory is instead interpreted as an offset within the + buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_ELEMENT_ARRAY_BUFFER target, + the indices parameter of glDrawElements that is traditionally + interpreted as a pointer to client-side memory is instead interpreted as an offset within the + buffer object measured in basic machine units. + + + A buffer object binding created with glBindBuffer remains active until a different + buffer object name is bound to the same target, or until the bound buffer object is + deleted with glDeleteBuffers. + + + Once created, a named buffer object may be re-bound to any target as often as needed. However, + the GL implementation may make choices about how to optimize the storage of a buffer object based + on its initial binding target. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable + values. + + + Associated Gets + + glGet with argument GL_ARRAY_BUFFER_BINDING + + + glGet with argument GL_ELEMENT_ARRAY_BUFFER_BINDING + + + See Also + + glDeleteBuffers, + glGenBuffers, + glGet, + glIsBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBindFramebuffer.xml b/Source/Bind/Specifications/Docs/ES20/glBindFramebuffer.xml new file mode 100644 index 00000000..690c37ca --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBindFramebuffer.xml @@ -0,0 +1,160 @@ + + + + + + + 2005 + Sams Publishing + + + glBindFramebuffer + 3G + + + glBindFramebuffer + bind a named framebuffer object + + C Specification + + + void glBindFramebuffer + GLenum target + GLuint framebuffer + + + + Parameters + + + target + + + Specifies the target to which the framebuffer object is bound. + The symbolic constant must be + GL_FRAMEBUFFER. + + + + + framebuffer + + + Specifies the name of a framebuffer object. + + + + + + Description + + glBindFramebuffer lets you create or use a named framebuffer object. Calling glBindFramebuffer with + target set to GL_FRAMEBUFFER + and framebuffer set to the name + of the new framebuffer object binds the framebuffer object name. + When a framebuffer object is bound, the previous binding + is automatically broken. + + + Framebuffer object names are unsigned integers. The value zero is reserved to represent the default framebuffer + provided by the windowing system. Framebuffer object names and the corresponding framebuffer object contents are local to + the shared object space of the current GL rendering context. + + + You may use glGenFramebuffers to generate a set of new framebuffer object names. + + + The state of a framebuffer object immediately after it is first bound is + three attachment points (GL_COLOR_ATTACHMENT0, + GL_DEPTH_ATTACHMENT, and + GL_STENCIL_ATTACHMENT) each with + GL_NONE as the object type. + + + While a non-zero framebuffer object name is bound, GL operations on + target GL_FRAMEBUFFER affect the bound framebuffer + object, and queries of target GL_FRAMEBUFFER or of + framebuffer details such as GL_DEPTH_BITS + return state from the bound framebuffer object. While framebuffer object + name zero is bound, as in the initial state, attempts to modify or query + state on target GL_FRAMEBUFFER generates an + GL_INVALID_OPERATION error. + + + While a non-zero framebuffer object name is bound, all rendering to the + framebuffer (with glDrawArrays + and glDrawElements) + and reading from the framebuffer (with + glReadPixels, + glCopyTexImage2D, + or glCopyTexSubImage2D) + use the images attached to the application-created framebuffer object rather than the default + window-system-provided framebuffer. + + + Application created framebuffer objects (i.e. those with a non-zero name) + differ from the default window-system-provided framebuffer in a few + important ways. First, they have modifiable attachment points for + a color buffer, a depth buffer, and a stencil buffer to which framebuffer + attachable images may be attached and detached. Second, the size and format of the + attached images are controlled entirely within the GL and are not + affected by window-system events, such as pixel format selection, + window resizes, and display mode changes. Third, when rendering to or + reading from an application created framebuffer object, the pixel + ownership test always succeeds (i.e. they own all their pixels). Fourth, + there are no visible color buffer bitplanes, only a single "off-screen" + color image attachment, so there is no sense of front and back buffers + or swapping. Finally, there is no multisample buffer, so the value of + the implementation-dependent state variables + GL_SAMPLES and GL_SAMPLE_BUFFERS + are both zero for application created framebuffer objects. + + + A framebuffer object binding created with glBindFramebuffer remains active until a different + framebuffer object name is bound, or until the bound framebuffer object is + deleted with glDeleteFramebuffers. + + + Notes + + Queries of implementation-dependent pixel depths and related state are + derived from the currently bound framebuffer object. These include + GL_RED_BITS, GL_GREEN_BITS, + GL_BLUE_BITS, GL_ALPHA_BITS, + GL_DEPTH_BITS, GL_STENCIL_BITS, + GL_IMPLEMENTATION_COLOR_READ_TYPE, + GL_IMPLEMENTATION_COLOR_READ_FORMAT, + GL_SAMPLES, and GL_SAMPLE_BUFFERS. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_FRAMEBUFFER. + + + Associated Gets + + glGet with argument GL_FRAMEBUFFER_BINDING + + + See Also + + glDeleteFramebuffers, + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glGenFramebuffers, + glGet, + glGetFramebufferAttachmentParameteriv, + glIsFramebuffer + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBindRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES20/glBindRenderbuffer.xml new file mode 100644 index 00000000..98ec2e7a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBindRenderbuffer.xml @@ -0,0 +1,123 @@ + + + + + + + 2005 + Sams Publishing + + + glBindRenderbuffer + 3G + + + glBindRenderbuffer + bind a named renderbuffer object + + C Specification + + + void glBindRenderbuffer + GLenum target + GLuint renderbuffer + + + + Parameters + + + target + + + Specifies the target to which the renderbuffer object is bound. + The symbolic constant must be + GL_RENDERBUFFER. + + + + + renderbuffer + + + Specifies the name of a renderbuffer object. + + + + + + Description + + A renderbuffer is a data storage object containing a single + image of a renderable internal format. A renderbuffer's image + may be attached to a framebuffer object to use as a destination + for rendering and as a source for reading. + + + glBindRenderbuffer lets you create or use a named renderbuffer object. Calling glBindRenderbuffer with + target set to GL_RENDERBUFFER + and renderbuffer set to the name + of the new renderbuffer object binds the renderbuffer object name. + When a renderbuffer object is bound, the previous binding + is automatically broken. + + + Renderbuffer object names are unsigned integers. The value zero is reserved, but there is no default renderbuffer object. + Instead, renderbuffer set to zero effectively unbinds any renderbuffer object previously bound. + Renderbuffer object names and the corresponding renderbuffer object contents are local to + the shared object space of the current GL rendering context. + + + You may use glGenRenderbuffers to generate a set of new renderbuffer object names. + + + The state of a renderbuffer object immediately after it is first bound is + a zero-sized memory buffer with format GL_RGBA4 and + zero-sized red, green, blue, alpha, depth, and stencil pixel depths. + + + While a non-zero renderbuffer object name is bound, GL operations on + target GL_RENDERBUFFER affect the bound renderbuffer + object, and queries of target GL_RENDERBUFFER + return state from the bound renderbuffer object. While renderbuffer object + name zero is bound, as in the initial state, attempts to modify or query + state on target GL_RENDERBUFFER generates an + GL_INVALID_OPERATION error. + + + A renderbuffer object binding created with glBindRenderbuffer remains active until a different + renderbuffer object name is bound, or until the bound renderbuffer object is + deleted with glDeleteRenderbuffers. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + Associated Gets + + glGet with argument GL_RENDERBUFFER_BINDING + + + See Also + + glDeleteRenderbuffers, + glFramebufferRenderbuffer, + glGenRenderbuffers, + glGet, + glGetRenderbufferParameteriv, + glIsRenderbuffer, + glRenderbufferStorage + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBindTexture.xml b/Source/Bind/Specifications/Docs/ES20/glBindTexture.xml new file mode 100644 index 00000000..ca5c939b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBindTexture.xml @@ -0,0 +1,132 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBindTexture + 3G + + + glBindTexture + bind a named texture to a texturing target + + C Specification + + + void glBindTexture + GLenum target + GLuint texture + + + + Parameters + + + target + + + Specifies the target of the active texture unit to which the texture is bound. + Must be either + GL_TEXTURE_2D or + GL_TEXTURE_CUBE_MAP. + + + + + texture + + + Specifies the name of a texture. + + + + + + Description + + glBindTexture lets you create or use a named texture. Calling glBindTexture with + target set to + GL_TEXTURE_2D or + GL_TEXTURE_CUBE_MAP and texture set to the name + of the new texture binds the texture name to the target of the current active texture unit. + When a texture is bound to a target, the previous binding for that + target is automatically broken. + + + Texture names are unsigned integers. The value zero is reserved to + represent the default texture for each texture target. + Texture names and the corresponding texture contents are local to + the shared object space of the current GL rendering context. + + + You may use glGenTextures to generate a set of new texture names. + + + When a texture is first bound, it assumes the specified target: + A texture first bound to GL_TEXTURE_2D becomes a two-dimensional texture and a + texture first bound to GL_TEXTURE_CUBE_MAP + becomes a cube-mapped texture. The state of a two-dimensional texture + immediately after it is first bound is equivalent to the state of the + default GL_TEXTURE_2D at GL initialization, and similarly for cube-mapped textures. + + + While a texture is bound, GL operations on the target to which it is + bound affect the bound texture, and queries of the target to which it + is bound return state from the bound texture. + In effect, the texture targets become aliases for the textures currently + bound to them, and the texture name zero refers to the default textures + that were bound to them at initialization. + + + A texture binding created with glBindTexture remains active until a different + texture is bound to the same target, or until the bound texture is + deleted with glDeleteTextures. + + + Once created, a named texture may be re-bound to its same original target as often as needed. + It is usually much faster to use glBindTexture to bind an existing named + texture to one of the texture targets than it is to reload the texture image + using glTexImage2D. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable + values. + + + GL_INVALID_OPERATION is generated if texture was previously created with a target + that doesn't match that of target. + + + Associated Gets + + glGet with argument GL_TEXTURE_BINDING_2D or GL_TEXTURE_BINDING_CUBE_MAP + + + See Also + + glDeleteTextures, + glGenTextures, + glGet, + glGetTexParameter, + glIsTexture, + glTexImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBlendColor.xml b/Source/Bind/Specifications/Docs/ES20/glBlendColor.xml new file mode 100644 index 00000000..dcd8909f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBlendColor.xml @@ -0,0 +1,82 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendColor + 3G + + + glBlendColor + set the blend color + + C Specification + + + void glBlendColor + GLclampf red + GLclampf green + GLclampf blue + GLclampf alpha + + + + + Parameters + + + red + green + blue + alpha + + + specify the components of GL_BLEND_COLOR + + + + + + Description + + The GL_BLEND_COLOR may be used to calculate the source and destination + blending factors. The color components are clamped to the range + + + + 0 + 1 + + + before being stored. See glBlendFunc for a complete description of the + blending operations. + Initially the GL_BLEND_COLOR is set to (0, 0, 0, 0). + + + Associated Gets + + glGet with an argument of GL_BLEND_COLOR + + + See Also + + glBlendEquation, + glBlendFunc, + glGetString + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBlendEquation.xml b/Source/Bind/Specifications/Docs/ES20/glBlendEquation.xml new file mode 100644 index 00000000..bebcfe94 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBlendEquation.xml @@ -0,0 +1,549 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendEquation + 3G + + + glBlendEquation + specify the equation used for both the RGB blend equation and the Alpha blend equation + + C Specification + + + void glBlendEquation + GLenum mode + + + + + Parameters + + + mode + + + specifies how source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, or + GL_FUNC_REVERSE_SUBTRACT. + + + + + + Description + + The blend equations determine how a new pixel (the ''source'' color) + is combined with a pixel already in the framebuffer (the ''destination'' + color). This function sets both the RGB blend equation and the alpha + blend equation to a single equation. + + + These equations use the source and destination blend factors + specified by either glBlendFunc or + glBlendFuncSeparate. + See glBlendFunc or glBlendFuncSeparate + for a description of the various blend factors. + + + In the equations that follow, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + , + respectively. + The result color is referred to as + + + + R + r + + G + r + + B + r + + A + r + + + . + The source and destination blend factors are denoted + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + , + respectively. + For these equations all color components are understood to have values + in the range + + + + 0 + 1 + + . + + + + + + + + + + Mode + + + RGB Components + + + Alpha Component + + + + + + + GL_FUNC_ADD + + + + + + Rr + = + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + GL_FUNC_SUBTRACT + + + + + + Rr + = + + R + s + + + s + R + + - + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + - + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + - + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + - + A + d + + + d + A + + + + + + + + + GL_FUNC_REVERSE_SUBTRACT + + + + + + Rr + = + + R + d + + + d + R + + - + R + s + + + s + R + + + + + + + + Gr + = + + G + d + + + d + G + + - + G + s + + + s + G + + + + + + + + Br + = + + B + d + + + d + B + + - + B + s + + + s + B + + + + + + + + + + Ar + = + + A + d + + + d + A + + - + A + s + + + s + A + + + + + + + + + + + + The results of these equations are clamped to the range + + + + 0 + 1 + + . + + + The GL_FUNC_ADD equation is useful + for antialiasing and transparency, among other things. + + + Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. + + + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of + GL_FUNC_ADD, GL_FUNC_SUBTRACT, or GL_FUNC_REVERSE_SUBTRACT. + + + Associated Gets + + glGet with an argument of GL_BLEND_EQUATION_RGB + + + glGet with an argument of GL_BLEND_EQUATION_ALPHA + + + See Also + + glGetString, + glBlendColor, + glBlendEquationSeparate, + glBlendFunc + glBlendFuncSeparate + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBlendEquationSeparate.xml b/Source/Bind/Specifications/Docs/ES20/glBlendEquationSeparate.xml new file mode 100644 index 00000000..b79426f9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBlendEquationSeparate.xml @@ -0,0 +1,560 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendEquationSeparate + 3G + + + glBlendEquationSeparate + set the RGB blend equation and the alpha blend equation separately + + C Specification + + + void glBlendEquationSeparate + GLenum modeRGB + GLenum modeAlpha + + + + + Parameters + + + modeRGB + + + specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, or + GL_FUNC_REVERSE_SUBTRACT. + + + + + modeAlpha + + + specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, or + GL_FUNC_REVERSE_SUBTRACT. + + + + + + Description + + The blend equations determines how a new pixel (the ''source'' color) + is combined with a pixel already in the framebuffer (the ''destination'' + color). This function specifies one blend equation for the RGB-color + components and one blend equation for the alpha component. + + + The blend equations use the source and destination blend factors + specified by either glBlendFunc or + glBlendFuncSeparate. + See glBlendFunc or glBlendFuncSeparate + for a description of the various blend factors. + + + In the equations that follow, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + , + respectively. + The result color is referred to as + + + + R + r + + G + r + + B + r + + A + r + + + . + The source and destination blend factors are denoted + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + , + respectively. + For these equations all color components are understood to have values + in the range + + + + 0 + 1 + + . + + + + + + + + + + Mode + + + RGB Components + + + Alpha Component + + + + + + + GL_FUNC_ADD + + + + + + Rr + = + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + GL_FUNC_SUBTRACT + + + + + + Rr + = + + R + s + + + s + R + + - + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + - + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + - + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + - + A + d + + + d + A + + + + + + + + + GL_FUNC_REVERSE_SUBTRACT + + + + + + Rr + = + + R + d + + + d + R + + - + R + s + + + s + R + + + + + + + + Gr + = + + G + d + + + d + G + + - + G + s + + + s + G + + + + + + + + Br + = + + B + d + + + d + B + + - + B + s + + + s + B + + + + + + + + + + Ar + = + + A + d + + + d + A + + - + A + s + + + s + A + + + + + + + + + + + + The results of these equations are clamped to the range + + + + 0 + 1 + + . + + + The GL_FUNC_ADD equation is useful + for antialiasing and transparency, among other things. + + + Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. + + + + + Errors + + GL_INVALID_ENUM is generated if either modeRGB or modeAlpha is not one of + GL_FUNC_ADD, GL_FUNC_SUBTRACT, or GL_FUNC_REVERSE_SUBTRACT. + + + Associated Gets + + glGet with an argument of GL_BLEND_EQUATION_RGB + + + glGet with an argument of GL_BLEND_EQUATION_ALPHA + + + See Also + + glGetString, + glBlendColor, + glBlendEquation, + glBlendFunc, + glBlendFuncSeparate + + + Copyright + + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBlendFunc.xml b/Source/Bind/Specifications/Docs/ES20/glBlendFunc.xml new file mode 100644 index 00000000..1fcb528b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBlendFunc.xml @@ -0,0 +1,989 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendFunc + 3G + + + glBlendFunc + specify pixel arithmetic + + C Specification + + + void glBlendFunc + GLenum sfactor + GLenum dfactor + + + + + Parameters + + + sfactor + + + Specifies how the red, green, blue, + and alpha source blending factors are computed. + The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA, + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, + GL_ONE_MINUS_CONSTANT_ALPHA, and + GL_SRC_ALPHA_SATURATE. + The initial value is GL_ONE. + + + + + dfactor + + + Specifies how the red, green, blue, + and alpha destination blending factors are computed. + The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA. + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, and + GL_ONE_MINUS_CONSTANT_ALPHA. + The initial value is GL_ZERO. + + + + + + Description + + Pixels can be drawn using a function that blends + the incoming (source) RGBA values with the RGBA values + that are already in the frame buffer (the destination values). + Blending is initially disabled. + Use glEnable and glDisable with argument GL_BLEND + to enable and disable blending. + + + glBlendFunc defines the operation of blending when it is enabled. + sfactor specifies which method is used to scale the + source color components. + dfactor specifies which method is used to scale the + destination color components. + The possible methods are described in the following table. + Each method defines four scale factors, + one each for red, green, blue, and alpha. + In the table and in subsequent equations, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + . + The color specified by glBlendColor is referred to as + + + + R + c + + G + c + + B + c + + A + c + + + . + They are understood to have integer values between 0 and + + + + k + R + + k + G + + k + B + + k + A + + + , + where + + + + + + + k + c + + = + + 2 + + m + c + + + + - + 1 + + + + + + + and + + + + m + R + + m + G + + m + B + + m + A + + + + is the number of red, + green, + blue, + and alpha bitplanes. + + + Source and destination scale factors are referred to as + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + . + The scale factors described in the table, + denoted + + + + f + R + + f + G + + f + B + + f + A + + + , + represent either source or destination factors. + All scale factors have range + + + + 0 + 1 + + . + + + + + + + + + + + Parameter + + + + + + f + R + + f + G + + f + B + + f + A + + + + + + + + + + GL_ZERO + + + + + + 0 + 0 + 0 + 0 + + + + + + + GL_ONE + + + + + + 1 + 1 + 1 + 1 + + + + + + + GL_SRC_COLOR + + + + + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + A + s + + k + A + + + + + + + + + GL_ONE_MINUS_SRC_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + A + s + + k + A + + + + + + + + + + GL_DST_COLOR + + + + + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + A + d + + k + A + + + + + + + + + GL_ONE_MINUS_DST_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + A + d + + k + A + + + + + + + + + + GL_SRC_ALPHA + + + + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + GL_ONE_MINUS_SRC_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + GL_DST_ALPHA + + + + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + GL_ONE_MINUS_DST_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + GL_CONSTANT_COLOR + + + + + + R + c + + G + c + + B + c + + A + c + + + + + + + + GL_ONE_MINUS_CONSTANT_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + R + c + + G + c + + B + c + + A + c + + + + + + + + + GL_CONSTANT_ALPHA + + + + + + A + c + + A + c + + A + c + + A + c + + + + + + + + GL_ONE_MINUS_CONSTANT_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + A + c + + A + c + + A + c + + A + c + + + + + + + + + GL_SRC_ALPHA_SATURATE + + + + + + i + i + i + 1 + + + + + + + + + In the table, + + + + + + + i + = + + + min + + + A + s + + + k + A + + - + A + d + + + + + k + A + + + + + + + + To determine the blended RGBA values of a pixel, + the system uses one of the equations set by + glBlendEquation or + glBlendEquationSeparate. + + + Blending arithmetic is not exactly specified, + because blending operates with imprecise integer color values. + However, + a blend factor that should be equal to 1 + is guaranteed not to modify its multiplicand, + and a blend factor equal to 0 reduces its multiplicand to 0. + + + Notes + + Incoming (source) alpha is correctly thought of as a material opacity, + ranging from 1.0 + ( + + K + A + + ), + representing complete opacity, + to 0.0 (0), representing complete + transparency. + + + Transparency is best implemented using blend function + (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + with primitives sorted from farthest to nearest. + Note that this transparency calculation does not require + the presence of alpha bitplanes in the frame buffer. + + + Errors + + GL_INVALID_ENUM is generated if either sfactor or dfactor is not an + accepted value. + + + Associated Gets + + glGet with argument GL_BLEND_SRC_RGB or GL_BLEND_SRC_ALPHA + + + glGet with argument GL_BLEND_DST_RGB or GL_BLEND_DST_ALPHA + + + glIsEnabled with argument GL_BLEND + + + + + See Also + + glBlendColor, + glBlendEquation, + glBlendEquationSeparate, + glBlendFuncSeparate, + glClear, + glEnable, + glStencilFunc + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBlendFuncSeparate.xml b/Source/Bind/Specifications/Docs/ES20/glBlendFuncSeparate.xml new file mode 100644 index 00000000..bc0a282e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBlendFuncSeparate.xml @@ -0,0 +1,1071 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendFuncSeparate + 3G + + + glBlendFuncSeparate + specify pixel arithmetic for RGB and alpha components separately + + C Specification + + + void glBlendFuncSeparate + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + + + Parameters + + + srcRGB + + + Specifies how the red, green, and blue blending factors are computed. + The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA, + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, + GL_ONE_MINUS_CONSTANT_ALPHA, and + GL_SRC_ALPHA_SATURATE. + The initial value is GL_ONE. + + + + + dstRGB + + + Specifies how the red, green, and blue destination blending factors are + computed. The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA. + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, and + GL_ONE_MINUS_CONSTANT_ALPHA. + The initial value is GL_ZERO. + + + + + srcAlpha + + + Specified how the alpha source blending factor is computed. The same + symbolic constants are accepted as for srcRGB. + The initial value is GL_ONE. + + + + + dstAlpha + + + Specified how the alpha destination blending factor is computed. The same + symbolic constants are accepted as for dstRGB. + The initial value is GL_ZERO. + + + + + + Description + + Pixels can be drawn using a function that blends + the incoming (source) RGBA values with the RGBA values + that are already in the frame buffer (the destination values). + Blending is initially disabled. + Use glEnable and glDisable with argument GL_BLEND + to enable and disable blending. + + + glBlendFuncSeparate defines the operation of blending when it is enabled. + srcRGB specifies which method is used to scale the + source RGB-color components. + dstRGB specifies which method is used to scale the + destination RGB-color components. + Likewise, srcAlpha specifies which method is used to scale the source alpha + color component, and dstAlpha specifies which method is used to scale the + destination alpha component. + The possible methods are described in the following table. + Each method defines four scale factors, + one each for red, green, blue, and alpha. + + + In the table and in subsequent equations, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + . + The color specified by glBlendColor is referred to as + + + + R + c + + G + c + + B + c + + A + c + + + . + They are understood to have integer values between 0 and + + + + k + R + + k + G + + k + B + + k + A + + + , + where + + + + + + + k + c + + = + + 2 + + m + c + + + + - + 1 + + + + + + + and + + + + m + R + + m + G + + m + B + + m + A + + + + is the number of red, + green, + blue, + and alpha bitplanes. + + + Source and destination scale factors are referred to as + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + . + All scale factors have range + + + + 0 + 1 + + . + + + + + + + + + + + + Parameter + + + RGB Factor + + + Alpha Factor + + + + + + + GL_ZERO + + + + + + 0 + 0 + 0 + + + + + + + 0 + + + + + + GL_ONE + + + + + + 1 + 1 + 1 + + + + + + + 1 + + + + + + GL_SRC_COLOR + + + + + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + + + + + + + A + s + + k + A + + + + + + + + GL_ONE_MINUS_SRC_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + + + + + + + + 1 + - + + A + s + + k + A + + + + + + + + + GL_DST_COLOR + + + + + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + + + + + + + A + d + + k + A + + + + + + + + GL_ONE_MINUS_DST_COLOR + + + + + + + 1 + 1 + 1 + + - + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + + + + + + + + 1 + - + + A + d + + k + A + + + + + + + + + GL_SRC_ALPHA + + + + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + A + s + + k + A + + + + + + + + GL_ONE_MINUS_SRC_ALPHA + + + + + + + 1 + 1 + 1 + + - + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + + 1 + - + + A + s + + k + A + + + + + + + + + GL_DST_ALPHA + + + + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + A + d + + k + A + + + + + + + + GL_ONE_MINUS_DST_ALPHA + + + + + + + 1 + 1 + 1 + + - + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + + 1 + - + + A + d + + k + A + + + + + + + + + GL_CONSTANT_COLOR + + + + + + R + c + + G + c + + B + c + + + + + + + + A + c + + + + + + + GL_ONE_MINUS_CONSTANT_COLOR + + + + + + + 1 + 1 + 1 + + - + + R + c + + G + c + + B + c + + + + + + + + + + 1 + - + A + c + + + + + + + + GL_CONSTANT_ALPHA + + + + + + A + c + + A + c + + A + c + + + + + + + + A + c + + + + + + + GL_ONE_MINUS_CONSTANT_ALPHA + + + + + + + 1 + 1 + 1 + + - + + A + c + + A + c + + A + c + + + + + + + + + + 1 + - + A + c + + + + + + + + GL_SRC_ALPHA_SATURATE + + + + + + i + i + i + + + + + + + 1 + + + + + + + + In the table, + + + + + + + i + = + + min + + + A + s + + + 1 + - + + A + d + + + + + + + + + + + To determine the blended RGBA values of a pixel, + the system uses one of the equations set by + glBlendEquation or + glBlendEquationSeparate. + + + Despite the apparent precision of the above equations, blending arithmetic + is not exactly specified, because blending operates with imprecise integer + color values. However, a blend factor that should be equal to 1 is + guaranteed not to modify its multiplicand, and a blend factor equal to 0 + reduces its multiplicand to 0. + + + Notes + + Incoming (source) alpha is correctly thought of as a material opacity, + ranging from 1.0 + ( + + K + A + + ), + representing complete opacity, + to 0.0 (0), representing complete + transparency. + + + Errors + + GL_INVALID_ENUM is generated if + srcRGB, dstRGB, + srcAlpha, or dstAlpha + is not an accepted value. + + + Associated Gets + + glGet with argument GL_BLEND_SRC_RGB + + + glGet with argument GL_BLEND_SRC_ALPHA + + + glGet with argument GL_BLEND_DST_RGB + + + glGet with argument GL_BLEND_DST_ALPHA + + + glIsEnabled with argument GL_BLEND + + + + + See Also + + glBlendColor, + glBlendEquation, + glBlendEquationSeparate, + glBlendFunc, + glClear, + glEnable, + glStencilFunc + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBufferData.xml b/Source/Bind/Specifications/Docs/ES20/glBufferData.xml new file mode 100644 index 00000000..5913588e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBufferData.xml @@ -0,0 +1,179 @@ + + + + + + + 2005 + Sams Publishing + + + glBufferData + 3G + + + glBufferData + create and initialize a buffer object's data store + + C Specification + + + void glBufferData + GLenum target + GLsizeiptr size + const GLvoid * data + GLenum usage + + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER or + GL_ELEMENT_ARRAY_BUFFER. + + + + + size + + + Specifies the size in bytes of the buffer object's new data store. + + + + + data + + + Specifies a pointer to data that will be copied into the data store for initialization, + or NULL if no data is to be copied. + + + + + usage + + + Specifies the expected usage pattern of the data store. The symbolic constant must be + GL_STREAM_DRAW, GL_STATIC_DRAW, or + GL_DYNAMIC_DRAW. + + + + + + Description + + glBufferData creates a new data store for the buffer object currently bound to + target. Any pre-existing data store is deleted. The new data store is created with the + specified size in bytes and usage. If data + is not NULL, the data store is initialized with data from this pointer. + + + usage is a hint to the GL implementation as to how a buffer object's data store will be + accessed. This enables the GL implementation to make more intelligent decisions that may significantly + impact buffer object performance. It does not, however, constrain the actual usage of the data store. + usage can be broken down into two parts: first, the frequency of access (modification + and usage), and second, the nature of that access. The frequency of access may be one of these: + + + + STREAM + + + The data store contents will be modified once and used at most a few times. + + + + + STATIC + + + The data store contents will be modified once and used many times. + + + + + DYNAMIC + + + The data store contents will be modified repeatedly and used many times. + + + + + + The nature of access must be: + + + + DRAW + + + The data store contents are modified by the application, and used as the source for GL drawing and + image specification commands. + + + + + + Notes + + If data is NULL, a data store of the specified size is still created, + but its contents remain uninitialized and thus undefined. + + + Clients must align data elements consistent with the requirements of the client + platform, with an additional base-level requirement that an offset within a buffer to + a datum comprising N be a + multiple of N. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER. + + + GL_INVALID_ENUM is generated if usage is not + GL_STREAM_DRAW, + GL_STATIC_DRAW, or + GL_DYNAMIC_DRAW. + + + GL_INVALID_VALUE is generated if size is negative. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store with the specified size. + + + Associated Gets + + glGetBufferParameteriv with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE + + + See Also + + glBindBuffer, + glBufferSubData + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glBufferSubData.xml b/Source/Bind/Specifications/Docs/ES20/glBufferSubData.xml new file mode 100644 index 00000000..1c25da1a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glBufferSubData.xml @@ -0,0 +1,126 @@ + + + + + + + 2005 + Sams Publishing + + + glBufferSubData + 3G + + + glBufferSubData + update a subset of a buffer object's data store + + C Specification + + + void glBufferSubData + GLenum target + GLintptr offset + GLsizeiptr size + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER or + GL_ELEMENT_ARRAY_BUFFER. + + + + + offset + + + Specifies the offset into the buffer object's data store where data replacement will begin, + measured in bytes. + + + + + size + + + Specifies the size in bytes of the data store region being replaced. + + + + + data + + + Specifies a pointer to the new data that will be copied into the data store. + + + + + + Description + + glBufferSubData redefines some or all of the data store for the buffer object currently + bound to target. Data starting at byte offset offset and + extending for size bytes is copied to the data store from the memory pointed to by + data. An error is thrown if offset and size + together define a range beyond the bounds of the buffer object's data store. + + + Notes + + When replacing the entire data store, consider using glBufferSubData rather + than completely recreating the data store with glBufferData. This avoids the cost of + reallocating the data store. + + + Consider using multiple buffer objects to avoid stalling the rendering pipeline during data store updates. + If any rendering in the pipeline makes reference to data in the buffer object being updated by + glBufferSubData, especially from the specific region being updated, that rendering must + drain from the pipeline before the data store can be updated. + + + Clients must align data elements consistent with the requirements of the client + platform, with an additional base-level requirement that an offset within a buffer to + a datum comprising N be a + multiple of N. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER. + + + GL_INVALID_VALUE is generated if offset or + size is negative, or if together they define a region of memory + that extends beyond the buffer object's allocated data store. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + See Also + + glBindBuffer, + glBufferData + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCheckFramebufferStatus.xml b/Source/Bind/Specifications/Docs/ES20/glCheckFramebufferStatus.xml new file mode 100644 index 00000000..c062554e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCheckFramebufferStatus.xml @@ -0,0 +1,164 @@ + + + + + + + 2005 + Sams Publishing + + + glCheckFramebufferStatus + 3G + + + glCheckFramebufferStatus + return the framebuffer completeness status of a framebuffer object + + C Specification + + + GLenum glCheckFramebufferStatus + GLenum target + + + + Parameters + + + target + + + Specifies the target framebuffer object. + The symbolic constant must be GL_FRAMEBUFFER. + + + + + + Description + + glCheckFramebufferStatus returns a symbolic + constant that identifies whether or not the currently bound + framebuffer is framebuffer complete, and if not, which of the rules + of framebuffer completeness is violated. + + + If the framebuffer is complete, then + GL_FRAMEBUFFER_COMPLETE is returned. + If the framebuffer is not complete, the return values are as follows: + + + + GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT + + + Not all framebuffer attachment points are framebuffer + attachment complete. This means that at least one + attachment point with a renderbuffer or texture + attached has its attached object no longer in existence + or has an attached image with a width or height of + zero, or the color attachment point has a + non-color-renderable image attached, or the + depth attachment point has a non-depth-renderable + image attached, or the stencil attachment point has a + non-stencil-renderable image attached. + + + Color-renderable formats include GL_RGBA4, + GL_RGB5_A1, and + GL_RGB565. + GL_DEPTH_COMPONENT16 is the only + depth-renderable format. + GL_STENCIL_INDEX8 is the only + stencil-renderable format. + + + + + GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS + + + Not all attached images have the same width and height. + + + + + GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT + + + No images are attached to the framebuffer. + + + + + GL_FRAMEBUFFER_UNSUPPORTED + + + The combination of internal formats of the attached + images violates an implementation-dependent set of + restrictions. + + + + + + If the currently bound framebuffer is not framebuffer complete, + then it is an error to attempt to use the framebuffer for + writing or reading. This means that rendering commands + (glClear, + glDrawArrays, and + glDrawElements) + as well as commands that read the framebuffer + (glReadPixels, + glCopyTexImage2D, and + glCopyTexSubImage2D) + will generate the error GL_INVALID_FRAMEBUFFER_OPERATION + if called while the framebuffer is not framebuffer complete. + + + Notes + + It is strongly advised, thought not required, that an application + call glCheckFramebufferStatus to see if the + framebuffer is complete prior to rendering. This is because some + implementations may not support rendering to particular combinations + of internal formats. In this case, + GL_FRAMEBUFFER_UNSUPPORTED + is returned. + + + The default window-system-provided framebuffer is always + framebuffer complete, and thus GL_FRAMEBUFFER_COMPLETE + is returned when GL_FRAMEBUFFER_BINDING is 0. + + + Additionally, if an error occurs, zero is returned. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_FRAMEBUFFER. + + + See Also + + glBindRenderbuffer, + glCopyTexImage2D, + glCopyTexSubImage2D, + glDrawArrays, + glDrawElements, + glReadPixels, + glRenderbufferStorage + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glClear.xml b/Source/Bind/Specifications/Docs/ES20/glClear.xml new file mode 100644 index 00000000..2b2dce81 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glClear.xml @@ -0,0 +1,140 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glClear + 3G + + + glClear + clear buffers to preset values + + C Specification + + + void glClear + GLbitfield mask + + + + Parameters + + + mask + + + Bitwise OR of masks that indicate the buffers to be cleared. + The three masks are + GL_COLOR_BUFFER_BIT, + GL_DEPTH_BUFFER_BIT, and + GL_STENCIL_BUFFER_BIT. + + + + + + Description + + glClear sets the bitplane area of the window to values previously selected + by glClearColor, glClearDepthf, and + glClearStencil. + + + The pixel ownership test, + the scissor test, + dithering, and the buffer writemasks affect the operation of glClear. + The scissor box bounds the cleared region. + Blend function, + stenciling, + fragment shading, + and depth-buffering are ignored by glClear. + + + glClear takes a single argument that is the bitwise OR of several + values indicating which buffer is to be cleared. + + + The values are as follows: + + + + GL_COLOR_BUFFER_BIT + + + Indicates the buffers currently enabled for color + writing. + + + + + GL_DEPTH_BUFFER_BIT + + + Indicates the depth buffer. + + + + + GL_STENCIL_BUFFER_BIT + + + Indicates the stencil buffer. + + + + + + The value to which each buffer is cleared depends on the setting of the + clear value for that buffer. + + + Notes + + If a buffer is not present, + then a glClear directed at that buffer has no effect. + + + Errors + + GL_INVALID_VALUE is generated if any bit other than the three defined + bits is set in mask. + + + Associated Gets + + glGet with argument GL_DEPTH_CLEAR_VALUE + + + glGet with argument GL_COLOR_CLEAR_VALUE + + + glGet with argument GL_STENCIL_CLEAR_VALUE + + + See Also + + glClearColor, + glClearDepthf, + glClearStencil, + glColorMask, + glDepthMask, + glScissor, + glStencilMask + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glClearColor.xml b/Source/Bind/Specifications/Docs/ES20/glClearColor.xml new file mode 100644 index 00000000..15c4b168 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glClearColor.xml @@ -0,0 +1,81 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glClearColor + 3G + + + glClearColor + specify clear values for the color buffers + + C Specification + + + void glClearColor + GLclampf red + GLclampf green + GLclampf blue + GLclampf alpha + + + + Parameters + + + red + green + blue + alpha + + + Specify the red, green, blue, and alpha values used when the + color buffers are cleared. + The initial values are all 0. + + + + + + Description + + glClearColor specifies the red, + green, + blue, + and alpha values used by glClear to clear the color buffers. + Values specified by glClearColor are clamped to the range + + + + 0 + 1 + + . + + + Associated Gets + + glGet with argument GL_COLOR_CLEAR_VALUE + + + See Also + + glClear + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glClearDepthf.xml b/Source/Bind/Specifications/Docs/ES20/glClearDepthf.xml new file mode 100644 index 00000000..b0c83f37 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glClearDepthf.xml @@ -0,0 +1,71 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glClearDepthf + 3G + + + glClearDepthf + specify the clear value for the depth buffer + + C Specification + + + void glClearDepthf + GLclampf depth + + + + Parameters + + + depth + + + Specifies the depth value used when the depth buffer is cleared. The + initial value is 1. + + + + + + Description + + glClearDepthf specifies the depth value used by glClear to clear the depth buffer. + Values specified by glClearDepthf are clamped to the range + + + + 0 + 1 + + . + + + Associated Gets + + glGet with argument GL_DEPTH_CLEAR_VALUE + + + See Also + + glClear + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glClearStencil.xml b/Source/Bind/Specifications/Docs/ES20/glClearStencil.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glClearStencil.xml rename to Source/Bind/Specifications/Docs/ES20/glClearStencil.xml index 7ffa635b..4ecc965b 100644 --- a/Source/Bind/Specifications/Docs/glClearStencil.xml +++ b/Source/Bind/Specifications/Docs/ES20/glClearStencil.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glClearStencil 3G @@ -28,6 +24,7 @@ + Parameters @@ -44,9 +41,9 @@ Description glClearStencil specifies the index used by glClear to clear the stencil buffer. - s is masked with + s is masked with - + 2 m @@ -55,7 +52,7 @@ 1 , - where + where m is the number of bits in the stencil buffer. @@ -79,12 +76,11 @@ glStencilOpSeparate - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/ES20/glColorMask.xml b/Source/Bind/Specifications/Docs/ES20/glColorMask.xml new file mode 100644 index 00000000..d5df1938 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glColorMask.xml @@ -0,0 +1,84 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glColorMask + 3G + + + glColorMask + enable and disable writing of frame buffer color components + + C Specification + + + void glColorMask + GLboolean red + GLboolean green + GLboolean blue + GLboolean alpha + + + + Parameters + + + red + green + blue + alpha + + + Specify whether red, green, blue, and alpha can or cannot be written + into the frame buffer. + The initial values are all GL_TRUE, + indicating that the color components can be written. + + + + + + Description + + glColorMask specifies whether the individual color components in the frame buffer + can or cannot be written. + If red is GL_FALSE, + for example, + no change is made to the red component of any pixel in any of the + color buffers, + regardless of the drawing operation attempted. + + + Changes to individual bits of components cannot be controlled. + Rather, + changes are either enabled or disabled for entire color components. + + + Associated Gets + + glGet with argument GL_COLOR_WRITEMASK + + + See Also + + glClear, + glDepthMask, + glStencilMask + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCompileShader.xml b/Source/Bind/Specifications/Docs/ES20/glCompileShader.xml new file mode 100644 index 00000000..6657e2e5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCompileShader.xml @@ -0,0 +1,104 @@ + + + + + glCompileShader + 3G + + + glCompileShader + compile a shader object + + C Specification + + + void glCompileShader + GLuint shader + + + + Parameters + + + shader + + Specifies the shader object to be + compiled. + + + + + Description + For implementations that support a shader compiler, + glCompileShader compiles the source + code strings that have been stored in the shader object + specified by shader. + + The compilation status will be stored as part of the + shader object's state. This value will be set to + GL_TRUE if the shader was compiled without + errors and is ready for use, and GL_FALSE + otherwise. It can be queried by calling + glGetShaderiv + with arguments shader and + GL_COMPILE_STATUS. + + Compilation of a shader can fail for a number of reasons + as specified by the OpenGL ES Shading Language Specification. + Whether or not the compilation was successful, information about + the compilation can be obtained from the shader object's + information log by calling + glGetShaderInfoLog. + + Notes + Shader compiler support is optional, and thus must be queried + before use by calling glGet + with argument GL_SHADER_COMPILER. glShaderSource, + glCompileShader, glGetShaderPrecisionFormat, and + glReleaseShaderCompiler will + each generate GL_INVALID_OPERATION on implementations + that do not support a shader compiler. Such implementations instead offer the + glShaderBinary + alternative for supplying a pre-compiled shader binary. + + Errors + GL_INVALID_OPERATION is generated if + a shader compiler is not supported. + + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + Associated Gets + glGet + with argument GL_SHADER_COMPILER + + glGetShaderInfoLog + with argument shader + + glGetShaderiv + with arguments shader and + GL_COMPILE_STATUS + + glIsShader + + See Also + glCreateShader, + glLinkProgram, + glReleaseShaderCompiler, + glShaderSource, + glGetShaderPrecisionFormat + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCompressedTexImage2D.xml b/Source/Bind/Specifications/Docs/ES20/glCompressedTexImage2D.xml new file mode 100644 index 00000000..270ff8f1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCompressedTexImage2D.xml @@ -0,0 +1,245 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCompressedTexImage2D + 3G + + + glCompressedTexImage2D + specify a two-dimensional texture image in a compressed format + + C Specification + + + void glCompressedTexImage2D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLint border + GLsizei imageSize + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target texture of the active texture unit. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the format of the compressed image data stored at address data. + + + + + width + + + Specifies the width of the texture image. + All + implementations support 2D texture images that are at least 64 texels + wide and cube-mapped texture images that are at least 16 texels wide. + + + + + height + + + Specifies the height of the texture image. + All + implementations support 2D texture images that are at least 64 texels + high and cube-mapped texture images that are at least 16 texels high. + + + + + border + + + Specifies the width of the border. + Must be 0. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is + active. Texturing is active when the current fragment shader or + vertex shader makes use of built-in texture lookup + functions. + + + glCompressedTexImage2D defines a two-dimensional texture image + or cube-map texture image using compressed image data from client memory. The texture + image is decoded according to the extension specification defining the specified + internalformat. OpenGL ES defines no specific compressed + texture formats, but does provide a mechanism to obtain symbolic constants for such + formats provided by extensions. The number of compressed texture formats supported + can be obtained by querying the value of + GL_NUM_COMPRESSED_TEXTURE_FORMATS. The list of specific + compressed texture formats supported can be obtained by querying the value of + GL_COMPRESSED_TEXTURE_FORMATS. + + + Notes + + A GL implementation may choose to store the texture + array at any internal resolution it chooses. + + + glCompressedTexImage2D + specifies a two-dimensional or cube-map texture for the current texture unit, + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if + internalformat is not a supported format returned in + GL_COMPRESSED_TEXTURE_FORMATS. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + + log + 2 + + + max + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE when target + is GL_TEXTURE_2D or GL_MAX_CUBE_MAP_TEXTURE_SIZE when + target is not GL_TEXTURE_2D. + + + GL_INVALID_VALUE is generated if width or height is less than 0 + or greater than GL_MAX_TEXTURE_SIZE when target + is GL_TEXTURE_2D or GL_MAX_CUBE_MAP_TEXTURE_SIZE when + target is not GL_TEXTURE_2D. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGet with arguments + GL_NUM_COMPRESSED_TEXTURE_FORMATS and + GL_COMPRESSED_TEXTURE_FORMATS + + + glGet + with argument GL_MAX_TEXTURE_SIZE or + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + See Also + + glActiveTexture, + glCompressedTexSubImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glTexImage2D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCompressedTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES20/glCompressedTexSubImage2D.xml new file mode 100644 index 00000000..83fe442e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCompressedTexSubImage2D.xml @@ -0,0 +1,323 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCompressedTexSubImage2D + 3G + + + glCompressedTexSubImage2D + specify a two-dimensional texture subimage in a compressed format + + C Specification + + + void glCompressedTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target texture of the active texture unit. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + format + + + Specifies the format of the compressed image data stored at address data. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is + active. Texturing is active when the current fragment shader or + vertex shader makes use of built-in texture lookup + functions. + + + glCompressedTexSubImage2D redefines a contiguous subregion of an existing two-dimensional + texture image. The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + and the y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive. + This region may not include any texels + outside the range of the texture array as it was originally specified. It + is not an error to specify a subtexture with width of 0, but such a + specification has no effect. + + + format must be the same extension-specified + compressed-texture format previously specified by + glCompressedTexImage2D. + + + Notes + + glCompressedTexSubImage2D + specifies a two-dimensional or cube-map texture for the current texture unit, + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is + not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if + format is not a supported format returned in + GL_COMPRESSED_TEXTURE_FORMATS. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + + log + 2 + + + max + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE when target + is GL_TEXTURE_2D or GL_MAX_CUBE_MAP_TEXTURE_SIZE when + target is not GL_TEXTURE_2D. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + 0 + + , + + + + + + xoffset + + + width + + + > + w + + , + + + + yoffset + < + 0 + + , + or + + + + + + yoffset + + + height + + + > + h + + , + where + w + is the width and + h + is the height + of the texture image being modified. + + + GL_INVALID_VALUE is generated if width or height is less than 0. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous + glCompressedTexImage2D + operation whose internalformat matches the format + of glCompressedTexSubImage2D. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGet with arguments + GL_NUM_COMPRESSED_TEXTURE_FORMATS and + GL_COMPRESSED_TEXTURE_FORMATS + + + glGet + with argument GL_MAX_TEXTURE_SIZE or + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glTexImage2D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCopyTexImage2D.xml b/Source/Bind/Specifications/Docs/ES20/glCopyTexImage2D.xml new file mode 100644 index 00000000..7e12bc3c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCopyTexImage2D.xml @@ -0,0 +1,282 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCopyTexImage2D + 3G + + + glCopyTexImage2D + copy pixels into a 2D texture image + + C Specification + + + void glCopyTexImage2D + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + GLint border + + + + + Parameters + + + target + + + Specifies the target texture of the active texture unit. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the internal format of the texture. + Must be one of the following symbolic constants: + GL_ALPHA, + GL_LUMINANCE, + GL_LUMINANCE_ALPHA, + GL_RGB, or + GL_RGBA. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture image. + All implementations support 2D texture images that are at least 64 texels + wide and cube-mapped texture images that are at least 16 texels wide. + + + + + height + + + Specifies the height of the texture image. + All implementations support 2D texture images that are at least 64 texels + high and cube-mapped texture images that are at least 16 texels high. + + + + + border + + + Specifies the width of the border. + Must be 0. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is + active. Texturing is active when the current fragment shader or + vertex shader makes use of built-in texture lookup + functions. + + + glCopyTexImage2D defines a two-dimensional texture image or cube-map texture image + with pixels from the current framebuffer (rather than from + client memory, as is the case for glTexImage2D). + + + The screen-aligned pixel rectangle with lower left corner at (x, + y) and with a width of width + and a height of height + defines the texture array + at the mipmap level specified by level. + internalformat specifies the internal format of the texture array. + + + The pixels in the rectangle are processed exactly as if + glReadPixels had been called with + format set to GL_RGBA, but the process stops just after + conversion of RGBA values. Subsequent processing is identical to that + described for glTexImage2D, + beginning with the clamping of the R, G, B, and A values to the range + + + + 0 + 1 + + + and then conversion to the texture's internal format for storage in the texel + array. + + + The components required for internalformat must be a subset of + those present in the framebuffer's format. For example, a GL_RGBA + framebuffer can be used to supply components for any internalformat. + However, a GL_RGB framebuffer can only be used to supply components for + GL_RGB or GL_LUMINANCE base internal format textures, + not GL_ALPHA, GL_LUMINANCE_ALPHA, or + GL_RGBA textures. + + + Pixel ordering is such that lower + x + and + y + screen coordinates correspond to + lower + s + and + t + texture coordinates. + + + If any of the pixels within the specified rectangle are outside the framebuffer associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + Notes + + A GL implementation may choose to store the texture + array at any internal resolution it chooses. + + + An image with height or width of 0 indicates a NULL texture. + + + glCopyTexImage2D + specifies a two-dimensional or cube-map texture for the current texture unit, + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if internalformat is not an + accepted format. + + + GL_INVALID_VALUE is generated if target is one of the six cube map 2D image targets and the width and height parameters are not equal. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + + log + 2 + + + max + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE when target + is GL_TEXTURE_2D or GL_MAX_CUBE_MAP_TEXTURE_SIZE when + target is not GL_TEXTURE_2D. + + + GL_INVALID_VALUE is generated if width or height is less than 0 + or greater than GL_MAX_TEXTURE_SIZE when target + is GL_TEXTURE_2D or GL_MAX_CUBE_MAP_TEXTURE_SIZE when + target is not GL_TEXTURE_2D. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_OPERATION is generated if + the currently bound framebuffer's format does not contain a superset of + the components required by the base format of internalformat. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if + the currently bound framebuffer is not framebuffer complete (i.e. the + return value from glCheckFramebufferStatus + is not GL_FRAMEBUFFER_COMPLETE). + + + Associated Gets + + glGet + with argument GL_MAX_TEXTURE_SIZE or + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + See Also + + glActiveTexture, + glCheckFramebufferStatus, + glCompressedTexImage2D, + glCompressedTexSubImage2D, + glCopyTexSubImage2D, + glTexImage2D, + glTexParameter, + glTexSubImage2D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCopyTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES20/glCopyTexSubImage2D.xml new file mode 100644 index 00000000..f93e2c1f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCopyTexSubImage2D.xml @@ -0,0 +1,328 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCopyTexSubImage2D + 3G + + + glCopyTexSubImage2D + copy a two-dimensional texture subimage + + C Specification + + + void glCopyTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + + + + Parameters + + + target + + + Specifies the target texture of the active texture unit. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is + active. Texturing is active when the current fragment shader or + vertex shader makes use of built-in texture lookup + functions. + + + glCopyTexSubImage2D replaces a rectangular portion of a two-dimensional texture image or + cube-map texture image with pixels from the current framebuffer + (rather than from client memory, as is the case for glTexSubImage2D). + + + The screen-aligned pixel rectangle with lower left corner at + + + + x + y + + + and with + width width and height height replaces the portion of the + texture array with x indices xoffset through + + + + xoffset + + + width + - + 1 + + , + inclusive, and y indices yoffset through + + + + yoffset + + + height + - + 1 + + , + inclusive, at the mipmap level specified by level. + + + The pixels in the rectangle are processed exactly as if + glReadPixels had been called with + format set to GL_RGBA, but the process stops just after + conversion of RGBA values. Subsequent processing is identical to that + described for glTexSubImage2D, + beginning with the clamping of the R, G, B, and A values to the range + + + + 0 + 1 + + + and then conversion to the texture's internal format for storage in the texel + array. + + + The destination rectangle in the texture array may not include any texels + outside the texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If any of the pixels within the specified rectangle are outside the framebuffer associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + No change is made to the internalformat, width, or + height parameters of the specified texture + array or to texel values outside the specified subregion. + + + Notes + + glCopyTexSubImage2D + specifies the two-dimensional or cube-map texture for the current texture unit, + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if + + + + level + > + + log + 2 + + + + max + + + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + 0 + + , + + + + + + xoffset + + + width + + + > + w + + , + + + + yoffset + < + 0 + + , + or + + + + + + yoffset + + + height + + + > + h + + , + where + w + is the width and + h + is the height of the texture image being modified. + + + GL_INVALID_VALUE is generated if width or height is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not been + defined by a previous glTexImage2D or glCopyTexImage2D operation. + + + GL_INVALID_OPERATION is generated if + the currently bound framebuffer's format does not contain a superset of + the components required by the texture's base internal format. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if + the currently bound framebuffer is not framebuffer complete (i.e. the + return value from glCheckFramebufferStatus + is not GL_FRAMEBUFFER_COMPLETE). + + + Associated Gets + + glGet + with argument GL_MAX_TEXTURE_SIZE or + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + See Also + + glActiveTexture, + glCheckFramebufferStatus, + glCopyTexImage2D, + glTexImage2D, + glTexParameter, + glTexSubImage2D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCreateProgram.xml b/Source/Bind/Specifications/Docs/ES20/glCreateProgram.xml new file mode 100644 index 00000000..b536514d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCreateProgram.xml @@ -0,0 +1,117 @@ + + + + + glCreateProgram + 3G + + + glCreateProgram + create a program object + + C Specification + + + GLuint glCreateProgram + void + + + + Description + glCreateProgram creates an empty + program object and returns a non-zero value by which it can be + referenced. A program object is an object to which shader + objects can be attached. This provides a mechanism to specify + the shader objects that will be linked to create a program. It + also provides a means for checking the compatibility of the + shaders that will be used to create a program (for instance, + checking the compatibility between a vertex shader and a + fragment shader). When no longer needed as part of a program + object, shader objects can be detached. + + One or more executables are created in a program object by + successfully attaching shader objects to it with + glAttachShader, + successfully compiling the shader objects with + glCompileShader, + and successfully linking the program object with + glLinkProgram. + These executables are made part of current state when + glUseProgram + is called. Program objects can be deleted by calling + glDeleteProgram. + The memory associated with the program object will be deleted + when it is no longer part of current rendering state for any + context. + + Notes + Like texture objects, the name space for + program objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + Errors + This function returns 0 if an error occurs creating the program object. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with a valid program object and the index of an active attribute + variable + + glGetActiveUniform + with a valid program object and the index of an active uniform + variable + + glGetAttachedShaders + with a valid program object + + glGetAttribLocation + with a valid program object and the name of an attribute + variable + + glGetProgramiv + with a valid program object and the parameter to be queried + + glGetProgramInfoLog + with a valid program object + + glGetUniform + with a valid program object and the location of a uniform + variable + + glGetUniformLocation + with a valid program object and the name of a uniform + variable + + glIsProgram + + See Also + glAttachShader, + glBindAttribLocation, + glCreateShader, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCreateShader.xml b/Source/Bind/Specifications/Docs/ES20/glCreateShader.xml new file mode 100644 index 00000000..8ca51963 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCreateShader.xml @@ -0,0 +1,99 @@ + + + + + glCreateShader + 3G + + + glCreateShader + create a shader object + + C Specification + + + GLuint glCreateShader + GLenum shaderType + + + + Parameters + + + shaderType + + Specifies the type of shader to be created. + Must be either GL_VERTEX_SHADER + or GL_FRAGMENT_SHADER. + + + + + Description + glCreateShader creates an empty + shader object and returns a non-zero value by which it can be + referenced. A shader object is used to maintain the source code + strings that define a shader. shaderType + indicates the type of shader to be created. Two types of shaders + are supported. A shader of type + GL_VERTEX_SHADER is a shader that is + intended to run on the programmable vertex processor. A shader of + type GL_FRAGMENT_SHADER is a shader that is + intended to run on the programmable fragment processor. + + When created, a shader object's + GL_SHADER_TYPE parameter is set to either + GL_VERTEX_SHADER or + GL_FRAGMENT_SHADER, depending on the value + of shaderType. + + Notes + Like texture objects, the name space for + shader objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + Errors + This function returns 0 if an error occurs creating the + shader object. + + GL_INVALID_ENUM is generated if + shaderType is not an accepted value. + + Associated Gets + glGetShaderiv + with a valid shader object and the parameter to be queried + + glGetShaderInfoLog + with a valid shader object + + glGetShaderSource + with a valid shader object + + glIsShader + + See Also + glAttachShader, + glCompileShader, + glDeleteShader, + glDetachShader, + glShaderSource, + glShaderBinary + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glCullFace.xml b/Source/Bind/Specifications/Docs/ES20/glCullFace.xml new file mode 100644 index 00000000..90a0d157 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glCullFace.xml @@ -0,0 +1,90 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCullFace + 3G + + + glCullFace + specify whether front- or back-facing polygons can be culled + + C Specification + + + void glCullFace + GLenum mode + + + + Parameters + + + mode + + + Specifies whether front- or back-facing polygons are candidates for culling. + Symbolic constants + GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK are accepted. + The initial value is GL_BACK. + + + + + + Description + + glCullFace specifies whether front- or back-facing polygons are culled + (as specified by mode) when polygon culling is enabled. Polygon + culling is initially disabled. + To enable and disable polygon culling, call the + glEnable and glDisable commands + with the argument GL_CULL_FACE. + + + glFrontFace specifies which of the clockwise and counterclockwise polygons + are front-facing and back-facing. + See glFrontFace. + + + Notes + + If mode is GL_FRONT_AND_BACK, no polygons are drawn, but other + primitives such as points and lines are drawn. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + Associated Gets + + glIsEnabled with argument GL_CULL_FACE + + + glGet with argument GL_CULL_FACE_MODE + + + See Also + + glEnable, + glFrontFace + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glDeleteBuffers.xml b/Source/Bind/Specifications/Docs/ES20/glDeleteBuffers.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glDeleteBuffers.xml rename to Source/Bind/Specifications/Docs/ES20/glDeleteBuffers.xml index 60ee7846..22a57f8d 100644 --- a/Source/Bind/Specifications/Docs/glDeleteBuffers.xml +++ b/Source/Bind/Specifications/Docs/ES20/glDeleteBuffers.xml @@ -2,17 +2,13 @@ - - - 2005 - Sams Publishing - - - 2010-2013 - Khronos Group - - + + + 2005 + Sams Publishing + + glDeleteBuffers 3G @@ -55,7 +51,7 @@ After a buffer object is deleted, it has no contents, and its name is free for reuse (for example by glGenBuffers). If a buffer object that is currently bound is deleted, the binding reverts - to 0 (the absence of any buffer object). + to 0 (the absence of any buffer object, which reverts to client memory usage). glDeleteBuffers silently ignores 0's and names that do not correspond to @@ -76,14 +72,13 @@ glBindBuffer, glGenBuffers, - glGet + glIsBuffer - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/ES20/glDeleteFramebuffers.xml b/Source/Bind/Specifications/Docs/ES20/glDeleteFramebuffers.xml new file mode 100644 index 00000000..ebc00f7b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDeleteFramebuffers.xml @@ -0,0 +1,86 @@ + + + + + + + 2005 + Sams Publishing + + + glDeleteFramebuffers + 3G + + + glDeleteFramebuffers + delete named framebuffer objects + + C Specification + + + void glDeleteFramebuffers + GLsizei n + const GLuint * framebuffers + + + + Parameters + + + n + + + Specifies the number of framebuffer objects to be deleted. + + + + + framebuffers + + + Specifies an array of framebuffer objects to be deleted. + + + + + + Description + + glDeleteFramebuffers deletes n framebuffer objects named by the elements of the array framebuffers. + After a framebuffer object is deleted, it has no attachments, + and its name is free for reuse (for example by glGenFramebuffers). + If a framebuffer object that is currently bound is deleted, the binding reverts + to 0 (the window-system-provided framebuffer). + + + glDeleteFramebuffers silently ignores 0's and names that do not correspond to + existing framebuffer objects. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsFramebuffer + + + See Also + + glBindFramebuffer, + glGenFramebuffers, + glIsFramebuffer + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDeleteProgram.xml b/Source/Bind/Specifications/Docs/ES20/glDeleteProgram.xml new file mode 100644 index 00000000..4be5a59b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDeleteProgram.xml @@ -0,0 +1,85 @@ + + + + + glDeleteProgram + 3G + + + glDeleteProgram + delete a program object + + C Specification + + + void glDeleteProgram + GLuint program + + + + Parameters + + + program + + Specifies the program object to be + deleted. + + + + + Description + glDeleteProgram frees the memory and + invalidates the name associated with the program object + specified by program. This command + effectively undoes the effects of a call to + glCreateProgram. + + If a program object is in use as part of current rendering + state, it will be flagged for deletion, but it will not be + deleted until it is no longer part of current state for any + rendering context. If a program object to be deleted has shader + objects attached to it, those shader objects will be + automatically detached but not deleted unless they have already + been flagged for deletion by a previous call to + glDeleteShader. + A value of 0 for program will be silently + ignored. + + To determine whether a program object has been flagged for + deletion, call + glGetProgramiv + with arguments program and + GL_DELETE_STATUS. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + Associated Gets + glGet + with argument GL_CURRENT_PROGRAM + + glGetProgramiv + with arguments program and + GL_DELETE_STATUS + + glIsProgram + + See Also + glCreateShader, + glDetachShader, + glUseProgram + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDeleteRenderbuffers.xml b/Source/Bind/Specifications/Docs/ES20/glDeleteRenderbuffers.xml new file mode 100644 index 00000000..caf78717 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDeleteRenderbuffers.xml @@ -0,0 +1,93 @@ + + + + + + + 2005 + Sams Publishing + + + glDeleteRenderbuffers + 3G + + + glDeleteRenderbuffers + delete named renderbuffer objects + + C Specification + + + void glDeleteRenderbuffers + GLsizei n + const GLuint * renderbuffers + + + + Parameters + + + n + + + Specifies the number of renderbuffer objects to be deleted. + + + + + renderbuffers + + + Specifies an array of renderbuffer objects to be deleted. + + + + + + Description + + glDeleteRenderbuffers deletes n renderbuffer objects named by the elements of the array renderbuffers. + After a renderbuffer object is deleted, it has no contents, + and its name is free for reuse (for example by glGenRenderbuffers). + + + If a renderbuffer object that is currently bound is deleted, the binding reverts + to 0 (the absence of any renderbuffer object). Additionally, special care + must be taken when deleting a renderbuffer object if the image of the renderbuffer + is attached to a framebuffer object. In this case, if the deleted renderbuffer object is + attached to the currently bound framebuffer object, it is + automatically detached. However, attachments to any other framebuffer objects are the + responsibility of the application. + + + glDeleteRenderbuffers silently ignores 0's and names that do not correspond to + existing renderbuffer objects. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsRenderbuffer + + + See Also + + glBindRenderbuffer, + glGenRenderbuffers, + glIsRenderbuffer + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDeleteShader.xml b/Source/Bind/Specifications/Docs/ES20/glDeleteShader.xml new file mode 100644 index 00000000..07ec2166 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDeleteShader.xml @@ -0,0 +1,81 @@ + + + + + glDeleteShader + 3G + + + glDeleteShader + delete a shader object + + C Specification + + + void glDeleteShader + GLuint shader + + + + Parameters + + + shader + + Specifies the shader object to be deleted. + + + + + Description + glDeleteShader frees the memory and + invalidates the name associated with the shader object specified + by shader. This command effectively + undoes the effects of a call to + glCreateShader. + + If a shader object to be deleted is attached to a program + object, it will be flagged for deletion, but it will not be + deleted until it is no longer attached to any program object, + for any rendering context (i.e., it must be detached from + wherever it was attached before it will be deleted). A value of + 0 for shader will be silently + ignored. + + To determine whether an object has been flagged for + deletion, call + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + Associated Gets + glGetAttachedShaders + with the program object to be queried + + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS + + glIsShader + + See Also + glCreateProgram, + glCreateShader, + glDetachShader, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDeleteTextures.xml b/Source/Bind/Specifications/Docs/ES20/glDeleteTextures.xml new file mode 100644 index 00000000..dea73cbd --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDeleteTextures.xml @@ -0,0 +1,86 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDeleteTextures + 3G + + + glDeleteTextures + delete named textures + + C Specification + + + void glDeleteTextures + GLsizei n + const GLuint * textures + + + + Parameters + + + n + + + Specifies the number of textures to be deleted. + + + + + textures + + + Specifies an array of textures to be deleted. + + + + + + Description + + glDeleteTextures deletes n textures named by the elements of the array textures. + After a texture is deleted, it has no contents or dimensionality, + and its name is free for reuse (for example by glGenTextures). + If a texture that is currently bound is deleted, the binding reverts + to 0 (the default texture). + + + glDeleteTextures silently ignores 0's and names that do not correspond to + existing textures. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsTexture + + + See Also + + glBindTexture, + glGenTextures, + glIsTexture + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDepthFunc.xml b/Source/Bind/Specifications/Docs/ES20/glDepthFunc.xml new file mode 100644 index 00000000..708030d0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDepthFunc.xml @@ -0,0 +1,168 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDepthFunc + 3G + + + glDepthFunc + specify the value used for depth buffer comparisons + + C Specification + + + void glDepthFunc + GLenum func + + + + Parameters + + + func + + + Specifies the depth comparison function. + Symbolic constants + GL_NEVER, + GL_LESS, + GL_EQUAL, + GL_LEQUAL, + GL_GREATER, + GL_NOTEQUAL, + GL_GEQUAL, and + GL_ALWAYS are accepted. + The initial value is GL_LESS. + + + + + + Description + + glDepthFunc specifies the function used to compare each incoming pixel depth value + with the depth value present in the depth buffer. + The comparison is performed only if depth testing is enabled. + (See glEnable and glDisable of GL_DEPTH_TEST.) + + + func specifies the conditions under which the pixel will be drawn. + The comparison functions are as follows: + + + + GL_NEVER + + + Never passes. + + + + + GL_LESS + + + Passes if the incoming depth value is less than the stored depth value. + + + + + GL_EQUAL + + + Passes if the incoming depth value is equal to the stored depth value. + + + + + GL_LEQUAL + + + Passes if the incoming depth value is less than or equal to + the stored depth value. + + + + + GL_GREATER + + + Passes if the incoming depth value is greater than the stored depth value. + + + + + GL_NOTEQUAL + + + Passes if the incoming depth value is not equal to the stored depth value. + + + + + GL_GEQUAL + + + Passes if the incoming depth value is greater than or equal to + the stored depth value. + + + + + GL_ALWAYS + + + Always passes. + + + + + + The initial value of func is GL_LESS. + Initially, depth testing is disabled. If depth testing is disabled or no depth + buffer exists, it is as if the depth test always passes. + + + Notes + + Even if the depth buffer exists and the depth mask is non-zero, the + depth buffer is not updated if the depth test is disabled. + + + Errors + + GL_INVALID_ENUM is generated if func is not an accepted value. + + + Associated Gets + + glGet with argument GL_DEPTH_FUNC + + + glIsEnabled with argument GL_DEPTH_TEST + + + See Also + + glDepthRangef, + glEnable, + glPolygonOffset + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDepthMask.xml b/Source/Bind/Specifications/Docs/ES20/glDepthMask.xml new file mode 100644 index 00000000..94fabb5c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDepthMask.xml @@ -0,0 +1,73 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDepthMask + 3G + + + glDepthMask + enable or disable writing into the depth buffer + + C Specification + + + void glDepthMask + GLboolean flag + + + + Parameters + + + flag + + + Specifies whether the depth buffer is enabled for writing. + If flag is GL_FALSE, + depth buffer writing is disabled. + Otherwise, it is enabled. + Initially, depth buffer writing is enabled. + + + + + + Description + + glDepthMask specifies whether the depth buffer is enabled for writing. + If flag is GL_FALSE, + depth buffer writing is disabled. + Otherwise, it is enabled. + Initially, depth buffer writing is enabled. + + + Associated Gets + + glGet with argument GL_DEPTH_WRITEMASK + + + See Also + + glColorMask, + glDepthFunc, + glDepthRangef, + glStencilMask + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDepthRangef.xml b/Source/Bind/Specifications/Docs/ES20/glDepthRangef.xml new file mode 100644 index 00000000..3e7bd8d8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDepthRangef.xml @@ -0,0 +1,121 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDepthRangef + 3G + + + glDepthRangef + specify mapping of depth values from normalized device coordinates to window coordinates + + C Specification + + + void glDepthRangef + GLclampf nearVal + GLclampf farVal + + + + + Parameters + + + nearVal + + + Specifies the mapping of the near clipping plane to window coordinates. + The initial value is 0. + + + + + farVal + + + Specifies the mapping of the far clipping plane to window coordinates. + The initial value is 1. + + + + + + Description + + After clipping and division by w, + depth coordinates range from + + + -1 + + to 1, + corresponding to the near and far clipping planes. + glDepthRangef specifies a linear mapping of the normalized depth coordinates + in this range to window depth coordinates. + Regardless of the actual depth buffer implementation, + window coordinate depth values are treated as though they range + from 0 through 1 (like color components). + Thus, + the values accepted by glDepthRangef are both clamped to this range + before they are accepted. + + + The setting of (0,1) maps the near plane to 0 and + the far plane to 1. + With this mapping, + the depth buffer range is fully utilized. + + + Notes + + It is not necessary that nearVal be less than farVal. + Reverse mappings such as + + + + nearVal + = + 1 + + , + and + + + + farVal + = + 0 + + + are acceptable. + + + Associated Gets + + glGet with argument GL_DEPTH_RANGE + + + See Also + + glDepthFunc, + glPolygonOffset, + glViewport + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDetachShader.xml b/Source/Bind/Specifications/Docs/ES20/glDetachShader.xml new file mode 100644 index 00000000..8bc5a359 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDetachShader.xml @@ -0,0 +1,91 @@ + + + + + glDetachShader + 3G + + + glDetachShader + detach a shader object from a program object + + C Specification + + + void glDetachShader + GLuint program + GLuint shader + + + + Parameters + + + program + + Specifies the program object from which to + detach the shader object. + + + + shader + + Specifies the shader object to be + detached. + + + + + Description + glDetachShader detaches the shader + object specified by shader from the + program object specified by program. This + command can be used to undo the effect of the command + glAttachShader. + + If shader has already been flagged + for deletion by a call to + glDeleteShader + and it is not attached to any other program object, it will be + deleted after it has been detached. + + Errors + GL_INVALID_VALUE is generated if either + program or shader + is a value that was not generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + shader is not attached to + program. + + Associated Gets + glGetAttachedShaders + with the handle of a valid program object + + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS + + glIsProgram + + glIsShader + + See Also + glAttachShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDrawArrays.xml b/Source/Bind/Specifications/Docs/ES20/glDrawArrays.xml new file mode 100644 index 00000000..3b60a83c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDrawArrays.xml @@ -0,0 +1,130 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDrawArrays + 3G + + + glDrawArrays + render primitives from array data + + C Specification + + + void glDrawArrays + GLenum mode + GLint first + GLsizei count + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, and + GL_TRIANGLES are accepted. + + + + + first + + + Specifies the starting index in the enabled arrays. + + + + + count + + + Specifies the number of indices to be rendered. + + + + + + Description + + glDrawArrays specifies multiple geometric primitives + with very few subroutine calls. Instead of calling a GL procedure + to pass each individual vertex attribute, you can use + glVertexAttribPointer + to prespecify separate arrays of vertices, normals, and colors and use them to + construct a sequence of primitives with a single + call to glDrawArrays. + + + When glDrawArrays is called, it uses count sequential elements from each + enabled array to construct a sequence of geometric primitives, + beginning with element first. mode specifies what kind of + primitives are constructed and how the array elements + construct those primitives. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray + and + glDisableVertexAttribArray. + + + Notes + + If the current program object, as set by + glUseProgram, + is invalid, rendering results are undefined. However, no error is generated + for this case. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if + the currently bound framebuffer is not framebuffer complete (i.e. the + return value from glCheckFramebufferStatus + is not GL_FRAMEBUFFER_COMPLETE). + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawElements, + glEnableVertexAttribArray, + glUseProgram, + glVertexAttribPointer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glDrawElements.xml b/Source/Bind/Specifications/Docs/ES20/glDrawElements.xml new file mode 100644 index 00000000..af627519 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glDrawElements.xml @@ -0,0 +1,144 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDrawElements + 3G + + + glDrawElements + render primitives from array data + + C Specification + + + void glDrawElements + GLenum mode + GLsizei count + GLenum type + const GLvoid * indices + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, and + GL_TRIANGLES are accepted. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be + GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + + Description + + glDrawElements specifies multiple geometric primitives + with very few subroutine calls. Instead of calling a GL function + to pass each vertex attribute, you can use + glVertexAttribPointer + to prespecify separate arrays of vertex attributes and use them to + construct a sequence of primitives with a single + call to glDrawElements. + + + When glDrawElements is called, it uses count sequential elements from an + enabled array, starting at indices to construct a sequence of + geometric primitives. mode specifies what kind of primitives are + constructed and how the array elements construct these primitives. If + more than one array is enabled, each is used. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray + and + glDisableVertexAttribArray. + + + Notes + + If the current program object, as set by + glUseProgram, + is invalid, rendering results are undefined. However, no error is generated + for this case. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_ENUM is generated if type is not + GL_UNSIGNED_BYTE or GL_UNSIGNED_SHORT. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if + the currently bound framebuffer is not framebuffer complete (i.e. the + return value from glCheckFramebufferStatus + is not GL_FRAMEBUFFER_COMPLETE). + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArrays, + glEnableVertexAttribArray, + glUseProgram, + glVertexAttribPointer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glEnable.xml b/Source/Bind/Specifications/Docs/ES20/glEnable.xml new file mode 100644 index 00000000..1d930a4c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glEnable.xml @@ -0,0 +1,209 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glEnable + 3G + + + glEnable + enable or disable server-side GL capabilities + + C Specification + + + void glEnable + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + + C Specification + + + void glDisable + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + + Description + + glEnable and glDisable enable and disable various capabilities. + Use glIsEnabled or glGet to determine the current setting + of any capability. The initial value for each capability with the + exception of GL_DITHER is GL_FALSE. The initial value for + GL_DITHER is GL_TRUE. + + + Both glEnable and glDisable take a single argument, cap, + which can assume one of the following values: + + + + GL_BLEND + + + If enabled, + blend the computed fragment color values with the values in the color + buffers. See glBlendFunc. + + + + + GL_CULL_FACE + + + If enabled, + cull polygons based on their winding in window coordinates. + See glCullFace. + + + + + GL_DEPTH_TEST + + + If enabled, + do depth comparisons and update the depth buffer. Note that even if + the depth buffer exists and the depth mask is non-zero, the + depth buffer is not updated if the depth test is disabled. See + glDepthFunc and + glDepthRangef. + + + + + GL_DITHER + + + If enabled, + dither color components or indices before they are written to the + color buffer. + + + + + GL_POLYGON_OFFSET_FILL + + + If enabled, an offset is added to depth values of a polygon's + fragments produced by rasterization. + See glPolygonOffset. + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + If enabled, + compute a temporary coverage value where each bit is determined by the + alpha value at the corresponding sample location. The temporary coverage + value is then ANDed with the fragment coverage value. + + + + + GL_SAMPLE_COVERAGE + + + If enabled, + the fragment's coverage is ANDed with the temporary coverage value. If + GL_SAMPLE_COVERAGE_INVERT is set to GL_TRUE, invert the coverage + value. + See glSampleCoverage. + + + + + GL_SCISSOR_TEST + + + If enabled, + discard fragments that are outside the scissor rectangle. + See glScissor. + + + + + GL_STENCIL_TEST + + + If enabled, + do stencil testing and update the stencil buffer. + See glStencilFunc and glStencilOp. + + + + + + Errors + + GL_INVALID_ENUM is generated if cap is not one of the values + listed previously. + + + Associated Gets + + glIsEnabled + + + glGet + + + See Also + + glActiveTexture, + glBlendFunc, + glCullFace, + glDepthFunc, + glDepthRangef, + glGet, + glIsEnabled, + glLineWidth, + glPolygonOffset, + glScissor, + glStencilFunc, + glStencilOp, + glTexImage2D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glEnableVertexAttribArray.xml b/Source/Bind/Specifications/Docs/ES20/glEnableVertexAttribArray.xml new file mode 100644 index 00000000..2e85e310 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glEnableVertexAttribArray.xml @@ -0,0 +1,86 @@ + + + + + glEnableVertexAttribArray + 3G + + + glEnableVertexAttribArray + glEnableVertexAttribArray + glDisableVertexAttribArray + enable or disable a generic vertex attribute array + + C Specification + + + void glEnableVertexAttribArray + GLuint index + + + void glDisableVertexAttribArray + GLuint index + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be enabled or disabled. + + + + + Description + glEnableVertexAttribArray enables the + generic vertex attribute array specified by + index. + glDisableVertexAttribArray disables the + generic vertex attribute array specified by + index. By default, all client-side + capabilities are disabled, including all generic vertex + attribute arrays. If enabled, the values in the generic vertex + attribute array will be accessed and used for rendering when + calls are made to vertex array commands such as + glDrawArrays + or + glDrawElements. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttrib + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_ENABLED + + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + See Also + glBindAttribLocation, + glDrawArrays, + glDrawElements, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glFinish.xml b/Source/Bind/Specifications/Docs/ES20/glFinish.xml similarity index 75% rename from Source/Bind/Specifications/Docs/glFinish.xml rename to Source/Bind/Specifications/Docs/ES20/glFinish.xml index beaf8d8b..3fb6682e 100644 --- a/Source/Bind/Specifications/Docs/glFinish.xml +++ b/Source/Bind/Specifications/Docs/ES20/glFinish.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glFinish 3G @@ -47,12 +43,11 @@ glFlush - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glFlush.xml b/Source/Bind/Specifications/Docs/ES20/glFlush.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glFlush.xml rename to Source/Bind/Specifications/Docs/ES20/glFlush.xml index 061acc6a..bea966e6 100644 --- a/Source/Bind/Specifications/Docs/glFlush.xml +++ b/Source/Bind/Specifications/Docs/ES20/glFlush.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glFlush 3G @@ -61,12 +57,11 @@ glFinish - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/ES20/glFramebufferRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES20/glFramebufferRenderbuffer.xml new file mode 100644 index 00000000..a598f9a4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glFramebufferRenderbuffer.xml @@ -0,0 +1,141 @@ + + + + + glFramebufferRenderbuffer + 3G + + + glFramebufferRenderbuffer + attach a renderbuffer object to a framebuffer object + + C Specification + + + void glFramebufferRenderbuffer + GLenum target + GLenum attachment + GLenum renderbuffertarget + GLuint renderbuffer + + + + Parameters + + + target + + Specifies the framebuffer target. The symbolic constant must be + GL_FRAMEBUFFER. + + + + attachment + + Specifies the attachment point to which + renderbuffer should be attached. Must be one of the + following symbolic constants: + GL_COLOR_ATTACHMENT0, + GL_DEPTH_ATTACHMENT, or + GL_STENCIL_ATTACHMENT. + + + + renderbuffertarget + + Specifies the renderbuffer target. The symbolic constant must be + GL_RENDERBUFFER. + + + + renderbuffer + + Specifies the renderbuffer object that is to be attached. + + + + + Description + glFramebufferRenderbuffer attaches the + renderbuffer specified by renderbuffer as + one of the logical buffers of the currently bound framebuffer object. + attachment specifies whether the renderbuffer + should be attached to the framebuffer object's color, depth, or + stencil buffer. A renderbuffer may not be attached to the default + framebuffer object name 0. + + If renderbuffer is not 0, the value of + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE for the + specified attachment point is set to GL_RENDERBUFFER + and the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + is set to renderbuffer. + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL and + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE are + set to the default values 0 and GL_TEXTURE_CUBE_MAP_POSITIVE_X, + respectively. Any previous attachment to the attachment + logical buffer of the currently bound framebuffer object is broken. + + If renderbuffer is 0, the current image, if any, attached to + the attachment logical buffer of the currently bound + framebuffer object is detached. The value of + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is set to + GL_NONE. The value of + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is set to 0. + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL and + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE are + set to the default values 0 and GL_TEXTURE_CUBE_MAP_POSITIVE_X, + respectively. + + Notes + + If a renderbuffer object is deleted while its image is attached to the currently + bound framebuffer, then it is as if glFramebufferRenderbuffer + had been called with a renderbuffer of 0 for the attachment + point to which this image was attached in the currently bound framebuffer object. + In other words, the renderbuffer image is detached from the currently bound + framebuffer. Note that the renderbuffer image is specifically not + detached from any non-bound framebuffers. Detaching the image from any non-bound + framebuffers is the responsibility of the application. + + + Errors + GL_INVALID_ENUM is generated if + target is not GL_FRAMEBUFFER. + + GL_INVALID_ENUM is generated if + renderbuffertarget is not GL_RENDERBUFFER and + renderbuffer is not 0. + + GL_INVALID_ENUM is generated if + attachment is not an accepted attachment point. + + GL_INVALID_OPERATION is generated if + the default framebuffer object name 0 is bound. + + GL_INVALID_OPERATION is generated if + renderbuffer is neither 0 nor the name of an existing + renderbuffer object. + + Associated Gets + glGetFramebufferAttachmentParameteriv + + See Also + glBindFramebuffer, + glBindRenderbuffer, + glCheckFramebufferStatus, + glDeleteFramebuffers, + glDeleteRenderbuffers, + glFramebufferTexture2D, + glGetFramebufferAttachmentParameteriv, + glRenderbufferStorage + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glFramebufferTexture2D.xml b/Source/Bind/Specifications/Docs/ES20/glFramebufferTexture2D.xml new file mode 100644 index 00000000..96d313dd --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glFramebufferTexture2D.xml @@ -0,0 +1,182 @@ + + + + + glFramebufferTexture2D + 3G + + + glFramebufferTexture2D + attach a texture image to a framebuffer object + + C Specification + + + void glFramebufferTexture2D + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + + Parameters + + + target + + Specifies the framebuffer target. The symbolic constant must be + GL_FRAMEBUFFER. + + + + attachment + + Specifies the attachment point to which an image from + texture should be attached. Must be one of the + following symbolic constants: + GL_COLOR_ATTACHMENT0, + GL_DEPTH_ATTACHMENT, or + GL_STENCIL_ATTACHMENT. + + + + textarget + + Specifies the texture target. Must be one of the + following symbolic constants: + GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + texture + + Specifies the texture object whose image is to be attached. + + + + level + + Specifies the mipmap level of the texture image to be attached, + which must be 0. + + + + + Description + glFramebufferTexture2D attaches the + texture image specified by texture and + level as + one of the logical buffers of the currently bound framebuffer object. + attachment specifies whether the texture image + should be attached to the framebuffer object's color, depth, or + stencil buffer. A texture image may not be attached to the default + framebuffer object name 0. + + If texture is not 0, the value of + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE for the + specified attachment point is set to GL_TEXTURE, + the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + is set to texture, and the value of + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL is set to + level. If texture is a cube map + texture, the value of GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE + is set to textarget; otherwise it is set to the default value + GL_TEXTURE_CUBE_MAP_POSITIVE_X. Any previous attachment to the + attachment logical buffer of the currently bound framebuffer + object is broken. + + If texture is 0, the current image, if any, attached to + the attachment logical buffer of the currently bound + framebuffer object is detached. The value of + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is set to + GL_NONE. The value of + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is set to 0. + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL and + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE are + set to the default values 0 and GL_TEXTURE_CUBE_MAP_POSITIVE_X, + respectively. + + Notes + + Special precautions need to be taken to avoid attaching a texture image to the + currently bound framebuffer while the texture object is currently bound and + potentially sampled by the current vertex or fragment shader. Doing so could lead to + the creation of a "feedback loop" between the writing of pixels by rendering operations + and the simultaneous reading of those same pixels when used as texels in the + currently bound texture. In this scenario, the framebuffer will be considered + framebuffer complete, but the values of fragments rendered while in this state will + be undefined. The values of texture samples may be undefined as well. + + + + If a texture object is deleted while its image is attached to the currently + bound framebuffer, then it is as if glFramebufferTexture2D + had been called with a texture of 0 for the attachment + point to which this image was attached in the currently bound framebuffer object. + In other words, the texture image is detached from the currently bound + framebuffer. Note that the texture image is specifically not + detached from any non-bound framebuffers. Detaching the image from any non-bound + framebuffers is the responsibility of the application. + + + Errors + GL_INVALID_ENUM is generated if + target is not GL_FRAMEBUFFER. + + GL_INVALID_ENUM is generated if + textarget is not an accepted texture target and + texture is not 0. + + GL_INVALID_ENUM is generated if + attachment is not an accepted attachment point. + + GL_INVALID_VALUE is generated if + level is not 0 and + texture is not 0. + + GL_INVALID_OPERATION is generated if + the default framebuffer object name 0 is bound. + + GL_INVALID_OPERATION is generated if + texture is neither 0 nor the name of an existing + texture object. + + GL_INVALID_OPERATION is generated if + texture is the name of an existing two-dimensional + texture object but textarget is not + GL_TEXTURE_2D or if texture is + the name of an existing cube map texture object but textarget + is GL_TEXTURE_2D. + + Associated Gets + glGetFramebufferAttachmentParameteriv + + See Also + glBindFramebuffer, + glBindTexture, + glCheckFramebufferStatus, + glDeleteFramebuffers, + glDeleteTextures, + glFramebufferRenderbuffer, + glGenerateMipmap, + glGetFramebufferAttachmentParameteriv, + glTexImage2D + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glFrontFace.xml b/Source/Bind/Specifications/Docs/ES20/glFrontFace.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glFrontFace.xml rename to Source/Bind/Specifications/Docs/ES20/glFrontFace.xml index b8c37abf..9d9181f2 100644 --- a/Source/Bind/Specifications/Docs/glFrontFace.xml +++ b/Source/Bind/Specifications/Docs/ES20/glFrontFace.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glFrontFace 3G @@ -28,6 +24,7 @@ + Parameters @@ -84,15 +81,14 @@ See Also - glCullFace, + glCullFace - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glGenBuffers.xml b/Source/Bind/Specifications/Docs/ES20/glGenBuffers.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glGenBuffers.xml rename to Source/Bind/Specifications/Docs/ES20/glGenBuffers.xml index 9e321e65..0f73a8fe 100644 --- a/Source/Bind/Specifications/Docs/glGenBuffers.xml +++ b/Source/Bind/Specifications/Docs/ES20/glGenBuffers.xml @@ -2,17 +2,13 @@ - - - 2005 - Sams Publishing - - - 2010-2013 - Khronos Group - - + + + 2005 + Sams Publishing + + glGenBuffers 3G @@ -83,11 +79,10 @@ glGet - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/ES20/glGenFramebuffers.xml b/Source/Bind/Specifications/Docs/ES20/glGenFramebuffers.xml new file mode 100644 index 00000000..ae0afbef --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGenFramebuffers.xml @@ -0,0 +1,90 @@ + + + + + + + 2005 + Sams Publishing + + + glGenFramebuffers + 3G + + + glGenFramebuffers + generate framebuffer object names + + C Specification + + + void glGenFramebuffers + GLsizei n + GLuint * framebuffers + + + + Parameters + + + n + + + Specifies the number of framebuffer object names to be generated. + + + + + framebuffers + + + Specifies an array in which the generated framebuffer object names are stored. + + + + + + Description + + glGenFramebuffers returns n framebuffer object names in framebuffers. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenFramebuffers. + + + Framebuffer object names returned by a call to glGenFramebuffers are not returned by + subsequent calls, unless they are first deleted with + glDeleteFramebuffers. + + + No framebuffer objects are associated with the returned framebuffer object names until they are first bound by calling + glBindFramebuffer. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsFramebuffer + + + See Also + + glBindFramebuffer, + glDeleteFramebuffers, + glIsFramebuffer + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGenRenderbuffers.xml b/Source/Bind/Specifications/Docs/ES20/glGenRenderbuffers.xml new file mode 100644 index 00000000..04e1919e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGenRenderbuffers.xml @@ -0,0 +1,90 @@ + + + + + + + 2005 + Sams Publishing + + + glGenRenderbuffers + 3G + + + glGenRenderbuffers + generate renderbuffer object names + + C Specification + + + void glGenRenderbuffers + GLsizei n + GLuint * renderbuffers + + + + Parameters + + + n + + + Specifies the number of renderbuffer object names to be generated. + + + + + renderbuffers + + + Specifies an array in which the generated renderbuffer object names are stored. + + + + + + Description + + glGenRenderbuffers returns n renderbuffer object names in renderbuffers. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenRenderbuffers. + + + Renderbuffer object names returned by a call to glGenRenderbuffers are not returned by + subsequent calls, unless they are first deleted with + glDeleteRenderbuffers. + + + No renderbuffer objects are associated with the returned renderbuffer object names until they are first bound by calling + glBindRenderbuffer. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsRenderbuffer + + + See Also + + glBindRenderbuffer, + glDeleteRenderbuffers, + glIsRenderbuffer + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGenTextures.xml b/Source/Bind/Specifications/Docs/ES20/glGenTextures.xml new file mode 100644 index 00000000..747858e7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGenTextures.xml @@ -0,0 +1,95 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGenTextures + 3G + + + glGenTextures + generate texture names + + C Specification + + + void glGenTextures + GLsizei n + GLuint * textures + + + + Parameters + + + n + + + Specifies the number of texture names to be generated. + + + + + textures + + + Specifies an array in which the generated texture names are stored. + + + + + + Description + + glGenTextures returns n texture names in textures. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenTextures. + + + The generated textures have no dimensionality; they assume the dimensionality + of the texture target to which they are first bound + (see glBindTexture). + + + Texture names returned by a call to glGenTextures are not returned by + subsequent calls, unless they are first deleted with + glDeleteTextures. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsTexture + + + See Also + + glBindTexture, + glCopyTexImage2D, + glDeleteTextures, + glGet, + glGetTexParameter, + glTexImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGenerateMipmap.xml b/Source/Bind/Specifications/Docs/ES20/glGenerateMipmap.xml new file mode 100644 index 00000000..7900c8ac --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGenerateMipmap.xml @@ -0,0 +1,82 @@ + + + + + glGenerateMipmap + 3G + + + glGenerateMipmap + generate a complete set of mipmaps for a texture object + + C Specification + + + void glGenerateMipmap + GLenum target + + + + Parameters + + + target + + Specifies the texture target of the active texture unit to which the texture object + is bound whose mipmaps will be generated. Must be one of the following + symbolic constants: GL_TEXTURE_2D or + GL_TEXTURE_CUBE_MAP. + + + + + Description + glGenerateMipmap computes a complete set + of mipmap arrays derived from the zero level array. Array levels up to and + including the 1x1 dimension texture image are replaced with the derived arrays, + regardless of previous contents. The zero level texture image is left unchanged. + + The internal formats of the derived mipmap arrays all match those of + the zero level texture image. The dimensions of the derived arrays are computed by + halving the width and height of the zero level texture image, then in turn halving + the dimensions of each array level until the 1x1 dimension texture image is + reached. + + The contents of the derived arrays are computed by repeated filtered reduction + of the zero level array. No particular filter algorithm is required, though a + box filter is recommended. + glHint may be called + to express a preference for speed or quality of filtering. + + Errors + GL_INVALID_ENUM is generated if + target is not GL_TEXTURE_2D or + GL_TEXTURE_CUBE_MAP. + + GL_INVALID_OPERATION is generated if + the texture bound to target is a cube map, but its + six faces do not share indentical widths, heights, formats, and types. + + GL_INVALID_OPERATION is generated if + either the width or height of the zero level array is not a power of two. + + GL_INVALID_OPERATION is generated if + the zero level array is stored in a compressed internal format. + + See Also + glBindTexture, + glFramebufferTexture2D, + glHint, + glTexImage2D, + glTexParameter + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGet.xml b/Source/Bind/Specifications/Docs/ES20/glGet.xml new file mode 100644 index 00000000..4634d057 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGet.xml @@ -0,0 +1,1147 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGet + 3G + + + glGet + return the value or values of a selected parameter + + C Specification + + + void glGetBooleanv + GLenum pname + GLboolean * params + + + + C Specification + + + void glGetFloatv + GLenum pname + GLfloat * params + + + + C Specification + + + void glGetIntegerv + GLenum pname + GLint * params + + + + + Parameters + + + pname + + + Specifies the parameter value to be returned. + The symbolic constants in the list below are accepted. + + + + + params + + + Returns the value or values of the specified parameter. + + + + + + Description + + These four commands return values for simple state variables in GL. + pname is a symbolic constant indicating the state variable to be returned, + and params is a pointer to an array of the indicated type in + which to place the returned data. + + + Type conversion is performed if params has a different type than + the state variable value being requested. + If glGetBooleanv is called, + a floating-point (or integer) value is converted to GL_FALSE if + and only if it is 0.0 (or 0). + Otherwise, + it is converted to GL_TRUE. + If glGetIntegerv is called, boolean values are returned as + GL_TRUE or GL_FALSE, and most floating-point values are + rounded to the nearest integer value. Floating-point colors and + normals, however, are returned with a linear mapping that maps 1.0 to + the most positive representable integer value + and + + + -1.0 + + to the most negative representable integer value. + If glGetFloatv is called, + boolean values are returned as GL_TRUE or GL_FALSE, + and integer values are converted to floating-point values. + + + The following symbolic constants are accepted by pname: + + + + GL_ACTIVE_TEXTURE + + + params returns a single value indicating the active multitexture unit. + The initial value is GL_TEXTURE0. + See glActiveTexture. + + + + + GL_ALIASED_LINE_WIDTH_RANGE + + + params returns two values, + the smallest and largest supported widths for aliased lines. + The range must include width 1. + + + + + GL_ALIASED_POINT_SIZE_RANGE + + + params returns two values, + the smallest and largest supported sizes for aliased points. + The range must include size 1. + + + + + GL_ALPHA_BITS + + + params returns one value, + the number of alpha bitplanes in the color buffer of the + currently bound framebuffer. + + + + + GL_ARRAY_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_ARRAY_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_BLEND + + + params returns a single boolean value indicating whether blending is + enabled. The initial value is GL_FALSE. + See glBlendFunc. + + + + + GL_BLEND_COLOR + + + params returns four values, + the red, green, blue, and alpha values which are the components of + the blend color. + See glBlendColor. + + + + + GL_BLEND_DST_ALPHA + + + params returns one value, + the symbolic constant identifying the alpha destination blend + function. The initial value is GL_ZERO. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_DST_RGB + + + params returns one value, + the symbolic constant identifying the RGB destination blend + function. The initial value is GL_ZERO. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_EQUATION_ALPHA + + + params returns one value, a symbolic constant indicating whether + the Alpha blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, or + GL_FUNC_REVERSE_SUBTRACT. + See glBlendEquationSeparate. + + + + + GL_BLEND_EQUATION_RGB + + + params returns one value, a symbolic constant indicating whether + the RGB blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, or + GL_FUNC_REVERSE_SUBTRACT. + See glBlendEquationSeparate. + + + + + GL_BLEND_SRC_ALPHA + + + params returns one value, + the symbolic constant identifying the alpha source blend function. The initial + value is GL_ONE. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_SRC_RGB + + + params returns one value, + the symbolic constant identifying the RGB source blend function. The initial + value is GL_ONE. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLUE_BITS + + + params returns one value, + the number of blue bitplanes in the color buffer of the + currently bound framebuffer. + + + + + GL_COLOR_CLEAR_VALUE + + + params returns four values: + the red, green, blue, and alpha values used to clear the color buffers. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 0, 0, 0). + See glClearColor. + + + + + GL_COLOR_WRITEMASK + + + params returns four boolean values: + the red, green, blue, and alpha write enables for the color + buffers. The initial value is (GL_TRUE, GL_TRUE, + GL_TRUE, GL_TRUE). + See glColorMask. + + + + + GL_COMPRESSED_TEXTURE_FORMATS + + + params returns a list of symbolic + constants of length GL_NUM_COMPRESSED_TEXTURE_FORMATS + indicating which compressed texture formats are available. + See glCompressedTexImage2D. + + + + + GL_CULL_FACE + + + params returns a single boolean value indicating whether polygon culling + is enabled. The initial value is GL_FALSE. + See glCullFace. + + + + + GL_CULL_FACE_MODE + + + params returns one value, + a symbolic constant indicating which polygon faces are to be + culled. The initial value is GL_BACK. + See glCullFace. + + + + + GL_CURRENT_PROGRAM + + + params returns one value, + the name of the program object that is currently active, or 0 if no program object is active. + See glUseProgram. + + + + + GL_DEPTH_BITS + + + params returns one value, + the number of bitplanes in the depth buffer of the + currently bound framebuffer. + + + + + GL_DEPTH_CLEAR_VALUE + + + params returns one value, + the value that is used to clear the depth buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is 1. + See glClearDepthf. + + + + + GL_DEPTH_FUNC + + + params returns one value, + the symbolic constant that indicates the depth comparison + function. The initial value is GL_LESS. + See glDepthFunc. + + + + + GL_DEPTH_RANGE + + + params returns two values: + the near and far mapping limits for the depth buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 1). + See glDepthRangef. + + + + + GL_DEPTH_TEST + + + params returns a single boolean value indicating whether depth testing + of fragments is enabled. The initial value is GL_FALSE. + See glDepthFunc and glDepthRangef. + + + + + GL_DEPTH_WRITEMASK + + + params returns a single boolean value indicating if the depth buffer + is enabled for writing. The initial value is GL_TRUE. + See glDepthMask. + + + + + GL_DITHER + + + params returns a single boolean value indicating whether dithering of + fragment colors and indices is enabled. The initial value is GL_TRUE. + + + + + GL_ELEMENT_ARRAY_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_ELEMENT_ARRAY_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_FRAMEBUFFER_BINDING + + + params returns a single value, the name of the currently bound + framebuffer. The initial value is 0, indicating the default framebuffer. + See glBindFramebuffer. + + + + + GL_FRONT_FACE + + + params returns one value, + a symbolic constant indicating whether clockwise or counterclockwise + polygon winding is treated as front-facing. The initial value is + GL_CCW. + See glFrontFace. + + + + + GL_GENERATE_MIPMAP_HINT + + + params returns one value, + a symbolic constant indicating the mode of the mipmap generation filtering + hint. The initial value is GL_DONT_CARE. + See glHint. + + + + + GL_GREEN_BITS + + + params returns one value, + the number of green bitplanes in the color buffer of the + currently bound framebuffer. + + + + + GL_IMPLEMENTATION_COLOR_READ_FORMAT + + + params returns one value, the format + chosen by the implementation in which pixels may be read from the + color buffer of the currently bound framebuffer in conjunction with + GL_IMPLEMENTATION_COLOR_READ_TYPE. + In addition + to this implementation-dependent format/type pair, format + GL_RGBA in conjunction with type + GL_UNSIGNED_BYTE is always allowed by every + implementation, regardless of the currently bound render surface. + See glReadPixels. + + + + + GL_IMPLEMENTATION_COLOR_READ_TYPE + + + params returns one value, the type + chosen by the implementation with which pixels may be read from the + color buffer of the currently bound framebuffer in conjunction with + GL_IMPLEMENTATION_COLOR_READ_FORMAT. + In addition + to this implementation-dependent format/type pair, format + GL_RGBA in conjunction with type + GL_UNSIGNED_BYTE is always allowed by every + implementation, regardless of the currently bound render surface. + See glReadPixels. + + + + + GL_LINE_WIDTH + + + params returns one value, + the line width as specified with glLineWidth. The initial value is + 1. + + + + + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the vertex shader and the fragment processor combined. + If both the vertex shader and the fragment processing stage access the same texture image + unit, then that counts as using two texture image units against this limit. + The value must be at least 8. + See glActiveTexture. + + + + + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + params returns one value. + The value gives a rough estimate of the largest cube-map texture that + the GL can handle. The value must be at least 16. + See glTexImage2D. + + + + + GL_MAX_FRAGMENT_UNIFORM_VECTORS + + + params returns one value, + the maximum number of four-element floating-point, integer, or boolean vectors that can be held + in uniform variable storage for a fragment shader. The value must be at least 16. + See glUniform. + + + + + GL_MAX_RENDERBUFFER_SIZE + + + params returns one value. + The value indicates the largest renderbuffer width and height + that the GL can handle. The value must be at least 1. + See glRenderbufferStorage. + + + + + GL_MAX_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the fragment shader. + The value must be at least 8. + See glActiveTexture. + + + + + GL_MAX_TEXTURE_SIZE + + + params returns one value. + The value gives a rough estimate of the largest texture that + the GL can handle. The value must be at least 64. + See glTexImage2D. + + + + + GL_MAX_VARYING_VECTORS + + + params returns one value, + the maximum number four-element floating-point vectors available for interpolating varying variables used by + vertex and fragment shaders. Varying variables declared as matrices or arrays + will consume multiple interpolators. The value must be at least 8. + + + + + GL_MAX_VERTEX_ATTRIBS + + + params returns one value, + the maximum number of 4-component generic vertex attributes accessible to a vertex shader. + The value must be at least 8. + See glVertexAttrib. + + + + + GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the vertex shader. The value may be 0. + See glActiveTexture. + + + + + GL_MAX_VERTEX_UNIFORM_VECTORS + + + params returns one value, + the maximum number of four-element floating-point, integer, or boolean vectors that can be held + in uniform variable storage for a vertex shader. The value must be at least 128. + See glUniform. + + + + + GL_MAX_VIEWPORT_DIMS + + + params returns two values: + the maximum supported width and height of the viewport. + These must be at least as large as the visible dimensions of the display + being rendered to. + See glViewport. + + + + + GL_NUM_COMPRESSED_TEXTURE_FORMATS + + + params returns a single integer value indicating the number of available + compressed texture formats. The minimum value is 0. + See glCompressedTexImage2D. + + + + + GL_NUM_SHADER_BINARY_FORMATS + + + params returns a single integer value indicating the number of available + shader binary formats. The minimum value is 0. + See glShaderBinary. + + + + + GL_PACK_ALIGNMENT + + + params returns one value, + the byte alignment used for writing pixel data to memory. The initial + value is 4. + See glPixelStorei. + + + + + GL_POLYGON_OFFSET_FACTOR + + + params returns one value, + the scaling factor used to determine the variable offset that is added + to the depth value of each fragment generated when a polygon is + rasterized. The initial value is 0. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_FILL + + + params returns a single boolean value indicating whether polygon offset + is enabled for polygons in fill mode. The initial value is GL_FALSE. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_UNITS + + + params returns one value. + This value is multiplied by an implementation-specific value and then + added to the depth value of each fragment + generated when a polygon is rasterized. The initial value is 0. + See glPolygonOffset. + + + + + GL_RED_BITS + + + params returns one value, + the number of red bitplanes in the color buffer of the + currently bound framebuffer. + + + + + GL_RENDERBUFFER_BINDING + + + params returns a single value, the name of the currently bound + renderbuffer. The initial value is 0, indicating no renderbuffer is bound. + See glBindRenderbuffer. + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + params returns a single boolean value indicating if the + fragment coverage value should be ANDed with a temporary coverage value based + on the fragment's alpha value. The initial value is GL_FALSE. + See glSampleCoverage. + + + + + GL_SAMPLE_BUFFERS + + + params returns a single integer value indicating the number of sample buffers + associated with the currently bound framebuffer. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE + + + params returns a single boolean value indicating if the + fragment coverage value should be ANDed with a temporary coverage value based + on the current sample coverage value. The initial value is GL_FALSE. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE_INVERT + + + params returns a single boolean value indicating if the temporary + coverage value should be inverted. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE_VALUE + + + params returns a single positive floating-point value indicating the + current sample coverage value. + See glSampleCoverage. + + + + + GL_SAMPLES + + + params returns a single integer value + indicating the coverage mask size of the currently bound framebuffer. + See glSampleCoverage. + + + + + GL_SCISSOR_BOX + + + params returns four values: + the + x + and + y + window coordinates of the scissor box, + followed by its width and height. + Initially the + x + and + y + window coordinates are both 0 and the + width and height are set to the size of the window. + See glScissor. + + + + + GL_SCISSOR_TEST + + + params returns a single boolean value indicating whether scissoring is + enabled. The initial value is GL_FALSE. + See glScissor. + + + + + GL_SHADER_BINARY_FORMATS + + + params returns a list of symbolic + constants of length GL_NUM_SHADER_BINARY_FORMATS + indicating which shader binary formats are available. + See glShaderBinary. + + + + + GL_SHADER_COMPILER + + + params returns a single boolean value indicating whether a shader compiler + is supported. GL_FALSE indicates that any call to + glShaderSource, + glCompileShader, or + glReleaseShaderCompiler will result in a + GL_INVALID_OPERATION error being generated. + + + + + GL_STENCIL_BACK_FAIL + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test fails. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_FUNC + + + params returns one value, + a symbolic constant indicating what function is used for back-facing polygons to compare the + stencil reference value with the stencil buffer value. The initial value + is GL_ALWAYS. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_PASS_DEPTH_FAIL + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test passes, + but the depth test fails. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_PASS_DEPTH_PASS + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test passes and the depth test passes. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_REF + + + params returns one value, + the reference value that is compared with the contents of the stencil + buffer for back-facing polygons. The initial value is 0. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_VALUE_MASK + + + params returns one value, + the mask that is used for back-facing polygons to mask both the stencil reference value and the + stencil buffer value before they are compared. The initial value is all 1's. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_WRITEMASK + + + params returns one value, + the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value + is all 1's. + See glStencilMaskSeparate. + + + + + GL_STENCIL_BITS + + + params returns one value, + the number of bitplanes in the stencil buffer of the + currently bound framebuffer. + + + + + GL_STENCIL_CLEAR_VALUE + + + params returns one value, + the index to which the stencil bitplanes are cleared. The initial value is + 0. + See glClearStencil. + + + + + GL_STENCIL_FAIL + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test fails for front-facing polygons and non-polygons. + The initial value is GL_KEEP. + See glStencilOp and + glStencilOpSeparate. + + + + + GL_STENCIL_FUNC + + + params returns one value, + a symbolic constant indicating what function is used to compare the + stencil reference value with the stencil buffer value for front-facing polygons and non-polygons. + The initial value is GL_ALWAYS. + See glStencilFunc and + glStencilFuncSeparate. + + + + + GL_STENCIL_PASS_DEPTH_FAIL + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test passes, but the depth test fails for front-facing polygons and non-polygons. + The initial value is GL_KEEP. + See glStencilOp and + glStencilOpSeparate. + + + + + GL_STENCIL_PASS_DEPTH_PASS + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test passes and the depth test passes for front-facing polygons and non-polygons. + The initial value is GL_KEEP. + See glStencilOp and + glStencilOpSeparate. + + + + + GL_STENCIL_REF + + + params returns one value, + the reference value that is compared with the contents of the stencil + buffer for front-facing polygons and non-polygons. + The initial value is 0. + See glStencilFunc and + glStencilFuncSeparate. + + + + + GL_STENCIL_TEST + + + params returns a single boolean value indicating whether stencil testing + of fragments is enabled. The initial value is GL_FALSE. + See glStencilFunc and glStencilOp. + + + + + GL_STENCIL_VALUE_MASK + + + params returns one value, + the mask that is used to mask both the stencil reference value and the + stencil buffer value before they are compared for front-facing polygons and non-polygons. + The initial value is all 1's. + See glStencilFunc and + glStencilFuncSeparate. + + + + + GL_STENCIL_WRITEMASK + + + params returns one value, + the mask that controls writing of the stencil bitplanes for front-facing polygons and non-polygons. + The initial value is all 1's. + See glStencilMask and + glStencilMaskSeparate. + + + + + GL_SUBPIXEL_BITS + + + params returns one value, + an estimate of the number of bits of subpixel resolution that are used to + position rasterized geometry in window coordinates. The value must be at least 4. + + + + + GL_TEXTURE_BINDING_2D + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_2D for the active multitexture unit. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_CUBE_MAP + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_CUBE_MAP for the active multitexture unit. The initial value is 0. + See glBindTexture. + + + + + GL_UNPACK_ALIGNMENT + + + params returns one value, + the byte alignment used for reading pixel data from memory. The initial + value is 4. + See glPixelStorei. + + + + + GL_VIEWPORT + + + params returns four values: + the + x + and + y + window coordinates of the viewport, + followed by its width and height. + Initially the + x + and + y + window coordinates are both set to 0, + and the width and height are set to the width and height of the window into + which the GL will do its rendering. + See glViewport. + + + + + + Many of the boolean parameters can also be queried more easily using + glIsEnabled. + + + Errors + + GL_INVALID_ENUM is generated if pname + is not one of the values listed previously. + + + See Also + + glGetActiveAttrib, + glGetActiveUniform, + glGetAttachedShaders, + glGetAttribLocation, + glGetBufferParameteriv, + glGetError, + glGetFramebufferAttachmentParameteriv, + glGetProgramiv, + glGetProgramInfoLog, + glGetRenderbufferParameteriv, + glGetShaderiv, + glGetShaderInfoLog, + glGetShaderSource, + glGetString, + glGetTexParameter, + glGetUniform, + glGetUniformLocation, + glGetVertexAttrib, + glGetVertexAttribPointerv, + glIsEnabled + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetActiveAttrib.xml b/Source/Bind/Specifications/Docs/ES20/glGetActiveAttrib.xml new file mode 100644 index 00000000..bf2a2c99 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetActiveAttrib.xml @@ -0,0 +1,194 @@ + + + + + glGetActiveAttrib + 3G + + + glGetActiveAttrib + return information about an active attribute variable + + C Specification + + + void glGetActiveAttrib + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + index + + Specifies the index of the attribute variable + to be queried. + + + + bufSize + + Specifies the maximum number of characters + OpenGL is allowed to write in the character buffer + indicated by name. + + + + length + + Returns the number of characters actually + written by OpenGL in the string indicated by + name (excluding the null + terminator) if a value other than + NULL is passed. + + + + size + + Returns the size of the attribute + variable. + + + + type + + Returns the data type of the attribute + variable. + + + + name + + Returns a null terminated string containing + the name of the attribute variable. + + + + + Description + glGetActiveAttrib returns information + about an active attribute variable in the program object + specified by program. The number of + active attributes can be obtained by calling + glGetProgramiv + with the value GL_ACTIVE_ATTRIBUTES. A + value of 0 for index selects the first + active attribute variable. Permissible values for + index range from 0 to the number of + active attribute variables minus 1. + + Attribute variables have arbitrary names and obtain their values + through numbered generic vertex attributes. An attribute + variable is considered active + if it is determined during the link operation that it may be + accessed during program execution. Therefore, + program should have previously been the + target of a call to + glLinkProgram, + but it is not necessary for it to have been linked + successfully. + + The size of the character buffer required to store the + longest attribute variable name in + program can be obtained by calling + glGetProgramiv + with the value + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. This value + should be used to allocate a buffer of sufficient size to store + the returned attribute name. The size of this character buffer + is passed in bufSize, and a pointer to + this character buffer is passed in + name. + + glGetActiveAttrib returns the name of + the attribute variable indicated by + index, storing it in the character buffer + specified by name. The string returned + will be null terminated. The actual number of characters written + into this buffer is returned in length, + and this count does not include the null termination character. + If the length of the returned string is not required, a value of + NULL can be passed in the + length argument. + + The type argument will return a + pointer to the attribute variable's data type. The symbolic + constants GL_FLOAT, + GL_FLOAT_VEC2, + GL_FLOAT_VEC3, + GL_FLOAT_VEC4, + GL_FLOAT_MAT2, + GL_FLOAT_MAT3, or + GL_FLOAT_MAT4 may be returned. The + size argument will return the size of the + attribute, in units of the type returned in + type. + + This function will return as much information as it can + about the specified active attribute variable. If no information + is available, length will be 0, and + name will be an empty string. This + situation could occur if this function is called after a link + operation that failed. If an error occurs, the return values + length, size, + type, and name + will be unmodified. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + index is greater than or equal to the + number of active attribute variables in + program. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS. + + glGetProgramiv + with argument GL_ACTIVE_ATTRIBUTES or + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. + + glIsProgram + + See Also + glBindAttribLocation, + glGetActiveUniform, + glLinkProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetActiveUniform.xml b/Source/Bind/Specifications/Docs/ES20/glGetActiveUniform.xml new file mode 100644 index 00000000..b193589d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetActiveUniform.xml @@ -0,0 +1,246 @@ + + + + + glGetActiveUniform + 3G + + + glGetActiveUniform + return information about an active uniform variable + + C Specification + + + void glGetActiveUniform + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + index + + Specifies the index of the uniform variable to + be queried. + + + + bufSize + + Specifies the maximum number of characters + OpenGL is allowed to write in the character buffer + indicated by name. + + + + length + + Returns the number of characters actually + written by OpenGL in the string indicated by + name (excluding the null + terminator) if a value other than + NULL is passed. + + + + size + + Returns the size of the uniform + variable. + + + + type + + Returns the data type of the uniform + variable. + + + + name + + Returns a null terminated string containing + the name of the uniform variable. + + + + + Description + glGetActiveUniform returns + information about an active uniform variable in the program + object specified by program. The number + of active uniform variables can be obtained by calling + glGetProgramiv + with the value GL_ACTIVE_UNIFORMS. A value + of 0 for index selects the first active + uniform variable. Permissible values for + index range from 0 to the number of + active uniform variables minus 1. + + Shaders may use either built-in uniform variables, + user-defined uniform variables, or both. Built-in uniform + variables have a prefix of "gl_" and reference + existing OpenGL state or values derived from such state (e.g., + gl_DepthRange). + User-defined uniform variables have arbitrary names and obtain + their values from the application through calls to + glUniform. + A uniform variable (either built-in or user-defined) is + considered active if it is determined during the link operation + that it may be accessed during program execution. Therefore, + program should have previously been the + target of a call to + glLinkProgram, + but it is not necessary for it to have been linked + successfully. + + The size of the character buffer required to store the + longest uniform variable name in program + can be obtained by calling + glGetProgramiv + with the value + GL_ACTIVE_UNIFORM_MAX_LENGTH. This value + should be used to allocate a buffer of sufficient size to store + the returned uniform variable name. The size of this character + buffer is passed in bufSize, and a + pointer to this character buffer is passed in + name. + + glGetActiveUniform returns the name + of the uniform variable indicated by + index, storing it in the character buffer + specified by name. The string returned + will be null terminated. The actual number of characters written + into this buffer is returned in length, + and this count does not include the null termination character. + If the length of the returned string is not required, a value of + NULL can be passed in the + length argument. + + The type + argument will return a pointer to the uniform variable's data + type. The symbolic constants + GL_FLOAT, + GL_FLOAT_VEC2, + GL_FLOAT_VEC3, + GL_FLOAT_VEC4, + GL_INT, + GL_INT_VEC2, + GL_INT_VEC3, + GL_INT_VEC4, + GL_BOOL, + GL_BOOL_VEC2, + GL_BOOL_VEC3, + GL_BOOL_VEC4, + GL_FLOAT_MAT2, + GL_FLOAT_MAT3, + GL_FLOAT_MAT4, + GL_SAMPLER_2D, or + GL_SAMPLER_CUBE + may be returned. + + If one or more elements of an array are active, the name + of the array is returned in name, the + type is returned in type, and the + size parameter returns the highest array + element index used, plus one, as determined by the compiler + and/or linker. Only one active uniform variable will be reported + for a uniform array. + + Uniform variables that are declared as structures or + arrays of structures will not be returned directly by this + function. Instead, each of these uniform variables will be + reduced to its fundamental components containing the + "." and "[]" operators such that each of the + names is valid as an argument to + glGetUniformLocation. + Each of these reduced uniform variables is counted as one active + uniform variable and is assigned an index. A valid name cannot + be a structure, an array of structures, or a subcomponent of a + vector or matrix. + + The size of the uniform variable will be returned in + size. Uniform variables other than arrays + will have a size of 1. Structures and arrays of structures will + be reduced as described earlier, such that each of the names + returned will be a data type in the earlier list. If this + reduction results in an array, the size returned will be as + described for uniform arrays; otherwise, the size returned will + be 1. + + The list of active uniform variables may include both + built-in uniform variables (which begin with the prefix + "gl_") as well as user-defined uniform variable + names. + + This function will return as much information as it can + about the specified active uniform variable. If no information + is available, length will be 0, and + name will be an empty string. This + situation could occur if this function is called after a link + operation that failed. If an error occurs, the return values + length, size, + type, and name + will be unmodified. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + index is greater than or equal to the + number of active uniform variables in + program. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_UNIFORM_VECTORS + or + GL_MAX_FRAGMENT_UNIFORM_VECTORS. + + glGetProgramiv + with argument GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH. + + glIsProgram + + See Also + glGetActiveAttrib, + glGetUniform, + glGetUniformLocation, + glLinkProgram, + glUniform, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetAttachedShaders.xml b/Source/Bind/Specifications/Docs/ES20/glGetAttachedShaders.xml new file mode 100644 index 00000000..314df084 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetAttachedShaders.xml @@ -0,0 +1,109 @@ + + + + + glGetAttachedShaders + 3G + + + glGetAttachedShaders + return the handles of the shader objects attached to a program object + + C Specification + + + void glGetAttachedShaders + GLuint program + GLsizei maxCount + GLsizei *count + GLuint *shaders + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + maxCount + + Specifies the size of the array for storing + the returned object names. + + + + count + + Returns the number of names actually returned + in shaders. + + + + shaders + + Specifies an array that is used to return the + names of attached shader objects. + + + + + Description + glGetAttachedShaders returns the + names of the shader objects attached to + program. The names of shader objects that + are attached to program will be returned + in shaders. The actual number of shader + names written into shaders is returned in + count. If no shader objects are attached + to program, count + is set to 0. The maximum number of shader names that may be + returned in shaders is specified by + maxCount. + + If the number of names actually returned is not required + (for instance, if it has just been obtained by calling + glGetProgramiv), + a value of NULL may be passed for count. If + no shader objects are attached to + program, a value of 0 will be returned in + count. The actual number of attached + shaders can be obtained by calling + glGetProgramiv + with the value GL_ATTACHED_SHADERS. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + maxCount is less than 0. + + Associated Gets + glGetProgramiv + with argument GL_ATTACHED_SHADERS + + glIsProgram + + See Also + glAttachShader, + glDetachShader. + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetAttribLocation.xml b/Source/Bind/Specifications/Docs/ES20/glGetAttribLocation.xml new file mode 100644 index 00000000..cfe4e753 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetAttribLocation.xml @@ -0,0 +1,103 @@ + + + + + glGetAttribLocation + 3G + + + glGetAttribLocation + return the location of an attribute variable + + C Specification + + + GLint glGetAttribLocation + GLuint program + const GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + name + + Points to a null terminated string containing + the name of the attribute variable whose location is + to be queried. + + + + + Description + glGetAttribLocation queries the + previously linked program object specified by + program for the attribute variable + specified by name and returns the index + of the generic vertex attribute that is bound to that attribute + variable. If name is a matrix attribute + variable, the index of the first column of the matrix is + returned. If the named attribute variable is not an active + attribute in the specified program object or if + name starts with the reserved prefix + "gl_", a value of -1 is returned. + + The association between an attribute variable name and a + generic attribute index can be specified at any time by calling + glBindAttribLocation. + Attribute bindings do not go into effect until + glLinkProgram + is called. After a program object has been linked successfully, + the index values for attribute variables remain fixed until the + next link command occurs. The attribute values can only be + queried after a link if the link was successful. + glGetAttribLocation returns the binding + that actually went into effect the last time + glLinkProgram + was called for the specified program object. Attribute bindings + that have been specified since the last link operation are not + returned by glGetAttribLocation. + + Errors + GL_INVALID_OPERATION is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + Associated Gets + glGetActiveAttrib + with argument program and the index of an + active attribute + + glIsProgram + + See Also + glBindAttribLocation, + glLinkProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetBufferParameteriv.xml b/Source/Bind/Specifications/Docs/ES20/glGetBufferParameteriv.xml new file mode 100644 index 00000000..bd6c4078 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetBufferParameteriv.xml @@ -0,0 +1,118 @@ + + + + + + + 2005 + Sams Publishing + + + glGetBufferParameteriv + 3G + + + glGetBufferParameteriv + return parameters of a buffer object + + C Specification + + + void glGetBufferParameteriv + GLenum target + GLenum value + GLint * data + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER or + GL_ELEMENT_ARRAY_BUFFER. + + + + + value + + + Specifies the symbolic name of a buffer object parameter. + Accepted values are GL_BUFFER_SIZE or GL_BUFFER_USAGE. + + + + + data + + + Returns the requested parameter. + + + + + + Description + + glGetBufferParameteriv returns in data a selected parameter of the buffer object + specified by target. + + + value names a specific buffer object parameter, as follows: + + + + GL_BUFFER_SIZE + + + params returns the size of the buffer object, measured in bytes. + The initial value is 0. + + + + + GL_BUFFER_USAGE + + + params returns the buffer object's usage pattern. The initial value is + GL_STATIC_DRAW. + + + + + + Notes + + If an error is generated, + no change is made to the contents of data. + + + Errors + + GL_INVALID_ENUM is generated if target or value is not an + accepted value. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + See Also + + glBindBuffer, + glBufferData + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetError.xml b/Source/Bind/Specifications/Docs/ES20/glGetError.xml new file mode 100644 index 00000000..12a26abf --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetError.xml @@ -0,0 +1,148 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetError + 3G + + + glGetError + return error information + + C Specification + + + GLenum glGetError + void + + + + Description + + glGetError returns the value of the error flag. + Each detectable error is assigned a numeric code and symbolic name. + When an error occurs, + the error flag is set to the appropriate error code value. + No other errors are recorded until glGetError is called, + the error code is returned, + and the flag is reset to GL_NO_ERROR. + If a call to glGetError returns GL_NO_ERROR, + there has been no detectable error since the last call to glGetError, + or since the GL was initialized. + + + To allow for distributed implementations, + there may be several error flags. + If any single error flag has recorded an error, + the value of that flag is returned + and that flag is reset to GL_NO_ERROR + when glGetError is called. + If more than one flag has recorded an error, + glGetError returns and clears an arbitrary error flag value. + Thus, glGetError should always be called in a loop, + until it returns GL_NO_ERROR, + if all error flags are to be reset. + + + Initially, all error flags are set to GL_NO_ERROR. + + + The following errors are currently defined: + + + + GL_NO_ERROR + + + No error has been recorded. + The value of this symbolic constant is guaranteed to be 0. + + + + + GL_INVALID_ENUM + + + An unacceptable value is specified for an enumerated argument. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_VALUE + + + A numeric argument is out of range. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_OPERATION + + + The specified operation is not allowed in the current state. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_FRAMEBUFFER_OPERATION + + + The command is trying to render to or read from the framebuffer + while the currently bound framebuffer is not framebuffer + complete (i.e. the return value from + glCheckFramebufferStatus + is not GL_FRAMEBUFFER_COMPLETE). + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_OUT_OF_MEMORY + + + There is not enough memory left to execute the command. + The state of the GL is undefined, + except for the state of the error flags, + after this error is recorded. + + + + + + When an error flag is set, + results of a GL operation are undefined only if GL_OUT_OF_MEMORY + has occurred. + In all other cases, + the command generating the error is ignored and has no effect on the GL state + or frame buffer contents. + If the generating command returns a value, it returns 0. + + + See Also + + glCheckFramebufferStatus + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetFramebufferAttachmentParameteriv.xml b/Source/Bind/Specifications/Docs/ES20/glGetFramebufferAttachmentParameteriv.xml new file mode 100644 index 00000000..df894d4e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetFramebufferAttachmentParameteriv.xml @@ -0,0 +1,190 @@ + + + + + + + 2005 + Sams Publishing + + + glGetFramebufferAttachmentParameteriv + 3G + + + glGetFramebufferAttachmentParameteriv + return attachment parameters of a framebuffer object + + C Specification + + + void glGetFramebufferAttachmentParameteriv + GLenum target + GLenum attachment + GLenum pname + GLint * params + + + + Parameters + + + target + + + Specifies the target framebuffer object. + The symbolic constant must be GL_FRAMEBUFFER. + + + + + attachment + + + Specifies the symbolic name of a framebuffer object attachment point. + Accepted values are GL_COLOR_ATTACHMENT0, + GL_DEPTH_ATTACHMENT, and + GL_STENCIL_ATTACHMENT. + + + + + pname + + + Specifies the symbolic name of a framebuffer object attachment parameter. + Accepted values are GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, + and GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE. + + + + + params + + + Returns the requested parameter. + + + + + + Description + + glGetFramebufferAttachmentParameteriv + returns in params a selected attachment + parameter of the attachpoint point attachment + of the currently bound framebuffer object. + + + pname names a specific framebuffer object attachment parameter, as follows: + + + + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE + + + params returns the type of + object which contains the attached image, either + GL_RENDERBUFFER, + GL_TEXTURE, or if no image is + attached, GL_NONE. + The initial value is GL_NONE. + + + + + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE + is GL_RENDERBUFFER, + params returns the name of + the renderbuffer object which contains the attached image. + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE + is GL_TEXTURE, + params returns the name of + the texture object which contains the attached image. + The initial value is zero. + + + + + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE + is GL_TEXTURE, + params returns the mipmap level of + the texture object which contains the attached image. + The initial value is zero. + + + + + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE + is GL_TEXTURE and + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + is the name of a cube-map texture, + params returns the cube map + face of the cube-map texture object which contains + the attached image. If the attached image is from a + texture object but not a cube-map, params + returns 0. + The initial value is GL_TEXTURE_CUBE_MAP_POSITIVE_X. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_FRAMEBUFFER. + + + GL_INVALID_ENUM is generated if attachment is not GL_COLOR_ATTACHMENT0, GL_DEPTH_ATTACHMENT, or GL_STENCIL_ATTACHMENT. + + + GL_INVALID_ENUM is generated if the attached object at the named attachment point is GL_RENDERBUFFER and pname is not + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE or GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME. + + + GL_INVALID_ENUM is generated if the attached object at the named attachment point is GL_TEXTURE and pname is not + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, or GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE. + + + GL_INVALID_ENUM is generated if there is no attached object at the named attachment point and pname is not + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE. + + + GL_INVALID_OPERATION is generated if the default framebuffer object name 0 is bound. + + + See Also + + glBindFramebuffer, + glFramebufferRenderbuffer, + glFramebufferTexture2D + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetProgramInfoLog.xml b/Source/Bind/Specifications/Docs/ES20/glGetProgramInfoLog.xml new file mode 100644 index 00000000..edd562c4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetProgramInfoLog.xml @@ -0,0 +1,125 @@ + + + + + glGetProgramInfoLog + 3G + + + glGetProgramInfoLog + return the information log for a program object + + C Specification + + + void glGetProgramInfoLog + GLuint program + GLsizei maxLength + GLsizei *length + GLchar *infoLog + + + + Parameters + + + program + + Specifies the program object whose information + log is to be queried. + + + + maxLength + + Specifies the size of the character buffer for + storing the returned information log. + + + + length + + Returns the length of the string returned in + infoLog (excluding the null + terminator). + + + + infoLog + + Specifies an array of characters that is used + to return the information log. + + + + + Description + glGetProgramInfoLog returns the + information log for the specified program object. The + information log for a program object is modified when the + program object is linked or validated. The string that is + returned will be null terminated. + + glGetProgramInfoLog returns in + infoLog as much of the information log as + it can, up to a maximum of maxLength + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned information + log can be obtained by calling + glGetProgramiv + with the value GL_INFO_LOG_LENGTH. + + The information log for a program object is either an + empty string, or a string containing information about the last + link operation, or a string containing information about the + last validation operation. It may contain diagnostic messages, + warning messages, and other information. When a program object + is created, its information log will be a string of length + 0. + + Notes + The information log for a program object is the OpenGL + implementer's primary mechanism for conveying information about + linking and validating. Therefore, the information log can be + helpful to application developers during the development + process, even when these operations are successful. Application + developers should not expect different OpenGL implementations to + produce identical information logs. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + maxLength is less than 0. + + Associated Gets + glGetProgramiv + with argument GL_INFO_LOG_LENGTH + + glIsProgram + + See Also + glCompileShader, + glGetShaderInfoLog, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetProgramiv.xml b/Source/Bind/Specifications/Docs/ES20/glGetProgramiv.xml new file mode 100644 index 00000000..caaa1818 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetProgramiv.xml @@ -0,0 +1,213 @@ + + + + + glGetProgramiv + 3G + + + glGetProgramiv + return a parameter from a program object + + C Specification + + + void glGetProgramiv + GLuint program + GLenum pname + GLint *params + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + pname + + Specifies the object parameter. Accepted + symbolic names are + GL_DELETE_STATUS, + GL_LINK_STATUS, + GL_VALIDATE_STATUS, + GL_INFO_LOG_LENGTH, + GL_ATTACHED_SHADERS, + GL_ACTIVE_ATTRIBUTES, + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, + GL_ACTIVE_UNIFORMS, + GL_ACTIVE_UNIFORM_MAX_LENGTH. + + + + params + + Returns the requested object parameter. + + + + + Description + glGetProgramiv + returns in params + the value of a parameter for a specific program object. The following parameters are defined: + + + + GL_DELETE_STATUS + + params returns + GL_TRUE if + program is currently flagged + for deletion, and GL_FALSE + otherwise. + + + + + GL_LINK_STATUS + + params returns + GL_TRUE if the last link + operation on program was + successful, and GL_FALSE + otherwise. + + + + + GL_VALIDATE_STATUS + + params returns + GL_TRUE or if the last + validation operation on + program was successful, and + GL_FALSE + otherwise. + + + + + GL_INFO_LOG_LENGTH + + params returns the + number of characters in the information log for + program including the null + termination character (i.e., the size of the + character buffer required to store the information + log). If program has no + information log, a value of 0 is + returned. + + + + + GL_ATTACHED_SHADERS + + params returns the + number of shader objects attached to + program. + + + + + GL_ACTIVE_ATTRIBUTES + + params returns the + number of active attribute variables for + program. + + + + + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH + + params returns the + length of the longest active attribute name for + program, including the null + termination character (i.e., the size of the + character buffer required to store the longest + attribute name). If no active attributes exist, 0 is + returned. + + + + + GL_ACTIVE_UNIFORMS + + params returns the + number of active uniform variables for + program. + + + + + GL_ACTIVE_UNIFORM_MAX_LENGTH + + params returns the + length of the longest active uniform variable name + for program, including the + null termination character (i.e., the size of the + character buffer required to store the longest + uniform variable name). If no active uniform + variables exist, 0 is returned. + + + + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_ENUM + is generated if pname + is not an accepted value. + + GL_INVALID_VALUE + is generated if program + is not a value generated by OpenGL. + + GL_INVALID_OPERATION + is generated if program + does not refer to a program object. + + Associated Gets + glGetActiveAttrib + with argument program + + glGetActiveUniform + with argument program + + glGetAttachedShaders + with argument program + + glGetProgramInfoLog + with argument program + + glIsProgram + + + See Also + glAttachShader, + glCreateProgram, + glDeleteProgram, + glGetShaderiv, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetRenderbufferParameteriv.xml b/Source/Bind/Specifications/Docs/ES20/glGetRenderbufferParameteriv.xml new file mode 100644 index 00000000..214a5241 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetRenderbufferParameteriv.xml @@ -0,0 +1,222 @@ + + + + + + + 2005 + Sams Publishing + + + glGetRenderbufferParameteriv + 3G + + + glGetRenderbufferParameteriv + return parameters of a renderbuffer object + + C Specification + + + void glGetRenderbufferParameteriv + GLenum target + GLenum pname + GLint * params + + + + Parameters + + + target + + + Specifies the target renderbuffer object. + The symbolic constant must be GL_RENDERBUFFER. + + + + + pname + + + Specifies the symbolic name of a renderbuffer object parameter. + Accepted values are GL_RENDERBUFFER_WIDTH, + GL_RENDERBUFFER_HEIGHT, + GL_RENDERBUFFER_INTERNAL_FORMAT, + GL_RENDERBUFFER_RED_SIZE, + GL_RENDERBUFFER_GREEN_SIZE, + GL_RENDERBUFFER_BLUE_SIZE, + GL_RENDERBUFFER_ALPHA_SIZE, + GL_RENDERBUFFER_DEPTH_SIZE, or + GL_RENDERBUFFER_STENCIL_SIZE. + + + + + params + + + Returns the requested parameter. + + + + + + Description + + glGetRenderbufferParameteriv returns in + params a selected parameter of the + currently bound renderbuffer object. + + + pname names a specific renderbuffer object parameter, as follows: + + + + GL_RENDERBUFFER_WIDTH + + + params returns the width in pixels + of the image of the currently bound renderbuffer. + The initial value is 0. + + + + + GL_RENDERBUFFER_HEIGHT + + + params returns the height in pixels + of the image of the currently bound renderbuffer. + The initial value is 0. + + + + + GL_RENDERBUFFER_INTERNAL_FORMAT + + + params returns the internal format + of the image of the currently bound renderbuffer. + The initial value is GL_RGBA4. + + + + + GL_RENDERBUFFER_RED_SIZE + + + params returns the resolution in bits + for the red component of the image of the currently + bound renderbuffer. + The initial value is 0. + + + + + GL_RENDERBUFFER_GREEN_SIZE + + + params returns the resolution in bits + for the green component of the image of the currently + bound renderbuffer. + The initial value is 0. + + + + + GL_RENDERBUFFER_BLUE_SIZE + + + params returns the resolution in bits + for the blue component of the image of the currently + bound renderbuffer. + The initial value is 0. + + + + + GL_RENDERBUFFER_ALPHA_SIZE + + + params returns the resolution in bits + for the alpha component of the image of the currently + bound renderbuffer. + The initial value is 0. + + + + + GL_RENDERBUFFER_DEPTH_SIZE + + + params returns the resolution in bits + for the depth component of the image of the currently + bound renderbuffer. + The initial value is 0. + + + + + GL_RENDERBUFFER_STENCIL_SIZE + + + params returns the resolution in bits + for the stencil component of the image of the currently + bound renderbuffer. + The initial value is 0. + + + + + + Notes + + The resolution of components reported by + glGetRenderbufferParameteriv are the actual + resolutions at which the components are stored, which may be + different than those requested by the internalformat + parameter of glRenderbufferStorage. + + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + GL_INVALID_ENUM is generated if pname is not + GL_RENDERBUFFER_WIDTH, + GL_RENDERBUFFER_HEIGHT, + GL_RENDERBUFFER_INTERNAL_FORMAT, + GL_RENDERBUFFER_RED_SIZE, + GL_RENDERBUFFER_GREEN_SIZE, + GL_RENDERBUFFER_BLUE_SIZE, + GL_RENDERBUFFER_ALPHA_SIZE, + GL_RENDERBUFFER_DEPTH_SIZE, or + GL_RENDERBUFFER_STENCIL_SIZE. + + + GL_INVALID_OPERATION is generated if the reserved renderbuffer object name 0 is bound. + + + See Also + + glBindRenderBuffer, + glRenderbufferStorage + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetShaderInfoLog.xml b/Source/Bind/Specifications/Docs/ES20/glGetShaderInfoLog.xml new file mode 100644 index 00000000..2db8f863 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetShaderInfoLog.xml @@ -0,0 +1,122 @@ + + + + + glGetShaderInfoLog + 3G + + + glGetShaderInfoLog + return the information log for a shader object + + C Specification + + + void glGetShaderInfoLog + GLuint shader + GLsizei maxLength + GLsizei *length + GLchar *infoLog + + + + Parameters + + + shader + + Specifies the shader object whose information + log is to be queried. + + + + maxLength + + Specifies the size of the character buffer for + storing the returned information log. + + + + length + + Returns the length of the string returned in + infoLog (excluding the null + terminator). + + + + infoLog + + Specifies an array of characters that is used + to return the information log. + + + + + Description + glGetShaderInfoLog returns the + information log for the specified shader object. The information + log for a shader object is modified when the shader is compiled. + The string that is returned will be null terminated. + + glGetShaderInfoLog returns in + infoLog as much of the information log as + it can, up to a maximum of maxLength + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned information + log can be obtained by calling + glGetShaderiv + with the value GL_INFO_LOG_LENGTH. + + The information log for a shader object is a string that + may contain diagnostic messages, warning messages, and other + information about the last compile operation. When a shader + object is created, its information log will be a string of + length 0. + + Notes + The information log for a shader object is the OpenGL + implementer's primary mechanism for conveying information about + the compilation process. Therefore, the information log can be + helpful to application developers during the development + process, even when compilation is successful. Application + developers should not expect different OpenGL implementations to + produce identical information logs. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + maxLength is less than 0. + + Associated Gets + glGetShaderiv + with argument GL_INFO_LOG_LENGTH + + glIsShader + + See Also + glCompileShader, + glGetProgramInfoLog, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetShaderPrecisionFormat.xml b/Source/Bind/Specifications/Docs/ES20/glGetShaderPrecisionFormat.xml new file mode 100644 index 00000000..0b36bf8d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetShaderPrecisionFormat.xml @@ -0,0 +1,220 @@ + + + + + glGetShaderPrecisionFormat + 3G + + + glGetShaderPrecisionFormat + return the range and precision for different shader numeric formats + + C Specification + + + void glGetShaderPrecisionFormat + GLenum shaderType + GLenum precisionType + GLint *range + GLint *precision + + + + Parameters + + + shaderType + + Specifies the type of shader to query. + Must be either GL_VERTEX_SHADER + or GL_FRAGMENT_SHADER. + + + + precisionType + + Specifies the numeric format to query, corresponding to a shader precision qualifier and variable type. + Must be one of GL_LOW_FLOAT, GL_MEDIUM_FLOAT, + GL_HIGH_FLOAT, GL_LOW_INT, + GL_MEDIUM_INT, or GL_HIGH_INT. + + + + range + + Specifies a pointer to the two-element array in which the + + + + log + 2 + + + + of the minimum and maximum representable magnitudes of the format + are returned. + + + + precision + + Specifies a pointer to the location in which the + + + + log + 2 + + + + of the precision of the format is returned. + + + + + Description + + glGetShaderPrecisionFormat + returns range and precision limits for floating-point and integer shader variable formats with low, + medium, and high precision qualifiers. + When minRep + and maxRep + are the minimum and maximum representable values of the format, + + + + floor + + + + log + 2 + + + + + + + minRep + + + + + + + + + and + + + + floor + + + + log + 2 + + + + + + + maxRep + + + + + + + + + are returned in + range as the first and second elements, respectively. + + If the smallest representable value greater than 1 is + + + + + 1 + + + ε + + + + then + + + + floor + + + + - + log + 2 + + + + + ε + + + + + + + is returned in precision. + An integer format will have an ε of 1, and thus will return 0. + Floating-point formats will return values greater than 0. + + Notes + The minimum range and precision required for different formats is + described in the OpenGL ES Shading Language Specification. + + If a high precision floating-point format is not supported for fragment shaders, + calling glGetShaderPrecisionFormat with arguments GL_FRAGMENT_SHADER + and GL_HIGH_FLOAT will return 0 for both range and + precision. Support for a high precision floating-point format is mandatory for + vertex shaders. + + Shader compiler support is optional, and thus must be queried + before use by calling glGet + with argument GL_SHADER_COMPILER. glShaderSource, + glCompileShader, glGetShaderPrecisionFormat, and + glReleaseShaderCompiler will + each generate GL_INVALID_OPERATION on implementations + that do not support a shader compiler. Such implementations instead offer the + glShaderBinary + alternative for supplying a pre-compiled shader binary. + + If an error is generated, no change is made to the + contents of range or precision. + + Errors + GL_INVALID_OPERATION is generated if + a shader compiler is not supported. + + GL_INVALID_ENUM is generated if + shaderType or precisionType is not + an accepted value. + + Associated Gets + glGet + with argument GL_SHADER_COMPILER + + See Also + glCompileShader, + glShaderSource + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetShaderSource.xml b/Source/Bind/Specifications/Docs/ES20/glGetShaderSource.xml new file mode 100644 index 00000000..68aa5b94 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetShaderSource.xml @@ -0,0 +1,110 @@ + + + + + glGetShaderSource + 3G + + + glGetShaderSource + return the source code string from a shader object + + C Specification + + + void glGetShaderSource + GLuint shader + GLsizei bufSize + GLsizei *length + GLchar *source + + + + Parameters + + + shader + + Specifies the shader object to be + queried. + + + + bufSize + + Specifies the size of the character buffer for + storing the returned source code string. + + + + length + + Returns the length of the string returned in + source (excluding the null + terminator). + + + + source + + Specifies an array of characters that is used + to return the source code string. + + + + + Description + glGetShaderSource returns the + concatenation of the source code strings from the shader object + specified by shader. The source code + strings for a shader object are the result of a previous call to + glShaderSource. + The string returned by the function will be null + terminated. + + glGetShaderSource returns in + source as much of the source code string + as it can, up to a maximum of bufSize + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned source code + string can be obtained by calling + glGetShaderiv + with the value + GL_SHADER_SOURCE_LENGTH. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGetShaderiv + with argument + GL_SHADER_SOURCE_LENGTH + + glIsShader + + See Also + glCreateShader, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetShaderiv.xml b/Source/Bind/Specifications/Docs/ES20/glGetShaderiv.xml new file mode 100644 index 00000000..91b925dd --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetShaderiv.xml @@ -0,0 +1,187 @@ + + + + + glGetShaderiv + 3G + + + glGetShaderiv + return a parameter from a shader object + + C Specification + + + void glGetShaderiv + GLuint shader + GLenum pname + GLint *params + + + + Parameters + + + shader + + Specifies the shader object to be + queried. + + + + pname + + Specifies the object parameter. Accepted + symbolic names are + GL_SHADER_TYPE, + GL_DELETE_STATUS, + GL_COMPILE_STATUS, + GL_INFO_LOG_LENGTH, + GL_SHADER_SOURCE_LENGTH. + + + + params + + Returns the requested object parameter. + + + + + Description + + glGetShaderiv + returns in params + the value of a parameter for a specific shader object. The + following parameters are defined: + + + + GL_SHADER_TYPE + + params returns + GL_VERTEX_SHADER if + shader is a vertex shader + object, and GL_FRAGMENT_SHADER + if shader is a fragment + shader object. + + + + + GL_DELETE_STATUS + + params returns + GL_TRUE if + shader is currently flagged + for deletion, and GL_FALSE + otherwise. + + + + + GL_COMPILE_STATUS + + For implementations that support a shader compiler, + params returns + GL_TRUE if the last compile + operation on shader was + successful, and GL_FALSE + otherwise. + + + + + GL_INFO_LOG_LENGTH + + For implementations that support a shader compiler, + params returns the + number of characters in the information log for + shader including the null + termination character (i.e., the size of the + character buffer required to store the information + log). If shader has no + information log, a value of 0 is returned. + + + + + GL_SHADER_SOURCE_LENGTH + + For implementations that support a shader compiler, + params returns the + length of the concatenation of the source strings + that make up the shader source for the + shader, including the null + termination character. (i.e., the size of the + character buffer required to store the shader + source). If no source code exists, 0 is + returned. + + + + + Notes + Shader compiler support is optional, and thus must be queried + before use by calling glGet + with argument GL_SHADER_COMPILER. glShaderSource, + glCompileShader, + glGetShaderPrecisionFormat, and + glReleaseShaderCompiler will + each generate GL_INVALID_OPERATION on implementations + that do not support a shader compiler, as will glGetShaderiv queries of + GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, and + GL_SHADER_SOURCE_LENGTH. Such implementations instead offer the + glShaderBinary + alternative for supplying a pre-compiled shader binary. + + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_ENUM is generated if + pname is not an accepted value. + + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + pname is GL_COMPILE_STATUS, + GL_INFO_LOG_LENGTH, or GL_SHADER_SOURCE_LENGTH + but a shader compiler is not supported. + + GL_INVALID_OPERATION is generated if + shader does not refer to a shader + object. + + Associated Gets + glGet + with argument GL_SHADER_COMPILER + + glGetShaderInfoLog + with argument shader + + glGetShaderSource + with argument shader + + glIsShader + + See Also + glCompileShader, + glCreateShader, + glDeleteShader, + glGetProgramiv, + glShaderSource, + glShaderBinary + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetString.xml b/Source/Bind/Specifications/Docs/ES20/glGetString.xml new file mode 100644 index 00000000..82a2e745 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetString.xml @@ -0,0 +1,138 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetString + 3G + + + glGetString + return a string describing the current GL connection + + C Specification + + + const GLubyte* glGetString + GLenum name + + + + Parameters + + + name + + + Specifies a symbolic constant, one of + GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. + + + + + + Description + + glGetString returns a pointer to a static string + describing some aspect of the current GL connection. + name can be one of the following: + + + + GL_VENDOR + + + Returns the company responsible for this GL implementation. + This name does not change from release to release. + + + + + GL_RENDERER + + + Returns the name of the renderer. + This name is typically specific to a particular configuration of a hardware + platform. + It does not change from release to release. + + + + + GL_VERSION + + + Returns a version or release number of the form + OpenGL<space>ES<space><version number><space><vendor-specific information>. + + + + + GL_SHADING_LANGUAGE_VERSION + + + Returns a version or release number for the shading language of the form + OpenGL<space>ES<space>GLSL<space>ES<space><version number><space><vendor-specific information>. + + + + + GL_EXTENSIONS + + + Returns a space-separated list of supported extensions to GL. + + + + + + Because the GL does not include queries for the performance + characteristics of an implementation, some applications are written to + recognize known platforms and modify their GL usage based on known + performance characteristics of these platforms. + Strings GL_VENDOR and GL_RENDERER together uniquely specify + a platform. They do not change from release to release and should be used + by platform-recognition algorithms. + + + Some applications want to make use of features that + are not part of the standard GL. These features + may be implemented as extensions to the standard GL. + The GL_EXTENSIONS string is a space-separated + list of supported GL extensions. + (Extension names never contain a space character.) + + + All strings are null-terminated. + + + Notes + + If an error is generated, glGetString returns 0. + + + The client and server may support different versions or extensions. + glGetString always returns a compatible version number or list of extensions. + The release number always describes the server. + + + Errors + + GL_INVALID_ENUM is generated if name is not an accepted value. + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetTexParameter.xml b/Source/Bind/Specifications/Docs/ES20/glGetTexParameter.xml new file mode 100644 index 00000000..66aad639 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetTexParameter.xml @@ -0,0 +1,151 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetTexParameter + 3G + + + glGetTexParameter + return texture parameter values + + C Specification + + + void glGetTexParameterfv + GLenum target + GLenum pname + GLfloat * params + + + + + void glGetTexParameteriv + GLenum target + GLenum pname + GLint * params + + + + + Parameters + + + target + + + Specifies the symbolic name of the target texture of the active texture unit. + GL_TEXTURE_2D and + GL_TEXTURE_CUBE_MAP + are accepted. + + + + + pname + + + Specifies the symbolic name of a texture parameter. + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_WRAP_S, and + GL_TEXTURE_WRAP_T + are accepted. + + + + + params + + + Returns the texture parameter. + + + + + + Description + + glGetTexParameter returns in params the + value of the texture parameter + specified as pname. + target defines the target texture of the active texture unit, + either GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP, + to specify two-dimensional or cube-mapped texturing. + pname accepts the same symbols as glTexParameter, + with the same interpretations: + + + + GL_TEXTURE_MAG_FILTER + + + Returns the single-valued texture magnification filter, + a symbolic constant. The initial value is GL_LINEAR. + + + + + GL_TEXTURE_MIN_FILTER + + + Returns the single-valued texture minification filter, + a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_WRAP_S + + + Returns the single-valued wrapping function for texture coordinate + s, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_T + + + Returns the single-valued wrapping function for texture coordinate + t, + a symbolic constant. The initial value is GL_REPEAT. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + See Also + + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetUniform.xml b/Source/Bind/Specifications/Docs/ES20/glGetUniform.xml new file mode 100644 index 00000000..126adaf8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetUniform.xml @@ -0,0 +1,135 @@ + + + + + glGetUniform + 3G + + + glGetUniform + glGetUniformfv + glGetUniformiv + return the value of a uniform variable + + C Specification + + + void glGetUniformfv + GLuint program + GLint location + GLfloat *params + + + void glGetUniformiv + GLuint program + GLint location + GLint *params + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + location + + Specifies the location of the uniform variable + to be queried. + + + + params + + Returns the value of the specified uniform + variable. + + + + + Description + glGetUniform returns in + params the value(s) of the specified + uniform variable. The type of the uniform variable specified by + location determines the number of values + returned. If the uniform variable is defined in the shader as a + boolean, int, or float, a single value will be returned. If it + is defined as a vec2, ivec2, or bvec2, two values will be + returned. If it is defined as a vec3, ivec3, or bvec3, three + values will be returned, and so on. To query values stored in + uniform variables declared as arrays, call + glGetUniform for each element of the array. + To query values stored in uniform variables declared as + structures, call glGetUniform for each + field in the structure. The values for uniform variables + declared as a matrix will be returned in column major + order. + + The locations assigned to uniform variables are not known + until the program object is linked. After linking has occurred, + the command + glGetUniformLocation + can be used to obtain the location of a uniform variable. This + location value can then be passed to + glGetUniform in order to query the current + value of the uniform variable. After a program object has been + linked successfully, the index values for uniform variables + remain fixed until the next link command occurs. The uniform + variable values can only be queried after a link if the link was + successful. + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + GL_INVALID_OPERATION is generated if + location does not correspond to a valid + uniform variable location for the specified program object. + + Associated Gets + glGetActiveUniform + with arguments program and the index of an active + uniform variable + + glGetProgramiv + with arguments program and + GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH + + glGetUniformLocation + with arguments program and the name of a + uniform variable + glIsProgram + + See Also + glCreateProgram, + glLinkProgram, + glUniform + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetUniformLocation.xml b/Source/Bind/Specifications/Docs/ES20/glGetUniformLocation.xml new file mode 100644 index 00000000..51f94b77 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetUniformLocation.xml @@ -0,0 +1,122 @@ + + + + + glGetUniformLocation + 3G + + + glGetUniformLocation + return the location of a uniform variable + + C Specification + + + GLint glGetUniformLocation + GLuint program + const GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + name + + Points to a null terminated string containing + the name of the uniform variable whose location is + to be queried. + + + + + Description + glGetUniformLocation returns an + integer that represents the location of a specific uniform + variable within a program object. name + must be a null terminated string that contains no white space. + name must be an active uniform variable + name in program that is not a structure, + an array of structures, or a subcomponent of a vector or a + matrix. This function returns -1 if name + does not correspond to an active uniform variable in + program or if name + starts with the reserved prefix "gl_". + + Uniform variables that are structures or arrays of + structures may be queried by calling + glGetUniformLocation for each field within + the structure. The array element operator "[]" and the + structure field operator "." may be used in + name in order to select elements within + an array or fields within a structure. The result of using these + operators is not allowed to be another structure, an array of + structures, or a subcomponent of a vector or a matrix. Except if + the last part of name indicates a uniform + variable array, the location of the first element of an array + can be retrieved by using the name of the array, or by using the + name appended by "[0]". + + The actual locations assigned to uniform variables are not + known until the program object is linked successfully. After + linking has occurred, the command + glGetUniformLocation can be used to obtain + the location of a uniform variable. This location value can then + be passed to + glUniform + to set the value of the uniform variable or to + glGetUniform + in order to query the current value of the uniform variable. + After a program object has been linked successfully, the index + values for uniform variables remain fixed until the next link + command occurs. Uniform variable locations and values can only + be queried after a link if the link was successful. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + Associated Gets + glGetActiveUniform + with arguments program and the index of + an active uniform variable + + glGetProgramiv + with arguments program and + GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH + + glGetUniform + with arguments program and the name of a + uniform variable + glIsProgram + + See Also + glLinkProgram, + glUniform + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetVertexAttrib.xml b/Source/Bind/Specifications/Docs/ES20/glGetVertexAttrib.xml new file mode 100644 index 00000000..e00ab68a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetVertexAttrib.xml @@ -0,0 +1,199 @@ + + + + + glGetVertexAttrib + 3G + + + glGetVertexAttrib + glGetVertexAttribfv + glGetVertexAttribiv + return a generic vertex attribute parameter + + C Specification + + + void glGetVertexAttribfv + GLuint index + GLenum pname + GLfloat *params + + + void glGetVertexAttribiv + GLuint index + GLenum pname + GLint *params + + + + Parameters + + + index + + Specifies the generic vertex attribute + parameter to be queried. + + + + pname + + Specifies the symbolic name of the vertex + attribute parameter to be queried. Accepted values are + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, + GL_VERTEX_ATTRIB_ARRAY_ENABLED, + GL_VERTEX_ATTRIB_ARRAY_SIZE, + GL_VERTEX_ATTRIB_ARRAY_STRIDE, + GL_VERTEX_ATTRIB_ARRAY_TYPE, + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or + GL_CURRENT_VERTEX_ATTRIB. + + + + params + + Returns the requested data. + + + + + Description + glGetVertexAttrib returns in + params the value of a generic vertex + attribute parameter. The generic vertex attribute to be queried + is specified by index, and the parameter + to be queried is specified by pname. + + The accepted parameter names are as follows: + + + + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + + params returns a + single value, the name of the buffer object currently bound to + the binding point corresponding to generic vertex attribute array + index. If no buffer object is bound, + 0 is returned. The initial value is 0. + + + + + GL_VERTEX_ATTRIB_ARRAY_ENABLED + + params returns a + single value that is non-zero (true) if the vertex + attribute array for index is + enabled and 0 (false) if it is disabled. The initial + value is GL_FALSE. + + + + + GL_VERTEX_ATTRIB_ARRAY_SIZE + + params returns a + single value, the size of the vertex attribute array + for index. The size is the + number of values for each element of the vertex + attribute array, and it will be 1, 2, 3, or 4. The + initial value is 4. + + + + + GL_VERTEX_ATTRIB_ARRAY_STRIDE + + params returns a + single value, the array stride for (number of bytes + between successive elements in) the vertex attribute + array for index. A value of 0 + indicates that the array elements are stored + sequentially in memory. The initial value is 0. + + + + + GL_VERTEX_ATTRIB_ARRAY_TYPE + + params returns a + single value, a symbolic constant indicating the + array type for the vertex attribute array for + index. Possible values are + GL_BYTE, + GL_UNSIGNED_BYTE, + GL_SHORT, + GL_UNSIGNED_SHORT, + GL_FIXED, and + GL_FLOAT. The initial value is + GL_FLOAT. + + + + + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED + + params returns a + single value that is non-zero (true) if fixed-point + data types for the vertex attribute array indicated + by index are normalized when + they are converted to floating point, and 0 (false) + otherwise. The initial value is + GL_FALSE. + + + + + GL_CURRENT_VERTEX_ATTRIB + + params returns four + values that represent the current value for the + generic vertex attribute specified by index. + The initial value is (0,0,0,1). + + + + + All of the parameters except GL_CURRENT_VERTEX_ATTRIB + represent client-side state. + + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_ENUM is generated if + pname is not an accepted value. + + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + See Also + glBindAttribLocation, + glBindBuffer, + glDisableVertexAttribArray, + glEnableVertexAttribArray, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glGetVertexAttribPointerv.xml b/Source/Bind/Specifications/Docs/ES20/glGetVertexAttribPointerv.xml new file mode 100644 index 00000000..e8405aa0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glGetVertexAttribPointerv.xml @@ -0,0 +1,91 @@ + + + + + glGetVertexAttribPointerv + 3G + + + glGetVertexAttribPointerv + return the address of the specified generic vertex attribute pointer + + C Specification + + + void glGetVertexAttribPointerv + GLuint index + GLenum pname + GLvoid **pointer + + + + Parameters + + + index + + Specifies the generic vertex attribute + parameter to be returned. + + + + pname + + Specifies the symbolic name of the generic + vertex attribute parameter to be returned. Must be + GL_VERTEX_ATTRIB_ARRAY_POINTER. + + + + pointer + + Returns the pointer value. + + + + + Description + glGetVertexAttribPointerv returns + pointer information. index is the generic + vertex attribute to be queried, pname is + a symbolic constant indicating the pointer to be returned, and + params is a pointer to a location in + which to place the returned data. + + If a non-zero named buffer object was bound to the GL_ARRAY_BUFFER target + (see glBindBuffer) when the desired pointer was previously + specified, the pointer returned is a byte offset into the buffer object's data store. + + + Notes + The pointer returned is client-side state. + + The initial value for each pointer is 0. + + Errors + GL_INVALID_ENUM + is generated if pname + is not an accepted value. + + GL_INVALID_VALUE + is generated if index + is greater than or equal to GL_MAX_VERTEX_ATTRIBS. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + See Also + glGetVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glHint.xml b/Source/Bind/Specifications/Docs/ES20/glHint.xml new file mode 100644 index 00000000..2641d23d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glHint.xml @@ -0,0 +1,134 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glHint + 3G + + + glHint + specify implementation-specific hints + + C Specification + + + void glHint + GLenum target + GLenum mode + + + + Parameters + + + target + + + Specifies a symbolic constant indicating the behavior to be controlled. + GL_GENERATE_MIPMAP_HINT is accepted. + + + + + mode + + + Specifies a symbolic constant indicating the desired behavior. + GL_FASTEST, + GL_NICEST, and + GL_DONT_CARE are accepted. + + + + + + Description + + Certain aspects of GL behavior, + when there is room for interpretation, + can be controlled with hints. + A hint is specified with two arguments. + target is a symbolic + constant indicating the behavior to be controlled, + and mode is another symbolic constant indicating the desired + behavior. The initial value for each target is GL_DONT_CARE. + mode can be one of the following: + + + + GL_FASTEST + + + The most efficient option should be chosen. + + + + + GL_NICEST + + + The most correct, + or highest quality, + option should be chosen. + + + + + GL_DONT_CARE + + + No preference. + + + + + + Though the implementation aspects that can be hinted are well defined, + the interpretation of the hints depends on the implementation. + The hint aspects that can be specified with target, + along with suggested semantics, + are as follows: + + + + GL_GENERATE_MIPMAP_HINT + + + Indicates the quality of filtering when generating mipmap images with + glGenerateMipmap. + + + + + + Notes + + The interpretation of hints depends on the implementation. + Some implementations ignore glHint settings. + + + Errors + + GL_INVALID_ENUM is generated if either target or mode is not + an accepted value. + + + See Also + glGenerateMipmap + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glIsBuffer.xml b/Source/Bind/Specifications/Docs/ES20/glIsBuffer.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glIsBuffer.xml rename to Source/Bind/Specifications/Docs/ES20/glIsBuffer.xml index f4cff50d..e6d9d4a3 100644 --- a/Source/Bind/Specifications/Docs/glIsBuffer.xml +++ b/Source/Bind/Specifications/Docs/ES20/glIsBuffer.xml @@ -2,17 +2,13 @@ - - - 2005 - Sams Publishing - - - 2010-2013 - Khronos Group - - + + + 2005 + Sams Publishing + + glIsBuffer 3G @@ -59,11 +55,10 @@ glGet - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/ES20/glIsEnabled.xml b/Source/Bind/Specifications/Docs/ES20/glIsEnabled.xml new file mode 100644 index 00000000..d060da17 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glIsEnabled.xml @@ -0,0 +1,169 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glIsEnabled + 3G + + + glIsEnabled + test whether a capability is enabled + + C Specification + + + GLboolean glIsEnabled + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + + Description + + glIsEnabled returns GL_TRUE if cap is an enabled capability + and returns GL_FALSE otherwise. + Initially all capabilities except GL_DITHER are disabled; + GL_DITHER is initially enabled. + + + The following capabilities are accepted for cap: + + + + + + + + + + + Constant + + + See + + + + + + + GL_BLEND + + + glBlendFunc + + + + + GL_CULL_FACE + + + glCullFace + + + + + GL_DEPTH_TEST + + + glDepthFunc, glDepthRangef + + + + + GL_DITHER + + + glEnable + + + + + GL_POLYGON_OFFSET_FILL + + + glPolygonOffset + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + glSampleCoverage + + + + + GL_SAMPLE_COVERAGE + + + glSampleCoverage + + + + + GL_SCISSOR_TEST + + + glScissor + + + + + GL_STENCIL_TEST + + + glStencilFunc, glStencilOp + + + + + + + + + Notes + + If an error is generated, + glIsEnabled returns 0. + + + Errors + + GL_INVALID_ENUM is generated if cap is not an accepted value. + + + See Also + + glEnable, + glGet + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glIsFramebuffer.xml b/Source/Bind/Specifications/Docs/ES20/glIsFramebuffer.xml new file mode 100644 index 00000000..7e1c025a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glIsFramebuffer.xml @@ -0,0 +1,65 @@ + + + + + + + 2005 + Sams Publishing + + + glIsFramebuffer + 3G + + + glIsFramebuffer + determine if a name corresponds to a framebuffer object + + C Specification + + + GLboolean glIsFramebuffer + GLuint framebuffer + + + + Parameters + + + framebuffer + + + Specifies a value that may be the name of a framebuffer object. + + + + + + Description + + glIsFramebuffer returns GL_TRUE if framebuffer is currently the name of a framebuffer object. + If framebuffer is zero, or is a non-zero value that is not currently the + name of a framebuffer object, or if an error occurs, glIsFramebuffer returns GL_FALSE. + + + A name returned by glGenFramebuffers, but not yet associated with a framebuffer object + by calling glBindFramebuffer, is not the name of a framebuffer object. + + + See Also + + glBindFramebuffer, + glDeleteFramebuffers, + glGenFramebuffers + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glIsProgram.xml b/Source/Bind/Specifications/Docs/ES20/glIsProgram.xml new file mode 100644 index 00000000..8a892408 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glIsProgram.xml @@ -0,0 +1,62 @@ + + + + + glIsProgram + 3G + + + glIsProgram + determine if a name corresponds to a program object + + C Specification + + + GLboolean glIsProgram + GLuint program + + + + Parameters + + + program + + Specifies a potential program object. + + + + + Description + glIsProgram returns + GL_TRUE if program + is the name of a program object previously created with + glCreateProgram + and not yet deleted with glDeleteProgram. + If program is zero or a non-zero value that + is not the name of a program object, or if an error occurs, + glIsProgram returns GL_FALSE. + + Notes + No error is generated if program is + not a valid program object name. + + A program object marked for deletion with glDeleteProgram + but still in use as part of current rendering state is still considered + a program object and glIsProgram will return GL_TRUE. + + See Also + glCreateProgram, + glDeleteProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glIsRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES20/glIsRenderbuffer.xml new file mode 100644 index 00000000..148b5e40 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glIsRenderbuffer.xml @@ -0,0 +1,65 @@ + + + + + + + 2005 + Sams Publishing + + + glIsRenderbuffer + 3G + + + glIsRenderbuffer + determine if a name corresponds to a renderbuffer object + + C Specification + + + GLboolean glIsRenderbuffer + GLuint renderbuffer + + + + Parameters + + + renderbuffer + + + Specifies a value that may be the name of a renderbuffer object. + + + + + + Description + + glIsRenderbuffer returns GL_TRUE if renderbuffer is currently the name of a renderbuffer object. + If renderbuffer is zero, or is a non-zero value that is not currently the + name of a renderbuffer object, or if an error occurs, glIsRenderbuffer returns GL_FALSE. + + + A name returned by glGenRenderbuffers, but not yet associated with a renderbuffer object + by calling glBindRenderbuffer, is not the name of a renderbuffer object. + + + See Also + + glBindRenderbuffer, + glDeleteRenderbuffers, + glGenRenderbuffers + + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glIsShader.xml b/Source/Bind/Specifications/Docs/ES20/glIsShader.xml new file mode 100644 index 00000000..91855386 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glIsShader.xml @@ -0,0 +1,62 @@ + + + + + glIsShader + 3G + + + glIsShader + determine if a name corresponds to a shader object + + C Specification + + + GLboolean glIsShader + GLuint shader + + + + Parameters + + + shader + + Specifies a potential shader object. + + + + + Description + glIsShader returns + GL_TRUE if shader is + the name of a shader object previously created with + glCreateShader + and not yet deleted with glDeleteShader. + If shader is + zero or a non-zero value that is not the name of a shader + object, or if an error occurs, glIsShader returns + GL_FALSE. + + Notes + No error is generated if shader is + not a valid shader object name. + + A shader object marked for deletion with glDeleteShader + but still attached to a program object is still considered + a shader object and glIsShader will return GL_TRUE. + + See Also + glCreateShader, + glDeleteShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glIsTexture.xml b/Source/Bind/Specifications/Docs/ES20/glIsTexture.xml new file mode 100644 index 00000000..67e0e4d7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glIsTexture.xml @@ -0,0 +1,70 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glIsTexture + 3G + + + glIsTexture + determine if a name corresponds to a texture + + C Specification + + + GLboolean glIsTexture + GLuint texture + + + + Parameters + + + texture + + + Specifies a value that may be the name of a texture. + + + + + + Description + + glIsTexture returns GL_TRUE if texture is currently the name of a texture. + If texture is zero, or is a non-zero value that is not currently the + name of a texture, or if an error occurs, glIsTexture returns GL_FALSE. + + + A name returned by glGenTextures, but not yet associated with a texture + by calling glBindTexture, is not the name of a texture. + + + See Also + + glBindTexture, + glCopyTexImage2D, + glDeleteTextures, + glGenTextures, + glGet, + glGetTexParameter, + glTexImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glLineWidth.xml b/Source/Bind/Specifications/Docs/ES20/glLineWidth.xml new file mode 100644 index 00000000..7569547d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glLineWidth.xml @@ -0,0 +1,118 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glLineWidth + 3G + + + glLineWidth + specify the width of rasterized lines + + C Specification + + + void glLineWidth + GLfloat width + + + + + Parameters + + + width + + + Specifies the width of rasterized lines. + The initial value is 1. + + + + + + Description + + glLineWidth specifies the rasterized width of + lines. + + + The actual width is determined by rounding the supplied width + to the nearest integer. + (If the rounding results in the value 0, + it is as if the line width were 1.) + If + + + + + + Δ + x + + + >= + + + Δ + y + + + + , + i pixels are filled in each column that is rasterized, + where i is the rounded value of width. + Otherwise, + i pixels are filled in each row that is rasterized. + + + There is a range of supported line widths. Only width 1 is guaranteed to be supported; others depend on the + implementation. + To query the range of supported widths, call glGet + with argument GL_ALIASED_LINE_WIDTH_RANGE. + + + Notes + + The line width specified by glLineWidth is always returned when GL_LINE_WIDTH + is queried. + Clamping and rounding have no effect on the specified value. + + + Line width may be clamped to an implementation-dependent maximum. Call glGet with GL_ALIASED_LINE_WIDTH_RANGE to determine the maximum width. + + + Errors + + GL_INVALID_VALUE is generated if width is less than or equal to 0. + + + Associated Gets + + glGet with argument GL_LINE_WIDTH + + + glGet with argument GL_ALIASED_LINE_WIDTH_RANGE + + + See Also + + glEnable + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glLinkProgram.xml b/Source/Bind/Specifications/Docs/ES20/glLinkProgram.xml new file mode 100644 index 00000000..ec052ebd --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glLinkProgram.xml @@ -0,0 +1,210 @@ + + + + + glLinkProgram + 3G + + + glLinkProgram + link a program object + + C Specification + + + void glLinkProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object to be linked. + + + + + + Description + glLinkProgram links the program + object specified by program. Shader objects + of type GL_VERTEX_SHADER attached to + program are used to + create an executable that will run on the programmable vertex + processor. Shader objects of type GL_FRAGMENT_SHADER + attached to program are used to create an + executable that will run on the programmable fragment + processor. + + The status of the link operation will be stored as part of + the program object's state. This value will be set to + GL_TRUE if the program object was linked + without errors and is ready for use, and + GL_FALSE otherwise. It can be queried by + calling + glGetProgramiv + with arguments program and + GL_LINK_STATUS. + + As a result of a successful link operation, all active + user-defined uniform variables belonging to + program will be initialized to 0, and + each of the program object's active uniform variables will be + assigned a location that can be queried by calling + glGetUniformLocation. + Also, any active user-defined attribute variables that have not + been bound to a generic vertex attribute index will be bound to + one at this time. + + Linking of a program object can fail for a number of + reasons as specified in the OpenGL ES Shading Language + Specification. The following lists some of the + conditions that will cause a link error. + + + + A vertex shader and a fragment shader are not both + present in the program object. + + + The number of active attribute variables supported + by the implementation has been exceeded. + + + The storage limit for uniform variables has been + exceeded. + + + The number of active uniform variables supported + by the implementation has been exceeded. + + + The main function is missing + for the vertex shader or the fragment shader. + + + A varying variable actually used in the fragment + shader is not declared in the same way (or is not + declared at all) in the vertex shader. + + + A reference to a function or variable name is + unresolved. + + + A shared global is declared with two different + types or two different initial values. + + + One or more of the attached shader objects has not + been successfully compiled (via glCompileShader) + or loaded with a pre-compiled shader binary (via glShaderBinary). + + + Binding a generic attribute matrix caused some + rows of the matrix to fall outside the allowed maximum + of GL_MAX_VERTEX_ATTRIBS. + + + Not enough contiguous vertex attribute slots could + be found to bind attribute matrices. + + + + When a program object has been successfully linked, the + program object can be made part of current state by calling + glUseProgram. + Whether or not the link operation was successful, the program + object's information log will be overwritten. The information + log can be retrieved by calling + glGetProgramInfoLog. + + glLinkProgram will also install the + generated executables as part of the current rendering state if + the link operation was successful and the specified program + object is already currently in use as a result of a previous + call to + glUseProgram. + If the program object currently in use is relinked + unsuccessfully, its link status will be set to + GL_FALSE , but the executables and + associated state will remain part of the current state until a + subsequent call to glUseProgram removes it + from use. After it is removed from use, it cannot be made part + of current state until it has been successfully relinked. + + The program object's information log is updated and the + program is generated at the time of the link operation. After + the link operation, applications are free to modify attached + shader objects, compile attached shader objects, detach shader + objects, delete shader objects, and attach additional shader + objects. None of these operations affects the information log or + the program that is part of the program object. + + Notes + If the link operation is unsuccessful, any information about a previous link operation on program + is lost (i.e., a failed link does not restore the old state of program). + Certain information can still be retrieved from program + even after an unsuccessful link operation. See for instance glGetActiveAttrib + and glGetActiveUniform. + + Errors + GL_INVALID_VALUE + is generated if program + is not a value generated by OpenGL. + GL_INVALID_OPERATION + is generated if program + is not a program object. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + glGetActiveAttrib + with argument program + and the index of an active attribute variable + glGetActiveUniform + with argument program + and the index of an active uniform variable + glGetAttachedShaders + with argument program + glGetAttribLocation + with argument program + and an attribute variable name + glGetProgramiv + with arguments program + and GL_LINK_STATUS + glGetProgramInfoLog + with argument program + glGetUniform + with argument program + and a uniform variable location + glGetUniformLocation + with argument program + and a uniform variable name + glIsProgram + + See Also + glAttachShader, + glBindAttribLocation, + glCompileShader, + glShaderBinary, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glPixelStorei.xml b/Source/Bind/Specifications/Docs/ES20/glPixelStorei.xml new file mode 100644 index 00000000..11b19eea --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glPixelStorei.xml @@ -0,0 +1,194 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glPixelStorei + 3G + + + glPixelStorei + set pixel storage modes + + C Specification + + + void glPixelStorei + GLenum pname + GLint param + + + + + Parameters + + + pname + + + Specifies the symbolic name of the parameter to be set. + One value affects the packing of pixel data into memory: + GL_PACK_ALIGNMENT. + The other affects the unpacking of pixel data from memory: + GL_UNPACK_ALIGNMENT. + + + + + param + + + Specifies the value that pname is set to. + + + + + + Description + + glPixelStorei sets pixel storage modes that affect the operation of subsequent + glReadPixels as well as the unpacking of + texture patterns (see glTexImage2D and + glTexSubImage2D). + + + pname is a symbolic constant indicating the parameter to be set, and + param is the new value. One storage parameter affects + how pixel data is returned to client memory: + + + + GL_PACK_ALIGNMENT + + + Specifies the alignment requirements for the start of each pixel row in memory. + The allowable values are + 1 (byte-alignment), + 2 (rows aligned to even-numbered bytes), + 4 (word-alignment), and + 8 (rows start on double-word boundaries). + + + + + + The other storage parameter affects how pixel data is + read from client memory: + + + + GL_UNPACK_ALIGNMENT + + + Specifies the alignment requirements for the start of each pixel row in memory. + The allowable values are + 1 (byte-alignment), + 2 (rows aligned to even-numbered bytes), + 4 (word-alignment), and + 8 (rows start on double-word boundaries). + + + + + + The following table gives the type, + initial value, + and range of valid values for each storage parameter + that can be set with glPixelStorei. + + + + + + + + + + + + + pname + + + Type + + + Initial Value + + + Valid Range + + + + + + + GL_PACK_ALIGNMENT + + + integer + + + 4 + + + 1, 2, 4, or 8 + + + + + GL_UNPACK_ALIGNMENT + + + integer + + + 4 + + + 1, 2, 4, or 8 + + + + + + + Boolean parameters are set to false if param is 0 and true otherwise. + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_VALUE is generated if alignment is specified as other than 1, 2, 4, or 8. + + + Associated Gets + + glGet with argument + GL_PACK_ALIGNMENT or GL_UNPACK_ALIGNMENT + + + See Also + + glReadPixels, + glTexImage2D, + glTexSubImage2D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glPolygonOffset.xml b/Source/Bind/Specifications/Docs/ES20/glPolygonOffset.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glPolygonOffset.xml rename to Source/Bind/Specifications/Docs/ES20/glPolygonOffset.xml index d39fb800..5cb06e57 100644 --- a/Source/Bind/Specifications/Docs/glPolygonOffset.xml +++ b/Source/Bind/Specifications/Docs/ES20/glPolygonOffset.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glPolygonOffset 3G @@ -29,6 +25,7 @@ + Parameters @@ -53,13 +50,12 @@ Description - When GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, or - GL_POLYGON_OFFSET_POINT is enabled, each + When GL_POLYGON_OFFSET_FILL is enabled, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. - The value of the offset is + The value of the offset is - + factor @@ -74,13 +70,13 @@ , - where + where - + DZ is a measurement of the change in depth relative to the screen - area of the polygon, and + area of the polygon, and r is the smallest value that is guaranteed to produce a resolvable offset for a given implementation. @@ -95,9 +91,7 @@ Associated Gets glIsEnabled with argument - GL_POLYGON_OFFSET_FILL, - GL_POLYGON_OFFSET_LINE, - or GL_POLYGON_OFFSET_POINT. + GL_POLYGON_OFFSET_FILL. glGet with argument GL_POLYGON_OFFSET_FACTOR or @@ -112,12 +106,11 @@ glIsEnabled - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/ES20/glReadPixels.xml b/Source/Bind/Specifications/Docs/ES20/glReadPixels.xml new file mode 100644 index 00000000..01016aab --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glReadPixels.xml @@ -0,0 +1,333 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glReadPixels + 3G + + + glReadPixels + read a block of pixels from the frame buffer + + C Specification + + + void glReadPixels + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + GLvoid * data + + + + + Parameters + + + x + y + + + Specify the window coordinates of the first pixel + that is read from the frame buffer. + This location is the lower left corner of a rectangular block of pixels. + + + + + width + height + + + Specify the dimensions of the pixel rectangle. + width and height of one correspond to a single pixel. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_ALPHA, + GL_RGB, and + GL_RGBA. + + + + + type + + + Specifies the data type of the pixel data. + Must be one of + GL_UNSIGNED_BYTE, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, or + GL_UNSIGNED_SHORT_5_5_5_1. + + + + + data + + + Returns the pixel data. + + + + + + Description + + glReadPixels returns pixel data from the frame buffer, + starting with the pixel whose lower left corner + is at location (x, y), + into client memory starting at location data. + The GL_PACK_ALIGNMENT parameter, set with the + glPixelStorei + command, affects the processing of the pixel data before it is placed into + client memory. + + + glReadPixels returns values from each pixel with lower left corner at + + + + + x + + + i + + + y + + + j + + + + for + + + + 0 + <= + i + < + width + + + and + + + + 0 + <= + j + < + height + + . + This pixel is said to be the + ith + pixel in the + jth + row. + Pixels are returned in row order from the lowest to the highest row, + left to right in each row. + + + format specifies the format for the returned pixel values; + accepted values are: + + + + GL_ALPHA + + + + + GL_RGB + + + + + GL_RGBA + + + + + + RGBA color components are read from the color buffer. + Each color component is converted to floating point such that zero intensity + maps to 0.0 and full intensity maps to 1.0. + + + Unneeded data is then discarded. + For example, + GL_ALPHA discards the red, green, and blue components, + while GL_RGB discards only the alpha component. + The final values are clamped to the range + + + + 0 + 1 + + . + + + Finally, the components + are converted to the proper format, + as specified by type. + When type is GL_UNSIGNED_BYTE, + each component is multiplied by + + + + 2 + 8 + + - + 1 + + . + When type is GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, or GL_UNSIGNED_SHORT_5_5_5_1, + each component is multiplied by + + + + 2 + N + + - + 1 + + , + where N + is the number of bits in the bitfield. + + + Return values are placed in memory as follows. + If format is + GL_ALPHA, + a single value is returned and the data for the + ith + pixel in the + jth + row + is placed in location + + + + + j + + + width + + + i + + . + GL_RGB returns three values and + GL_RGBA returns four values for each pixel, + with all values corresponding to a single pixel occupying contiguous space + in data. + Storage parameter GL_PACK_ALIGNMENT, set by + glPixelStorei, + affects the way that data is written into memory. + See glPixelStorei for a description. + + + Notes + + If the currently bound framebuffer is not the default framebuffer object, color + components are read from the color image attached to the + GL_COLOR_ATTACHMENT0 attachment point. + + + Only two format/type parameter pairs are + accepted. GL_RGBA/GL_UNSIGNED_BYTE is + always accepted, and the other acceptable pair can be discovered by querying + GL_IMPLEMENTATION_COLOR_READ_FORMAT and + GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + Values for pixels that lie outside the window + connected to the current GL context are undefined. + + + If an error is generated, + no change is made to the contents of data. + + + Errors + + GL_INVALID_ENUM is generated if format or type is not an + accepted value. + + + GL_INVALID_VALUE is generated if either width or height is negative. + + + GL_INVALID_OPERATION is generated if type is + GL_UNSIGNED_SHORT_5_6_5 + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is + GL_UNSIGNED_SHORT_4_4_4_4 or + GL_UNSIGNED_SHORT_5_5_5_1 + and format is not GL_RGBA. + + + GL_INVALID_OPERATION is generated if format + and type are neither GL_RGBA and + GL_UNSIGNED_BYTE, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if + the currently bound framebuffer is not framebuffer complete (i.e. the + return value from glCheckFramebufferStatus + is not GL_FRAMEBUFFER_COMPLETE). + + + Associated Gets + + glGet with argument + GL_IMPLEMENTATION_COLOR_READ_FORMAT + or GL_IMPLEMENTATION_COLOR_READ_TYPE + + + glGet with argument GL_PACK_ALIGNMENT + + + See Also + + glCheckFramebufferStatus, + glPixelStorei + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glReleaseShaderCompiler.xml b/Source/Bind/Specifications/Docs/ES20/glReleaseShaderCompiler.xml new file mode 100644 index 00000000..1e474a56 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glReleaseShaderCompiler.xml @@ -0,0 +1,64 @@ + + + + + glReleaseShaderCompiler + 3G + + + glReleaseShaderCompiler + release resources allocated by the shader compiler + + C Specification + + + void glReleaseShaderCompiler + void + + + + Description + For implementations that support a shader compiler, + glReleaseShaderCompiler + frees resources allocated by the shader compiler. This is a hint from the application + that additional shader compilations are unlikely to occur, at least for some period of time, + and that the resources consumed by the shader compiler may be released and put to better use + elsewhere. + However, if a call to glCompileShader + is made after a call to glReleaseShaderCompiler, the shader compiler must be restored + to service the compilation request as if glReleaseShaderCompiler had never been called. + + Notes + Shader compiler support is optional, and thus must be queried + before use by calling glGet + with argument GL_SHADER_COMPILER. glShaderSource, + glCompileShader, + glGetShaderPrecisionFormat, and + glReleaseShaderCompiler will + each generate GL_INVALID_OPERATION on implementations + that do not support a shader compiler. Such implementations instead offer the + glShaderBinary + alternative for supplying a pre-compiled shader binary. + + Errors + GL_INVALID_OPERATION is generated if + a shader compiler is not supported. + + Associated Gets + glGet + with argument GL_SHADER_COMPILER + + See Also + glCompileShader, + glShaderSource + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glRenderbufferStorage.xml b/Source/Bind/Specifications/Docs/ES20/glRenderbufferStorage.xml new file mode 100644 index 00000000..4225c910 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glRenderbufferStorage.xml @@ -0,0 +1,111 @@ + + + + + glRenderbufferStorage + 3G + + + glRenderbufferStorage + create and initialize a renderbuffer object's data store + + C Specification + + + void glRenderbufferStorage + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + + + + Parameters + + + target + + Specifies the renderbuffer target. The symbolic constant must be + GL_RENDERBUFFER. + + + + internalformat + + Specifies the color-renderable, depth-renderable, or + stencil-renderable format of the renderbuffer. Must be one of the + following symbolic constants: + GL_RGBA4, + GL_RGB565, + GL_RGB5_A1, + GL_DEPTH_COMPONENT16, or + GL_STENCIL_INDEX8. + + + + width + + Specifies the width of the renderbuffer in pixels. + + + + height + + Specifies the height of the renderbuffer in pixels. + + + + + Description + glRenderbufferStorage establishes the data + storage, format, and dimensions of a renderbuffer object's image. Any + existing data store for the renderbuffer is deleted and the contents + of the new data store are undefined. + + An implementation may vary its allocation of internal component + resolution based on any glRenderbufferStorage parameter + (except target), but the allocation and chosen + internal format must not be a function of any other state and cannot be + changed once they are established. The actual resolution in bits of each + component of the allocated image can be queried with + glGetRenderbufferParameteriv. + + Errors + GL_INVALID_ENUM is generated if + target is not GL_RENDERBUFFER. + + GL_INVALID_ENUM is generated if + internalformat is not an accepted format. + + GL_INVALID_VALUE is generated if + width or height is less than zero + or greater than GL_MAX_RENDERBUFFER_SIZE. + + GL_OUT_OF_MEMORY is generated if the implementation is + unable to create a data store with the requested + width and height. + + GL_INVALID_OPERATION is generated if the reserved + renderbuffer object name 0 is bound. + + Associated Gets + glGetRenderbufferParameteriv + + See Also + glBindRenderbuffer, + glDeleteRenderbuffers, + glFramebufferRenderbuffer, + glGenRenderbuffers, + glGetRenderbufferParameteriv, + glIsRenderbuffer + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glSampleCoverage.xml b/Source/Bind/Specifications/Docs/ES20/glSampleCoverage.xml new file mode 100644 index 00000000..6b1e2a73 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glSampleCoverage.xml @@ -0,0 +1,113 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glSampleCoverage + 3G + + + glSampleCoverage + specify multisample coverage parameters + + C Specification + + + void glSampleCoverage + GLclampf value + GLboolean invert + + + + + Parameters + + + value + + + Specify a single floating-point sample coverage value. The value is + clamped to the range + + + + 0 + 1 + + . + The initial value is 1.0. + + + + + invert + + + Specify a single boolean value representing if the coverage masks should be + inverted. GL_TRUE and GL_FALSE are accepted. The initial value + is GL_FALSE. + + + + + + Description + + Multisampling samples a pixel multiple times at various + implementation-dependent subpixel locations to generate antialiasing + effects. Multisampling transparently antialiases points, lines, and polygons + if it is enabled. + + + value is used in constructing a temporary mask used in determining which + samples will be used in resolving the final fragment color. This mask is + bitwise-anded with the coverage mask generated from the multisampling + computation. If the invert flag is set, the temporary mask is inverted + (all bits flipped) and then the bitwise-and is computed. + + + If an implementation does not have any multisample buffers available, or + multisampling is disabled, rasterization occurs with only a single sample + computing a pixel's final RGB color. + + + Provided an implementation supports multisample buffers, and multisampling + is enabled, then a pixel's final color is generated by combining several + samples per pixel. Each sample contains color, depth, and stencil + information, allowing those operations to be performed on each sample. + + + Associated Gets + + glGet with argument GL_SAMPLE_COVERAGE_VALUE + + + glGet with argument GL_SAMPLE_COVERAGE_INVERT + + + glIsEnabled with argument GL_SAMPLE_ALPHA_TO_COVERAGE + + + glIsEnabled with argument GL_SAMPLE_COVERAGE + + + See Also + + glEnable + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glScissor.xml b/Source/Bind/Specifications/Docs/ES20/glScissor.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glScissor.xml rename to Source/Bind/Specifications/Docs/ES20/glScissor.xml index e3d77318..8b6d6923 100644 --- a/Source/Bind/Specifications/Docs/glScissor.xml +++ b/Source/Bind/Specifications/Docs/ES20/glScissor.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glScissor 3G @@ -102,12 +98,11 @@ glViewport - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/ES20/glShaderBinary.xml b/Source/Bind/Specifications/Docs/ES20/glShaderBinary.xml new file mode 100644 index 00000000..341f3e4e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glShaderBinary.xml @@ -0,0 +1,151 @@ + + + + + glShaderBinary + 3G + + + glShaderBinary + load a precompiled shader binary + + C Specification + + + void glShaderBinary + GLsizei n + const GLuint *shaders + GLenum binaryformat + const void *binary + GLsizei length + + + + Parameters + + + n + + Specifies the number of shader object handles + present in shaders. + + + + shaders + + Specifies a pointer to an array of shader object handles into + which the shader binary will be loaded. + + + + binaryformat + + Specifies the shader binary format. + + + + binary + + Specifies a pointer to the shader binary data in client memory. + + + + length + + Specifies the length of the shader binary data in bytes. + + + + + Description + For implementations that support them, + glShaderBinary loads precompiled shader binaries. + shaders contains a list of n + shader object handles. Each handle refers to a unique shader type (vertex shader or + fragment shader). binary points to precompiled binary + shader code in client memory, and binaryformat denotes + the format of the pre-compiled code. + + The binary image is decoded according to the extension + specification defining the specified binaryformat. + OpenGL ES defines no specific binary formats, but does provide a mechanism + to obtain symbolic constants for such formats provided by extensions. The + number of shader binary formats supported can be obtained by querying the + value of GL_NUM_SHADER_BINARY_FORMATS. The list of + specific binary formats supported can be obtained by querying the value of + GL_SHADER_BINARY_FORMATS. + + Depending on the types of the shader objects in shaders, + glShaderBinary will individually load binary vertex or + fragment shaders, or load an executable binary that contains an optimized + pair of vertex and fragment shaders stored in the same binary. + + If glShaderBinary fails, the old state of shader + objects for which the binary was being loaded will not be restored. + + Notes + Shader binary support is optional and thus must be queried + before use by calling glGet + with arguments GL_NUM_SHADER_BINARY_FORMATS and + GL_SHADER_BINARY_FORMATS. glShaderBinary + generates GL_INVALID_OPERATION on implementations + that do not support any shader binary formats. Such implementations instead + offer the glShaderSource + alternative for supplying OpenGL ES Shading Language shader source for compilation. + + If shader binary formats are supported, then an implementation may + require that an optimized pair of vertex and fragment shader + binaries that were compiled together to be specified to + glLinkProgram. + Not specifying an optimized pair my cause + glLinkProgram + to fail. Such a restriction, if it exists, will be documented in + the extension specification defining binaryformat. + + OpenGL copies the shader binary data when + glShaderBinary is called, so an application + may free its copy of the data immediately after + the function returns. + + Errors + GL_INVALID_ENUM is generated if + binaryformat is not a supported format returned in + GL_SHADER_BINARY_FORMATS. + + GL_INVALID_VALUE is generated if any value in + shaders is not a vlue generated by OpenGL. + + GL_INVALID_VALUE is generated if the format of the + data pointed to by binary does not match + binaryformat. + + GL_INVALID_VALUE is generated if n + or length is negative. + + GL_INVALID_OPERATION is generated if any value in + shaders is not a shader object, or if there + is more than one vertex shader object handle or more than one fragment shader + object handle in shaders. + + Associated Gets + glGet + with arguments GL_NUM_SHADER_BINARY_FORMATS + and GL_SHADER_BINARY_FORMATS + + glIsShader + + See Also + glCreateShader, + glDeleteShader, + glLinkProgram + + Copyright + + Copyright 2008 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glShaderSource.xml b/Source/Bind/Specifications/Docs/ES20/glShaderSource.xml new file mode 100644 index 00000000..8bf835e1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glShaderSource.xml @@ -0,0 +1,136 @@ + + + + + glShaderSource + 3G + + + glShaderSource + replace the source code in a shader object + + C Specification + + + void glShaderSource + GLuint shader + GLsizei count + const GLchar * const *string + const GLint *length + + + + Parameters + + + shader + + Specifies the handle of the shader object + whose source code is to be replaced. + + + + count + + Specifies the number of elements in the + string and + length + arrays. + + + + string + + Specifies an array of pointers to strings + containing the source code to be loaded into the + shader. + + + + length + + Specifies an array of string lengths. + + + + + Description + For implementations that support a shader compiler, + glShaderSource sets the source code + in shader to the source code in the array + of strings specified by string. Any + source code previously stored in the shader object is completely + replaced. The number of strings in the array is specified by + count. If length + is NULL, each string is assumed to be null + terminated. If length is a value other + than NULL, it points to an array containing + a string length for each of the corresponding elements of + string. Each element in the + length array may contain the length of + the corresponding string (the null character is not counted as + part of the string length) or a value less than 0 to indicate + that the string is null terminated. The source code strings are + not scanned or parsed at this time; they are simply copied into + the specified shader object. + + Notes + Shader compiler support is optional, and thus must be queried + before use by calling glGet + with argument GL_SHADER_COMPILER. glShaderSource, + glCompileShader, + glGetShaderPrecisionFormat, and + glReleaseShaderCompiler will + each generate GL_INVALID_OPERATION on implementations + that do not support a shader compiler. Such implementations instead offer the + glShaderBinary + alternative for supplying a pre-compiled shader binary. + + OpenGL copies the shader source code strings when + glShaderSource is called, so an application + may free its copy of the source code strings immediately after + the function returns. + + Errors + GL_INVALID_OPERATION is generated if + a shader compiler is not supported. + + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + count is less than 0. + + Associated Gets + glGet + with argument GL_SHADER_COMPILER + + glGetShaderiv + with arguments shader and + GL_SHADER_SOURCE_LENGTH + + glGetShaderSource + with argument shader + + glIsShader + + See Also + glCompileShader, + glGetShaderPrecisionFormat, + glCreateShader, + glDeleteShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glStencilFunc.xml b/Source/Bind/Specifications/Docs/ES20/glStencilFunc.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glStencilFunc.xml rename to Source/Bind/Specifications/Docs/ES20/glStencilFunc.xml index 37f909d9..a3454f54 100644 --- a/Source/Bind/Specifications/Docs/glStencilFunc.xml +++ b/Source/Bind/Specifications/Docs/ES20/glStencilFunc.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glStencilFunc 3G @@ -20,6 +16,7 @@ glStencilFunc set front and back function and reference value for stencil testing + C Specification @@ -54,7 +51,7 @@ Specifies the reference value for the stencil test. - ref is clamped to the range + ref is clamped to the range @@ -68,7 +65,7 @@ , - where + where n is the number of bitplanes in the stencil buffer. The initial value is 0. @@ -108,13 +105,13 @@ To enable and disable the test, call glEnable and glDisable with argument GL_STENCIL_TEST. To specify actions based on the outcome of the stencil test, call - glStencilOp or + glStencilOp or glStencilOpSeparate. - There can be two separate sets of func, ref, and + There can be two separate sets of func, ref, and mask parameters; one affects back-facing polygons, and the other - affects front-facing polygons as well as other non-polygon primitives. + affects front-facing polygons as well as other non-polygon primitives. glStencilFunc sets both front and back stencil state to the same values. Use glStencilFuncSeparate to set front and back stencil state to different values. @@ -124,7 +121,7 @@ It accepts one of eight values, shown in the following list. ref is an integer reference value that is used in the stencil comparison. - It is clamped to the range + It is clamped to the range @@ -138,7 +135,7 @@ , - where + where n is the number of bitplanes in the stencil buffer. mask is bitwise ANDed with both the reference value @@ -167,7 +164,7 @@ , - where + where n is the number of bitplanes in the stencil buffer. @@ -262,10 +259,10 @@ Associated Gets - glGet with argument - GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, - GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, - GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, or GL_STENCIL_BITS @@ -277,7 +274,6 @@ glBlendFunc, glDepthFunc, glEnable, - glLogicOp, glStencilFuncSeparate, glStencilMask, glStencilMaskSeparate, @@ -285,12 +281,11 @@ glStencilOpSeparate - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glStencilFuncSeparate.xml b/Source/Bind/Specifications/Docs/ES20/glStencilFuncSeparate.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glStencilFuncSeparate.xml rename to Source/Bind/Specifications/Docs/ES20/glStencilFuncSeparate.xml index 532fe7ba..4c8680be 100644 --- a/Source/Bind/Specifications/Docs/glStencilFuncSeparate.xml +++ b/Source/Bind/Specifications/Docs/ES20/glStencilFuncSeparate.xml @@ -2,13 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - + + + 1991-2006 + Silicon Graphics, Inc. + + glStencilFuncSeparate 3G @@ -16,6 +16,7 @@ glStencilFuncSeparate set front and/or back function and reference value for stencil testing + C Specification @@ -63,7 +64,7 @@ Specifies the reference value for the stencil test. - ref is clamped to the range + ref is clamped to the range @@ -77,7 +78,7 @@ , - where + where n is the number of bitplanes in the stencil buffer. The initial value is 0. @@ -117,15 +118,15 @@ To enable and disable the test, call glEnable and glDisable with argument GL_STENCIL_TEST. To specify actions based on the outcome of the stencil test, call - glStencilOp or + glStencilOp or glStencilOpSeparate. - There can be two separate sets of func, ref, and + There can be two separate sets of func, ref, and mask parameters; one affects back-facing polygons, and the other - affects front-facing polygons as well as other non-polygon primitives. + affects front-facing polygons as well as other non-polygon primitives. glStencilFunc sets both front - and back stencil state to the same values, as if + and back stencil state to the same values, as if glStencilFuncSeparate were called with face set to GL_FRONT_AND_BACK. @@ -134,7 +135,7 @@ It accepts one of eight values, shown in the following list. ref is an integer reference value that is used in the stencil comparison. - It is clamped to the range + It is clamped to the range @@ -148,7 +149,7 @@ , - where + where n is the number of bitplanes in the stencil buffer. mask is bitwise ANDed with both the reference value @@ -177,7 +178,7 @@ , - where + where n is the number of bitplanes in the stencil buffer. @@ -260,6 +261,11 @@ Errors + + GL_INVALID_ENUM is generated if face is + not GL_FRONT, GL_BACK, or + GL_FRONT_AND_BACK. + GL_INVALID_ENUM is generated if func is not one of the eight accepted values. @@ -267,10 +273,10 @@ Associated Gets - glGet with argument - GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, - GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, - GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, or GL_STENCIL_BITS @@ -282,7 +288,6 @@ glBlendFunc, glDepthFunc, glEnable, - glLogicOp, glStencilFunc, glStencilMask, glStencilMaskSeparate, @@ -290,10 +295,10 @@ glStencilOpSeparate - Copyright + Copyright - Copyright 2006 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glStencilMask.xml b/Source/Bind/Specifications/Docs/ES20/glStencilMask.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glStencilMask.xml rename to Source/Bind/Specifications/Docs/ES20/glStencilMask.xml index efb4d40a..bfa663bb 100644 --- a/Source/Bind/Specifications/Docs/glStencilMask.xml +++ b/Source/Bind/Specifications/Docs/ES20/glStencilMask.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glStencilMask 3G @@ -28,6 +24,7 @@ + Parameters @@ -45,10 +42,10 @@ Description glStencilMask controls the writing of individual bits in the stencil planes. - The least significant + The least significant n bits of mask, - where + where n is the number of bits in the stencil buffer, specify a mask. @@ -60,7 +57,7 @@ There can be two separate mask writemasks; one affects back-facing polygons, and the other - affects front-facing polygons as well as other non-polygon primitives. + affects front-facing polygons as well as other non-polygon primitives. glStencilMask sets both front and back stencil writemasks to the same values. Use glStencilMaskSeparate to set front and back stencil writemasks to different values. @@ -75,8 +72,8 @@ Associated Gets - glGet with argument - GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, or GL_STENCIL_BITS @@ -91,12 +88,11 @@ glStencilOpSeparate - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glStencilMaskSeparate.xml b/Source/Bind/Specifications/Docs/ES20/glStencilMaskSeparate.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glStencilMaskSeparate.xml rename to Source/Bind/Specifications/Docs/ES20/glStencilMaskSeparate.xml index 7d3437ba..5238a5d3 100644 --- a/Source/Bind/Specifications/Docs/glStencilMaskSeparate.xml +++ b/Source/Bind/Specifications/Docs/ES20/glStencilMaskSeparate.xml @@ -2,13 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - + + + 1991-2006 + Silicon Graphics, Inc. + + glStencilMaskSeparate 3G @@ -25,6 +25,7 @@ + Parameters @@ -54,10 +55,10 @@ Description glStencilMaskSeparate controls the writing of individual bits in the stencil planes. - The least significant + The least significant n bits of mask, - where + where n is the number of bits in the stencil buffer, specify a mask. @@ -69,7 +70,7 @@ There can be two separate mask writemasks; one affects back-facing polygons, and the other - affects front-facing polygons as well as other non-polygon primitives. + affects front-facing polygons as well as other non-polygon primitives. glStencilMask sets both front and back stencil writemasks to the same values, as if glStencilMaskSeparate were called @@ -78,13 +79,15 @@ Errors - GL_INVALID_ENUM is generated if face is not one of the accepted tokens. + GL_INVALID_ENUM is generated if face is + not GL_FRONT, GL_BACK, or + GL_FRONT_AND_BACK. Associated Gets - glGet with argument - GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, or GL_STENCIL_BITS @@ -99,10 +102,10 @@ glStencilOpSeparate - Copyright + Copyright - Copyright 2006 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glStencilOp.xml b/Source/Bind/Specifications/Docs/ES20/glStencilOp.xml similarity index 92% rename from Source/Bind/Specifications/Docs/glStencilOp.xml rename to Source/Bind/Specifications/Docs/ES20/glStencilOp.xml index 94c4bd16..f1f46b55 100644 --- a/Source/Bind/Specifications/Docs/glStencilOp.xml +++ b/Source/Bind/Specifications/Docs/ES20/glStencilOp.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glStencilOp 3G @@ -20,6 +16,7 @@ glStencilOp set front and back stencil test actions + C Specification @@ -93,14 +90,14 @@ of a comparison between the value in the stencil buffer and a reference value. To enable and disable the test, call glEnable and glDisable with argument - GL_STENCIL_TEST; to control it, call - glStencilFunc or + GL_STENCIL_TEST; to control it, call + glStencilFunc or glStencilFuncSeparate. - There can be two separate sets of sfail, dpfail, and + There can be two separate sets of sfail, dpfail, and dppass parameters; one affects back-facing polygons, and the other - affects front-facing polygons as well as other non-polygon primitives. + affects front-facing polygons as well as other non-polygon primitives. glStencilOp sets both front and back stencil state to the same values. Use glStencilOpSeparate to set front and back stencil state to different values. @@ -189,9 +186,9 @@ Stencil buffer values are treated as unsigned integers. When incremented and decremented, - values are clamped to 0 and + values are clamped to 0 and - + 2 n @@ -200,7 +197,7 @@ 1 , - where + where n is the value returned by querying GL_STENCIL_BITS. @@ -234,14 +231,15 @@ Errors GL_INVALID_ENUM is generated if sfail, - dpfail, or dppass is any value other than the defined constant values. + dpfail, or dppass is any value other + than the eight defined symbolic constant values. Associated Gets - glGet with argument - GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, - GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, or GL_STENCIL_BITS @@ -254,7 +252,6 @@ glBlendFunc, glDepthFunc, glEnable, - glLogicOp, glStencilFunc, glStencilFuncSeparate, glStencilMask, @@ -262,12 +259,11 @@ glStencilOpSeparate - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glStencilOpSeparate.xml b/Source/Bind/Specifications/Docs/ES20/glStencilOpSeparate.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glStencilOpSeparate.xml rename to Source/Bind/Specifications/Docs/ES20/glStencilOpSeparate.xml index d4639afc..8ec49bad 100644 --- a/Source/Bind/Specifications/Docs/glStencilOpSeparate.xml +++ b/Source/Bind/Specifications/Docs/ES20/glStencilOpSeparate.xml @@ -2,13 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - + + + 1991-2006 + Silicon Graphics, Inc. + + glStencilOpSeparate 3G @@ -16,6 +16,7 @@ glStencilOpSeparate set front and/or back stencil test actions + C Specification @@ -102,16 +103,16 @@ of a comparison between the value in the stencil buffer and a reference value. To enable and disable the test, call glEnable and glDisable with argument - GL_STENCIL_TEST; to control it, call - glStencilFunc or + GL_STENCIL_TEST; to control it, call + glStencilFunc or glStencilFuncSeparate. - There can be two separate sets of sfail, dpfail, and + There can be two separate sets of sfail, dpfail, and dppass parameters; one affects back-facing polygons, and the other - affects front-facing polygons as well as other non-polygon primitives. + affects front-facing polygons as well as other non-polygon primitives. glStencilOp sets both front - and back stencil state to the same values, as if + and back stencil state to the same values, as if glStencilOpSeparate were called with face set to GL_FRONT_AND_BACK. @@ -199,7 +200,7 @@ Stencil buffer values are treated as unsigned integers. When incremented and decremented, - values are clamped to 0 and + values are clamped to 0 and @@ -210,7 +211,7 @@ 1 , - where + where n is the value returned by querying GL_STENCIL_BITS. @@ -237,19 +238,20 @@ Errors - GL_INVALID_ENUM is generated if face is any value + GL_INVALID_ENUM is generated if face is any value other than GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. GL_INVALID_ENUM is generated if sfail, - dpfail, or dppass is any value other than the eight defined constant values. + dpfail, or dppass is any value other + than the eight defined symbolic constant values. Associated Gets - glGet with argument - GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, - GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, or GL_STENCIL_BITS @@ -262,7 +264,6 @@ glBlendFunc, glDepthFunc, glEnable, - glLogicOp, glStencilFunc, glStencilFuncSeparate, glStencilMask, @@ -270,10 +271,10 @@ glStencilOp - Copyright + Copyright - Copyright 2006 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/ES20/glTexImage2D.xml b/Source/Bind/Specifications/Docs/ES20/glTexImage2D.xml new file mode 100644 index 00000000..7307103e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glTexImage2D.xml @@ -0,0 +1,414 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexImage2D + 3G + + + glTexImage2D + specify a two-dimensional texture image + + C Specification + + + void glTexImage2D + GLenum target + GLint level + GLint internalformat + GLsizei width + GLsizei height + GLint border + GLenum format + GLenum type + const GLvoid * data + + + + + + + Parameters + + + target + + + Specifies the target texture of the active texture unit. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the internal format of the texture. + Must be one of the following symbolic constants: + GL_ALPHA, + GL_LUMINANCE, + GL_LUMINANCE_ALPHA, + GL_RGB, + GL_RGBA. + + + + + width + + + Specifies the width of the texture image. + All implementations support 2D texture images that are at least 64 texels + wide and cube-mapped texture images that are at least 16 texels wide. + + + + + height + + + Specifies the height of the texture image + All implementations support 2D texture images that are at least 64 texels + high and cube-mapped texture images that are at least 16 texels high. + + + + + border + + + Specifies the width of the border. + Must be 0. + + + + + format + + + Specifies the format of the texel data. Must match internalformat. + The following symbolic values are accepted: + GL_ALPHA, + GL_RGB, + GL_RGBA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the texel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, and + GL_UNSIGNED_SHORT_5_5_5_1. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is + active. Texturing is active when the current fragment shader or + vertex shader makes use of built-in texture lookup + functions. + + + To define texture images, call glTexImage2D. + The arguments describe the parameters of the texture image, + such as height, + width, + level-of-detail number + (see glTexParameter), + and format. + The last three arguments describe how the image is represented in memory. + + + Data is read from data as a sequence of unsigned bytes or shorts, + depending on type. + When type is GL_UNSIGNED_BYTE, + each of the bytes is interpreted as one color component. + When type is one of + GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_4_4_4_4, or + GL_UNSIGNED_SHORT_5_5_5_1, each unsigned short value is interpreted as + containing all the components for a single texel, with the color + components arranged according to format. + Color components are treated as groups of one, two, three, or four + values, again based on format. Groups of + components are referred to as texels. + + + + + + width + × + height + + + texels are read from memory, + starting at location data. + By default, these texels are taken from adjacent memory locations, + except that after all width texels are read, + the read pointer is advanced to the next four-byte boundary. + The four-byte row alignment is specified by glPixelStorei with + argument GL_UNPACK_ALIGNMENT, + and it can be set to one, two, four, or eight bytes. + + + 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. + + + format determines the composition of each element in data. + It can assume one of these symbolic values: + + + + GL_ALPHA + + + Each element is a single alpha component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red, green, and blue. + Each component is then clamped to the range [0,1]. + + + + + GL_RGB + + + Each element is an RGB triple. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 1 for alpha. + Each component is then clamped to the range [0,1]. + + + + + GL_RGBA + + + Each element contains all four components. The GL converts it to floating point, then + each component is clamped to the range [0,1]. + + + + + GL_LUMINANCE + + + Each element is a single luminance value. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the luminance value + three times for red, green, and blue and attaching 1 for alpha. + Each component is then clamped to the range [0,1]. + + + + + GL_LUMINANCE_ALPHA + + + Each element is a luminance/alpha pair. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the luminance value + three times for red, green, and blue. + Each component is then clamped to the range [0,1]. + + + + + + Color components are converted to floating point based on the type. + When type is GL_UNSIGNED_BYTE, + each component is divided by + + + + 2 + 8 + + - + 1 + + . + When type is GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, or GL_UNSIGNED_SHORT_5_5_5_1, + each component is divided by + + + + 2 + N + + - + 1 + + , + where N + is the number of bits in the bitfield. + + + Notes + + internalformat must match format. + No conversion between formats is supported during texture image processing. + type may be used as a hint to specify how much + precision is desired, but a GL implementation may choose to store the texture + array at any internal resolution it chooses. + + + data may be a null pointer. + In this case, texture memory is + allocated to accommodate a texture of width width and height height. + 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. + + + glTexImage2D + specifies a two-dimensional or cube-map texture for the current texture unit, + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if format + or type is not an accepted value. + + + GL_INVALID_VALUE is generated if target is one of the six cube map 2D image targets and the width and height parameters are not equal. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater than + + + + log + 2 + + + + max + + + , + where max is the returned value of + GL_MAX_TEXTURE_SIZE when target + is GL_TEXTURE_2D or GL_MAX_CUBE_MAP_TEXTURE_SIZE when + target is not GL_TEXTURE_2D. + + + GL_INVALID_VALUE is generated if internalformat is not an + accepted format. + + + GL_INVALID_VALUE is generated if width or height is less than 0 + or greater than GL_MAX_TEXTURE_SIZE when target + is GL_TEXTURE_2D or GL_MAX_CUBE_MAP_TEXTURE_SIZE when + target is not GL_TEXTURE_2D. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_OPERATION is generated if format does + not match internalformat. + + + GL_INVALID_OPERATION is generated if type is + GL_UNSIGNED_SHORT_5_6_5 + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is + GL_UNSIGNED_SHORT_4_4_4_4 or + GL_UNSIGNED_SHORT_5_5_5_1 + and format is not GL_RGBA. + + + Associated Gets + + glGet + with argument GL_MAX_TEXTURE_SIZE or + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexSubImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glPixelStorei, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glTexParameter.xml b/Source/Bind/Specifications/Docs/ES20/glTexParameter.xml new file mode 100644 index 00000000..c9c256b5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glTexParameter.xml @@ -0,0 +1,607 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexParameter + 3G + + + glTexParameter + set texture parameters + + C Specification + + + void glTexParameterf + GLenum target + GLenum pname + GLfloat param + + + + + void glTexParameteri + GLenum target + GLenum pname + GLint param + + + + + Parameters + + + target + + + Specifies the target texture of the active texture unit, + which must be either GL_TEXTURE_2D or + GL_TEXTURE_CUBE_MAP. + + + + + pname + + + Specifies the symbolic name of a single-valued texture parameter. + pname can be one of the following: + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_WRAP_S, or + GL_TEXTURE_WRAP_T. + + + + + param + + + Specifies the value of pname. + + + + + + C Specification + + + void glTexParameterfv + GLenum target + GLenum pname + const GLfloat * params + + + + + void glTexParameteriv + GLenum target + GLenum pname + const GLint * params + + + + Parameters + + + target + + + Specifies the target texture of the active texture unit, + which must be either GL_TEXTURE_2D or + GL_TEXTURE_CUBE_MAP. + + + + + pname + + + Specifies the symbolic name of a texture parameter. + pname can be one of the following: + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_WRAP_S, or + GL_TEXTURE_WRAP_T. + + + + + params + + + Specifies a pointer to an array where the value of + pname is stored. + + + + + + Description + + Texture mapping is a technique that applies an image onto an object's surface + as if the image were a decal or cellophane shrink-wrap. + The image is created in texture space, + with an + (s, + t) + coordinate system. + A texture is a two-dimensional or cube-mapped image and a set of parameters + that determine how samples are derived from the image. + + + glTexParameter assigns the value or values in params to the texture parameter + specified as pname. + target defines the target texture of the active texture unit, + either GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP. + The following symbols are accepted in pname: + + + + GL_TEXTURE_MIN_FILTER + + + The texture minifying function is used whenever the pixel being textured + maps to an area greater than one texture element. + There are six defined minifying functions. + Two of them use the nearest one or nearest four texture elements + to compute the texture value. + The other four use mipmaps. + + + A mipmap is an ordered set of arrays representing the same image + at progressively lower resolutions. + If the texture has dimensions + + + + w + × + h + + , + there are + + + + + floor + + + + log + 2 + + + + + max + + + w + h + + + + + + + + + 1 + + + mipmap levels. + The first mipmap level is the original texture, + with dimensions + + + + w + × + h + + . + Each subsequent mipmap level has dimensions + + + + max + + + 1 + + floor + + + + w + 2 + i + + + + + + × + max + + + 1 + + floor + + + + h + 2 + i + + + + + + + , + where + + + i + + is the mipmap level, + until the final mipmap is reached, + which has dimension + + + + 1 + × + 1 + + . + + + To define the mipmap levels, call glTexImage2D, + glCompressedTexImage2D, + or glCopyTexImage2D + with the level argument indicating the order of the mipmaps. + Level 0 is the original texture; + level + + + + floor + + + + log + 2 + + + + + max + + + w + h + + + + + + + + is the final + + + + 1 + × + 1 + + + mipmap. + + + params supplies a function for minifying the texture as one of the + following: + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the center of the pixel being textured. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the center of the pixel being textured. + + + + + GL_NEAREST_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element nearest to the center of the pixel) + to produce a texture value. + + + + + GL_LINEAR_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest + to the center of the pixel) + to produce a texture value. + + + + + GL_NEAREST_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element nearest to the center of the pixel) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + GL_LINEAR_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest + to the center of the pixel) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + + + As more texture elements are sampled in the minification process, + fewer aliasing artifacts will be apparent. + While the GL_NEAREST and GL_LINEAR minification functions can be + faster than the other four, + they sample only one or four texture elements to determine the texture value + of the pixel being rendered and can produce moire patterns + or ragged transitions. + The initial value of GL_TEXTURE_MIN_FILTER is + GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MAG_FILTER + + + The texture magnification function is used when the pixel being textured + maps to an area less than or equal to one texture element. + It sets the texture magnification function to either GL_NEAREST + or GL_LINEAR (see below). GL_NEAREST is generally faster + than GL_LINEAR, + but it can produce textured images with sharper edges + because the transition between texture elements is not as smooth. + The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR. + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the center of the pixel being textured. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the center of the pixel being textured. + + + + + + + + + + + + + + + GL_TEXTURE_WRAP_S + + + Sets the wrap parameter for texture coordinate + s + to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. GL_CLAMP_TO_EDGE causes + s + coordinates to be clamped to the + range + + + + + + + 1 + 2N + + + + + 1 + - + + + + 1 + 2N + + + + + + , + where + N + is the size + of the texture in the direction of clamping. GL_REPEAT causes the + integer part of the + s + coordinate to be ignored; the GL uses only the + fractional part, thereby creating a repeating pattern. + GL_MIRRORED_REPEAT causes the + s + coordinate to be set to the + fractional part of the texture coordinate if the integer part of + s + is + even; if the integer part of + s + is odd, then the + s + texture coordinate is + set to + + + + 1 + - + + frac + + + s + + + + , + where + + + + frac + + + s + + + + represents the fractional part of + s. + Initially, + GL_TEXTURE_WRAP_S is set to GL_REPEAT. + + + + + + + + + GL_TEXTURE_WRAP_T + + + Sets the wrap parameter for texture coordinate + t + to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT. + + + + + + Notes + + Suppose that a texture is accessed from a fragment shader or vertex shader and + has set GL_TEXTURE_MIN_FILTER to one of the functions that requires + mipmaps. If either the dimensions of the texture images currently defined + (with previous calls to glTexImage2D, + glCompressedTexImage2D, + or glCopyTexImage2D) do not + follow the proper sequence for mipmaps (described above), or there are + fewer texture images defined than are needed, or the set of texture images + were defined with different formats or types, then the texture image unit will return + (R, G, B, A) = (0, 0, 0, 1). + + + Similarly, if the width or height of a texture image are not powers of two and either the + GL_TEXTURE_MIN_FILTER is set to one of the functions that requires mipmaps + or the GL_TEXTURE_WRAP_S or GL_TEXTURE_WRAP_T is not + set to GL_CLAMP_TO_EDGE, then the texture image unit will return + (R, G, B, A) = (0, 0, 0, 1). + + + glTexParameter + specifies the texture parameters for the texture bound to the active texture unit, specified + by calling glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not + one of the accepted defined values. + + + GL_INVALID_ENUM is generated if params + should have a defined symbolic + constant value (based on the value of pname) and does not. + + + Associated Gets + + glGetTexParameter + + + See Also + + glActiveTexture, + glBindTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glPixelStorei, + glTexImage2D, + glTexSubImage2D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES20/glTexSubImage2D.xml new file mode 100644 index 00000000..1c4db56d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glTexSubImage2D.xml @@ -0,0 +1,322 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexSubImage2D + 3G + + + glTexSubImage2D + specify a two-dimensional texture subimage + + C Specification + + + void glTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const GLvoid * data + + + + + + + Parameters + + + target + + + Specifies the target texture of the active texture unit. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_ALPHA, + GL_RGB, + GL_RGBA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, and + GL_UNSIGNED_SHORT_5_5_5_1. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is + active. Texturing is active when the current fragment shader or + vertex shader makes use of built-in texture lookup + functions. + + + glTexSubImage2D redefines a contiguous subregion of an existing two-dimensional + texture image. + The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive, + and y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive. + This region may not include any texels outside the range of the + texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + Notes + + Storage parameter GL_UNPACK_ALIGNMENT, set by + glPixelStorei, + affects the way that data is read out of client memory. + See glPixelStorei for a description. + + + glTexSubImage2D + specifies a two-dimensional or cube-map subtexture for the current texture unit, + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if format or + type is not an accepted value. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + 0 + + , + + + + + + xoffset + + + width + + + > + w + + , + + + + yoffset + < + 0 + + , + or + + + + + + yoffset + + + height + + + > + h + + , + where + w + is the width and + h + is the height + of the texture image being modified. + + + GL_INVALID_VALUE is generated if width or height is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous + glTexImage2D or + glCopyTexImage2D operation + whose internalformat matches the format of + glTexSubImage2D. + + + GL_INVALID_OPERATION is generated if type is + GL_UNSIGNED_SHORT_5_6_5 + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is + GL_UNSIGNED_SHORT_4_4_4_4 or + GL_UNSIGNED_SHORT_5_5_5_1 + and format is not GL_RGBA. + + + Associated Gets + + glGet + with argument GL_MAX_TEXTURE_SIZE or + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexSubImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glPixelStorei, + glTexImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glUniform.xml b/Source/Bind/Specifications/Docs/ES20/glUniform.xml new file mode 100644 index 00000000..99ddb4d3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glUniform.xml @@ -0,0 +1,432 @@ + + + + + glUniform + 3G + + + glUniform + glUniform1f + glUniform2f + glUniform3f + glUniform4f + glUniform1i + glUniform2i + glUniform3i + glUniform4i + glUniform1fv + glUniform2fv + glUniform3fv + glUniform4fv + glUniform1iv + glUniform2iv + glUniform3iv + glUniform4iv + glUniformMatrix2fv + glUniformMatrix3fv + glUniformMatrix4fv + specify the value of a uniform variable for the current program object + + C Specification + + + void glUniform1f + GLint location + GLfloat v0 + + + void glUniform2f + GLint location + GLfloat v0 + GLfloat v1 + + + void glUniform3f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glUniform4f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glUniform1i + GLint location + GLint v0 + + + void glUniform2i + GLint location + GLint v0 + GLint v1 + + + void glUniform3i + GLint location + GLint v0 + GLint v1 + GLint v2 + + + void glUniform4i + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + + Parameters + + + location + + Specifies the location of the uniform variable + to be modified. + + + + + v0, + v1, + v2, + v3 + + + Specifies the new values to be used for the + specified uniform variable. + + + + + C Specification + + + void glUniform1fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform2fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform3fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform4fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform1iv + GLint location + GLsizei count + const GLint *value + + + void glUniform2iv + GLint location + GLsizei count + const GLint *value + + + void glUniform3iv + GLint location + GLsizei count + const GLint *value + + + void glUniform4iv + GLint location + GLsizei count + const GLint *value + + + + Parameters + + + location + + Specifies the location of the uniform value to + be modified. + + + + count + + Specifies the number of elements that are to + be modified. This should be 1 if the targeted + uniform variable is not an array, and 1 or more if it is + an array. + + + + value + + Specifies a pointer to an array of + count values that will be + used to update the specified uniform + variable. + + + + + C Specification + + + void glUniformMatrix2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + Parameters + + + location + + Specifies the location of the uniform value to + be modified. + + + + count + + Specifies the number of matrices that are to + be modified. This should be 1 if the targeted + uniform variable is not an array of matrices, and 1 or more if it is + an array of matrices. + + + + transpose + + Specifies whether to transpose the matrix as + the values are loaded into the uniform + variable. Must be GL_FALSE. + + + + value + + Specifies a pointer to an array of + count values that will be + used to update the specified uniform + variable. + + + + + Description + glUniform modifies the value of a + uniform variable or a uniform variable array. The location of + the uniform variable to be modified is specified by + location, which should be a value + returned by + glGetUniformLocation. + glUniform operates on the program object + that was made part of current state by calling + glUseProgram. + + The commands glUniform{1|2|3|4}{f|i} + are used to change the value of the uniform variable specified + by location using the values passed as + arguments. The number specified in the command should match the + number of components in the data type of the specified uniform + variable (e.g., 1 for float, int, bool; + 2 for vec2, ivec2, bvec2, etc.). The suffix + f indicates that floating-point values are + being passed; the suffix i indicates that + integer values are being passed, and this type should also match + the data type of the specified uniform variable. The + i variants of this function should be used + to provide values for uniform variables defined as int, ivec2, + ivec3, ivec4, or arrays of these. The f + variants should be used to provide values for uniform variables + of type float, vec2, vec3, vec4, or arrays of these. Either the + i or the f variants + may be used to provide values for uniform variables of type + bool, bvec2, bvec3, bvec4, or arrays of these. The uniform + variable will be set to false if the input value is 0 or 0.0f, + and it will be set to true otherwise. + + All active uniform variables defined in a program object + are initialized to 0 when the program object is linked + successfully. They retain the values assigned to them by a call + to glUniform until the next successful + link operation occurs on the program object, when they are once + again initialized to 0. + + The commands glUniform{1|2|3|4}{f|i}v + can be used to modify a single uniform variable or a uniform + variable array. These commands pass a count and a pointer to the + values to be loaded into a uniform variable or a uniform + variable array. A count of 1 should be used if modifying the + value of a single uniform variable, and a count of 1 or greater + can be used to modify an entire array or part of an array. When + loading n elements starting at an arbitrary + position m in a uniform variable array, + elements m + n - 1 in + the array will be replaced with the new values. If + m + n - 1 is + larger than the size of the uniform variable array, values for + all array elements beyond the end of the array will be ignored. + The number specified in the name of the command indicates the + number of components for each element in + value, and it should match the number of + components in the data type of the specified uniform variable + (e.g., 1 for float, int, bool; + 2 for vec2, ivec2, bvec2, etc.). The data + type specified in the name of the command must match the data + type for the specified uniform variable as described previously + for glUniform{1|2|3|4}{f|i}. + + For uniform variable arrays, each element of the array is + considered to be of the type indicated in the name of the + command (e.g., glUniform3f or + glUniform3fv can be used to load a uniform + variable array of type vec3). The number of elements of the + uniform variable array to be modified is specified by + count + + The commands + glUniformMatrix{2|3|4}fv + are used to modify a matrix or an array of matrices. The numbers in the + command name are interpreted as the dimensionality of the matrix. + The number 2 indicates a 2 × 2 matrix + (i.e., 4 values), the number 3 indicates a + 3 × 3 matrix (i.e., 9 values), and the number + 4 indicates a 4 × 4 matrix (i.e., 16 + values). + Each matrix is assumed to be + supplied in column major order. The count + argument indicates the number of matrices to be passed. A count + of 1 should be used if modifying the value of a single matrix, + and a count greater than 1 can be used to modify an array of + matrices. + + Notes + glUniform1i and + glUniform1iv are the only two functions + that may be used to load uniform variables defined as sampler + types. Loading samplers with any other function will result in a + GL_INVALID_OPERATION error. + + If count is greater than 1 and the + indicated uniform variable is not an array, a + GL_INVALID_OPERATION error is generated and the + specified uniform variable will remain unchanged. + + Other than the preceding exceptions, if the type and size + of the uniform variable as defined in the shader do not match + the type and size specified in the name of the command used to + load its value, a GL_INVALID_OPERATION error will + be generated and the specified uniform variable will remain + unchanged. + + If location is a value other than + -1 and it does not represent a valid uniform variable location + in the current program object, an error will be generated, and + no changes will be made to the uniform variable storage of the + current program object. If location is + equal to -1, the data passed in will be silently ignored and the + specified uniform variable will not be changed. + + Errors + GL_INVALID_OPERATION is generated if there + is no current program object. + + GL_INVALID_OPERATION is generated if the + size of the uniform variable declared in the shader does not + match the size indicated by the glUniform + command. + + GL_INVALID_OPERATION is generated if one of + the integer variants of this function is used to load a uniform + variable of type float, vec2, vec3, vec4, or an array of these, + or if one of the floating-point variants of this function is + used to load a uniform variable of type int, ivec2, ivec3, or + ivec4, or an array of these. + + GL_INVALID_OPERATION is generated if + location is an invalid uniform location + for the current program object and + location is not equal to -1. + + GL_INVALID_VALUE is generated if + count is less than 0. + + GL_INVALID_VALUE is generated if + transpose is not GL_FALSE. + + GL_INVALID_OPERATION is generated if + count is greater than 1 and the indicated + uniform variable is not an array variable. + + GL_INVALID_OPERATION is generated if a + sampler is loaded using a command other than + glUniform1i and + glUniform1iv. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveUniform + with the handle of a program object and the index of an active uniform variable + + glGetUniform + with the handle of a program object and the location of a + uniform variable + + glGetUniformLocation + with the handle of a program object and the name of a uniform + variable + + See Also + glLinkProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glUseProgram.xml b/Source/Bind/Specifications/Docs/ES20/glUseProgram.xml new file mode 100644 index 00000000..0f3172aa --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glUseProgram.xml @@ -0,0 +1,155 @@ + + + + + glUseProgram + 3G + + + glUseProgram + install a program object as part of current rendering state + + C Specification + + + void glUseProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object + whose executables are to be used as part of current + rendering state. + + + + + Description + glUseProgram installs the program + object specified by program as part of + current rendering state. One or more executables are created in + a program object by successfully attaching shader objects to it + with + glAttachShader, + successfully compiling the shader objects with + glCompileShader, + and successfully linking the program object with + glLinkProgram. + + + A program object will contain executables that will run + on the vertex and fragment processors if it contains one or more shader + objects of type GL_VERTEX_SHADER and one or more shader + objects of type GL_FRAGMENT_SHADER that have all + been successfully compiled and linked. + + While a program object is in use, applications are free to + modify attached shader objects, compile attached shader objects, + attach additional shader objects, and detach or delete shader + objects. None of these operations will affect the executables + that are part of the current state. However, relinking the + program object that is currently in use will install the program + object as part of the current rendering state if the link + operation was successful (see + glLinkProgram + ). If the program object currently in use is relinked + unsuccessfully, its link status will be set to + GL_FALSE, but the executables and + associated state will remain part of the current state until a + subsequent call to glUseProgram removes it + from use. After it is removed from use, it cannot be made part + of current state until it has been successfully relinked. + + If program is 0, then the current + rendering state refers to an invalid program object, and the + results of vertex and fragment shader execution due to any + glDrawArrays or + glDrawElements + commands are undefined. + + Notes + Like texture objects and buffer objects, the name space for + program objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + Errors + GL_INVALID_VALUE is generated if + program is neither 0 nor a value + generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program could not be made part of current + state. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with a valid program object and the index of an active attribute + variable + + glGetActiveUniform + with a valid program object and the index of an active uniform + variable + + glGetAttachedShaders + with a valid program object + + glGetAttribLocation + with a valid program object and the name of an attribute + variable + + glGetProgramiv + with a valid program object and the parameter to be queried + + glGetProgramInfoLog + with a valid program object + + glGetUniform + with a valid program object and the location of a uniform + variable + + glGetUniformLocation + with a valid program object and the name of a uniform + variable + + glIsProgram + + See Also + glAttachShader, + glBindAttribLocation, + glCompileShader, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glValidateProgram, + glVertexAttrib + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glValidateProgram.xml b/Source/Bind/Specifications/Docs/ES20/glValidateProgram.xml new file mode 100644 index 00000000..48c05b69 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glValidateProgram.xml @@ -0,0 +1,111 @@ + + + + + glValidateProgram + 3G + + + glValidateProgram + validate a program object + + C Specification + + + void glValidateProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object to + be validated. + + + + + Description + glValidateProgram checks to see + whether the executables contained in + program can execute given the current + OpenGL state. The information generated by the validation + process will be stored in program's + information log. The validation information may consist of an + empty string, or it may be a string containing information about + how the current program object interacts with the rest of + current OpenGL state. This provides a way for OpenGL + implementers to convey more information about why the current + program is inefficient, suboptimal, failing to execute, and so + on. + + The status of the validation operation will be stored as + part of the program object's state. This value will be set to + GL_TRUE if the validation succeeded, and + GL_FALSE otherwise. It can be queried by + calling + glGetProgramiv + with arguments program and + GL_VALIDATE_STATUS. If validation is + successful, program is guaranteed to + execute given the current state. Otherwise, + program is guaranteed to not execute. + + This function is typically useful only during application + development. The informational string stored in the information + log is completely implementation dependent; therefore, an + application should not expect different OpenGL implementations + to produce identical information strings. + + Notes + This function mimics the validation operation that OpenGL + implementations must perform when rendering commands are issued + while programmable shaders are part of current state. The error + GL_INVALID_OPERATION will be generated by + glDrawArrays or + glDrawElements + if any two active samplers in the current program + object are of different types, but refer to the same + texture image unit. + + It may be difficult or cause a performance degradation for + applications to catch these errors when rendering commands are + issued. Therefore, applications are advised to make calls to + glValidateProgram to detect these issues + during application development. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + Associated Gets + glGetProgramiv + with arguments program and + GL_VALIDATE_STATUS + + glGetProgramInfoLog + with argument program + + glIsProgram + + See Also + glLinkProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glVertexAttrib.xml b/Source/Bind/Specifications/Docs/ES20/glVertexAttrib.xml new file mode 100644 index 00000000..b7b9dd7b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glVertexAttrib.xml @@ -0,0 +1,222 @@ + + + + + glVertexAttrib + 3G + + + glVertexAttrib + specify the value of a generic vertex attribute + + C Specification + + + void glVertexAttrib1f + GLuint index + GLfloat v0 + + + void glVertexAttrib2f + GLuint index + GLfloat v0 + GLfloat v1 + + + void glVertexAttrib3f + GLuint index + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glVertexAttrib4f + GLuint index + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + + v0, + v1, + v2, + v3 + + + Specifies the new values to be used for the + specified vertex attribute. + + + + + C Specification + + + void glVertexAttrib1fv + GLuint index + const GLfloat *v + + + void glVertexAttrib2fv + GLuint index + const GLfloat *v + + + void glVertexAttrib3fv + GLuint index + const GLfloat *v + + + void glVertexAttrib4fv + GLuint index + const GLfloat *v + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + v + + Specifies a pointer to an array of values to + be used for the generic vertex attribute. + + + + + Description + The + glVertexAttrib family of entry points + allows an application to pass generic vertex attributes in + numbered locations. + + Generic attributes are defined as four-component values + that are organized into an array. The first entry of this array + is numbered 0, and the size of the array is specified by the + implementation-dependent symbolic constant + GL_MAX_VERTEX_ATTRIBS. Individual elements + of this array can be modified with a + glVertexAttrib call that specifies the + index of the element to be modified and a value for that + element. + + These commands can be used to specify one, two, three, or + all four components of the generic vertex attribute specified by + index. A 1 in the + name of the command indicates that only one value is passed, and + it will be used to modify the first component of the generic + vertex attribute. The second and third components will be set to + 0, and the fourth component will be set to 1. Similarly, a + 2 in the name of the command indicates that + values are provided for the first two components, the third + component will be set to 0, and the fourth component will be set + to 1. A 3 in the name of the command + indicates that values are provided for the first three + components and the fourth component will be set to 1, whereas a + 4 in the name indicates that values are + provided for all four components. + + The letter f indicates + that the arguments are of type float. When + v is appended to the name, the commands can + take a pointer to an array of floats. + + OpenGL ES Shading Language attribute variables are allowed to + be of type mat2, mat3, or mat4. Attributes of these types may be + loaded using the glVertexAttrib entry + points. Matrices must be loaded into successive generic + attribute slots in column major order, with one column of the + matrix in each generic attribute slot. + + A user-defined attribute variable declared in a vertex + shader can be bound to a generic attribute index by calling + glBindAttribLocation. + This allows an application to use descriptive variable + names in a vertex shader. A subsequent change to the specified + generic vertex attribute will be immediately reflected as a + change to the corresponding attribute variable in the vertex + shader. + + The binding between a generic vertex attribute index and a + user-defined attribute variable in a vertex shader is part of + the state of a program object, but the current value of the + generic vertex attribute is not. The value of each generic + vertex attribute is part of current state and it is maintained + even if a different program object is used. + + An application may freely modify generic vertex attributes + that are not bound to a named vertex shader attribute variable. + These values are simply maintained as part of current state and + will not be accessed by the vertex shader. If a generic vertex + attribute bound to an attribute variable in a vertex shader is + not updated while the vertex shader is executing, the vertex + shader will repeatedly use the current value for the generic + vertex attribute. + + Notes + It is possible for an application to bind more than one + attribute name to the same generic vertex attribute index. This + is referred to as aliasing, and it is allowed only if just one + of the aliased attribute variables is active in the vertex + shader, or if no path through the vertex shader consumes more + than one of the attributes aliased to the same location. OpenGL + implementations are not required to do error checking to detect + aliasing, they are allowed to assume that aliasing will not + occur, and they are allowed to employ optimizations that work + only in the absence of aliasing. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with argument program and the index of an active + attribute variable + + glGetAttribLocation + with argument program and an attribute + variable name + + glGetVertexAttrib + with arguments GL_CURRENT_VERTEX_ATTRIB and + index + + See Also + glBindAttribLocation, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES20/glVertexAttribPointer.xml b/Source/Bind/Specifications/Docs/ES20/glVertexAttribPointer.xml new file mode 100644 index 00000000..23733eac --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES20/glVertexAttribPointer.xml @@ -0,0 +1,196 @@ + + + + + glVertexAttribPointer + 3G + + + glVertexAttribPointer + define an array of generic vertex attribute data + + C Specification + + + void glVertexAttribPointer + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + const GLvoid * pointer + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + size + + Specifies the number of components per + generic vertex attribute. Must + be 1, 2, 3, or 4. The initial value is 4. + + + + type + + Specifies the data type of each component in + the array. Symbolic constants + GL_BYTE, + GL_UNSIGNED_BYTE, + GL_SHORT, + GL_UNSIGNED_SHORT, + GL_FIXED, or + GL_FLOAT are + accepted. The initial value is GL_FLOAT. + + + + normalized + + Specifies whether fixed-point data values + should be normalized (GL_TRUE) + or converted directly as fixed-point values + (GL_FALSE) when they are + accessed. + + + + stride + + Specifies the byte offset between consecutive + generic vertex attributes. If stride + is 0, the generic vertex attributes are + understood to be tightly packed in the + array. The initial value is 0. + + + + pointer + + Specifies a pointer to the first component of + the first generic vertex attribute in the array. The initial value is 0. + + + + + Description + glVertexAttribPointer specifies the + location and data format of the array of generic vertex attributes at index index + to use when rendering. size + specifies the number of components per attribute and must be 1, + 2, 3, or 4. type specifies the data type + of each component, and stride specifies + the byte stride from one attribute to the next, allowing vertices and + attributes to be packed into a single array or + stored in separate arrays. + If set to GL_TRUE, + normalized indicates that values stored + in an integer format are to be mapped to the range [-1,1] (for + signed values) or [0,1] (for unsigned values) when they are + accessed and converted to floating point. Otherwise, values will + be converted to floats directly without normalization. + + If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target + (see glBindBuffer) while a generic vertex attribute array is + specified, pointer is treated as a byte offset into the buffer object's data store. + Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as generic vertex attribute array + client-side state (GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) for index index. + + When a generic vertex attribute array is specified, + size, type, + normalized, + stride, and + pointer are saved as client-side + state, in addition to the current vertex array buffer object binding. + + To enable and disable a generic vertex attribute array, + call + glEnableVertexAttribArray + and + glDisableVertexAttribArray + with index. If enabled, the generic + vertex attribute array is used when + glDrawArrays or + glDrawElements + is called. + + Notes + Each generic vertex attribute array is initially disabled + and isn't accessed when + glDrawElements or + glDrawArrays + is called. + glVertexAttribPointer is typically + implemented on the client side. + + Errors + GL_INVALID_ENUM is generated if + type is not an accepted value. + + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_VALUE is generated if + size is not 1, 2, 3, or 4. + + GL_INVALID_VALUE is generated if + stride is negative. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_SIZE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_TYPE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_NORMALIZED + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_STRIDE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + + glGet with argument + GL_ARRAY_BUFFER_BINDING + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + See Also + glBindAttribLocation, + glBindBuffer, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glEnableVertexAttribArray, + glVertexAttrib + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glViewport.xml b/Source/Bind/Specifications/Docs/ES20/glViewport.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glViewport.xml rename to Source/Bind/Specifications/Docs/ES20/glViewport.xml index b640be3d..06f1e535 100644 --- a/Source/Bind/Specifications/Docs/glViewport.xml +++ b/Source/Bind/Specifications/Docs/ES20/glViewport.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glViewport 3G @@ -31,6 +27,7 @@ + Parameters @@ -60,13 +57,13 @@ Description - glViewport specifies the affine transformation of + glViewport specifies the affine transformation of x - and + and y from normalized device coordinates to window coordinates. - Let + Let @@ -79,7 +76,7 @@ be normalized device coordinates. - Then the window coordinates + Then the window coordinates @@ -177,15 +174,14 @@ See Also - glDepthRange + glDepthRangef - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/ES30/glActiveTexture.xml b/Source/Bind/Specifications/Docs/ES30/glActiveTexture.xml new file mode 100644 index 00000000..8115fde5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glActiveTexture.xml @@ -0,0 +1,116 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glActiveTexture + 3G + + + glActiveTexture + select active texture unit + + C Specification + + + void glActiveTexture + GLenum texture + + + + Parameters + + + texture + + + Specifies which texture unit to make active. The number + of texture units is implementation-dependent, but must be at least + 32. texture must be one of + GL_TEXTUREi, + where i ranges from zero to the + value of + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS + minus one. The initial value is + GL_TEXTURE0. + + + + + + Description + + glActiveTexture selects which texture unit subsequent texture state calls will + affect. The number of texture units an implementation supports is + implementation-dependent, but must be at least 32. + + + Errors + + GL_INVALID_ENUM is generated if texture is not one of + GL_TEXTUREi, where + i ranges from zero to the value of + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS minus + one. + + + Associated Gets + + glGet with argument GL_ACTIVE_TEXTURE, or GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. + + + + API Version Support + + + + + + glActiveTexture + + + + + + + See Also + + glGenTextures, + glBindTexture, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDeleteTextures + glIsTexture, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glAttachShader.xml b/Source/Bind/Specifications/Docs/ES30/glAttachShader.xml new file mode 100644 index 00000000..358ada6e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glAttachShader.xml @@ -0,0 +1,149 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glAttachShader + 3G + + + glAttachShader + Attaches a shader object to a program object + + C Specification + + + void glAttachShader + GLuint program + GLuint shader + + + + Parameters + + + program + + Specifies the program object to which a shader + object will be attached. + + + + + shader + + Specifies the shader object that is to be attached. + + + + + Description + In order to create a complete shader program, there must be a way to + specify the list of things that will be linked together. Program + objects provide this mechanism. Shaders that are to be linked + together in a program object must first be attached to that + program object. glAttachShader attaches the + shader object specified by shader to the + program object specified by program. This + indicates that shader will be included in + link operations that will be performed on + program. + + All operations that can be performed on a shader object + are valid whether or not the shader object is attached to a + program object. It is permissible to attach a shader object to a + program object before source code has been loaded into the + shader object or before the shader object has been compiled. It + is not permissible to attach multiple shader objects of the same + type. + It is permissible to attach a shader object to more than + one program object. If a shader object is deleted while it is + attached to a program object, it will be flagged for deletion, + and deletion will not occur until + glDetachShader + is called to detach it from all program objects to which it is + attached. + + Errors + GL_INVALID_VALUE is generated if either + program or shader + is not a value generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + shader is already attached to + program. + + GL_INVALID_OPERATION is generated if + a shader of the same type as shader is + already attached to program. + + + Associated Gets + + glGetAttachedShaders + with the handle of a valid program object + + + glGetShaderInfoLog + + + glGetShaderSource + + + glIsProgram + + + glIsShader + + + + API Version Support + + + + + + glAttachShader + + + + + + + See Also + + glCompileShader, + glCreateShader, + glDeleteShader, + glDetachShader, + glLinkProgram, + glShaderSource + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBeginQuery.xml b/Source/Bind/Specifications/Docs/ES30/glBeginQuery.xml new file mode 100644 index 00000000..0e70ea93 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBeginQuery.xml @@ -0,0 +1,180 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glBeginQuery + 3G + + + glBeginQuery + delimit the boundaries of a query object + + C Specification + + + void glBeginQuery + GLenum target + GLuint id + + + + + void glEndQuery + GLenum target + + + + Parameters for <function>glBeginQuery</function> + + + target + + + Specifies the target type of query object established between + glBeginQuery and the subsequent glEndQuery. + The symbolic constant must be one of GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, + or GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN. + + + + + id + + + Specifies the name of a query object. + + + + + + Parameters for <function>glEndQuery</function> + + + target + + + Specifies the target type of query object to be concluded. + The symbolic constant must be one of GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, + or GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN. + + + + + + Description + + glBeginQuery and glEndQuery delimit the + boundaries of a query object. query must be a name previously returned from a call to + glGenQueries. If a query object with name id + does not yet exist it is created with the type determined by target. target must + be one of GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, + or GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN. The behavior of the query + object depends on its type and is as follows. + + + If target is GL_ANY_SAMPLES_PASSED, id must be an unused name, + or the name of an existing boolean occlusion query object. + When glBeginQuery is executed, the query object's samples-passed flag is reset to GL_FALSE. + Subsequent rendering causes the flag to be set to GL_TRUE if any sample passes the depth test. When + glEndQuery is executed, the samples-passed flag is assigned to the query object's result value. This value can + be queried by calling glGetQueryObjectuiv with pname + GL_QUERY_RESULT. + + + If target is GL_ANY_SAMPLES_PASSED_CONSERVATIVE, id must be an unused name, + or the name of an existing boolean occlusion query object. + When glBeginQuery is executed, the query object's samples-passed flag is reset to GL_FALSE. + Subsequent rendering causes the flag to be set to GL_TRUE if any sample passes the depth test. The implementation + may choose to use a less precision version of the test, which can additionally set the samples-passed flag to GL_TRUE + in some other implementation-dependent cases. When glEndQuery is executed, the samples-passed flag is assigned to + the query object's result value. This value can be queried by calling glGetQueryObjectuiv + with pname GL_QUERY_RESULT. + + + If target is GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, id must be + an unused name, or the name of an existing primitive query object previously bound to the GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN + query binding. When glBeginQuery is executed, the query object's primitives-written counter is reset to 0. Subsequent + rendering will increment the counter once for every vertex that is written into the bound transform feedback buffer(s). If transform feedback + mode is not activated between the call to glBeginQuery and glEndQuery, the counter will not be + incremented. When glEndQuery is executed, the primitives-written counter is assigned to + the query object's result value. This value can be queried by calling glGetQueryObjectuiv with pname + GL_QUERY_RESULT. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_OPERATION is generated if glBeginQuery is executed while + a query object of the same target is already active. Note: GL_ANY_SAMPLES_PASSED + and GL_ANY_SAMPLES_PASSED_CONSERVATIVE alias to the same target for the purposes of this error. + + + GL_INVALID_OPERATION is generated if glEndQuery + is executed when a query object of the same target is not active. + + + GL_INVALID_OPERATION is generated if id is 0. + + + GL_INVALID_OPERATION is generated if id not a name returned from a previous call to + glGenQueries, or if such a name has since been deleted with glDeleteQueries. + + + GL_INVALID_OPERATION is generated if id is the name of an already active query object. + + + GL_INVALID_OPERATION is generated if id refers to an existing query object whose type + does not does not match target. + + + + API Version Support + + + + + + glBeginQuery + + + + glEndQuery + + + + + + + See Also + + glDeleteQueries, + glGenQueries, + glGetQueryiv, + glGetQueryObjectuiv, + glIsQuery + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBeginTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES30/glBeginTransformFeedback.xml new file mode 100644 index 00000000..f12e524a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBeginTransformFeedback.xml @@ -0,0 +1,129 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBeginTransformFeedback + 3G + + + glBeginTransformFeedback + start transform feedback operation + + C Specification + + + void glBeginTransformFeedback + GLenum primitiveMode + + + + + void glEndTransformFeedback + void + + + + Parameters for <function>glBeginTransformFeedback</function> + + + primitiveMode + + + Specify the output type of the primitives that will be recorded into the + buffer objects that are bound for transform feedback. + + + + + + Description + + Transform feedback mode captures the values of varying variables written by the vertex shader. + Transform feedback is said to be active after a call to glBeginTransformFeedback + until a subsequent call to glEndTransformFeedback. + Transform feedback commands must be paired. An implicit glResumeTransformFeedback + is performed by glEndTransformFeedback if the transform feedback is paused. + Transform feedback is restricted to non-indexed GL_POINTS, GL_LINES, and + GL_TRIANGLES. + + + While transform feedback is active the mode parameter to + glDrawArrays must exactly match the + primitiveMode specified by glBeginTransformFeedback. + + + Errors + + GL_INVALID_OPERATION is generated if glBeginTransformFeedback is executed + while transform feedback is active. + + + GL_INVALID_ENUM is generated by glBeginTransformFeedback if primitiveMode + is not one of GL_POINTS, GL_LINES, or GL_TRIANGLES. + + + GL_INVALID_OPERATION is generated if glEndTransformFeedback is executed + while transform feedback is not active. + + + GL_INVALID_OPERATION is generated by glDrawArrays + and glDrawArraysInstanced if transform feedback is active + and mode does not exactly match primitiveMode. + + + GL_INVALID_OPERATION is generated by glDrawElements, + glDrawElementsInstanced, and + glDrawRangeElements if transform feedback is active and not paused. + + + GL_INVALID_OPERATION is generated by glBeginTransformFeedback if any binding + point used in transform feedback mode does not have a buffer object bound. In interleaved mode, only the first buffer + object binding point is ever written to. + + + GL_INVALID_OPERATION is generated by glBeginTransformFeedback if no binding + points would be used, either because no program object is active of because the active program object has specified + no varying variables to record. + + + + API Version Support + + + + + + glBeginTransformFeedback + + + + glEndTransformFeedback + + + + + + + See Also + + glPauseTransformFeedback, + glResumeTransformFeedback + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindAttribLocation.xml b/Source/Bind/Specifications/Docs/ES30/glBindAttribLocation.xml new file mode 100644 index 00000000..67d86be1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindAttribLocation.xml @@ -0,0 +1,212 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glBindAttribLocation + 3G + + + glBindAttribLocation + Associates a generic vertex attribute index with a named attribute variable + + C Specification + + + void glBindAttribLocation + GLuint program + GLuint index + const GLchar *name + + + + Parameters + + + program + + Specifies the handle of the program object in + which the association is to be made. + + + + index + + Specifies the index of the generic vertex + attribute to be bound. + + + + name + + Specifies a null terminated string containing + the name of the vertex shader attribute variable to + which index is to be + bound. + + + + + Description + glBindAttribLocation is used to + associate a user-defined attribute variable in the program + object specified by program with a + generic vertex attribute index. The name of the user-defined + attribute variable is passed as a null terminated string in + name. The generic vertex attribute index + to be bound to this variable is specified by + index. When + program is made part of current state, + values provided via the generic vertex attribute + index will modify the value of the + user-defined attribute variable specified by + name. + + If name refers to a matrix + attribute variable, index refers to the + first column of the matrix. Other matrix columns are then + automatically bound to locations index+1 + for a matrix of type mat2; index+1 and + index+2 for a matrix of type mat3; and + index+1, index+2, + and index+3 for a matrix of type + mat4. + + This command makes it possible for vertex shaders to use + descriptive names for attribute variables rather than generic + variables that are numbered from zero to the value of + GL_MAX_VERTEX_ATTRIBS minus one. The values sent + to each generic attribute index are part of current state. + If a different program object is made current by calling + glUseProgram, + the generic vertex attributes are tracked in such a way that the + same values will be observed by attributes in the new program + object that are also bound to + index. Attribute variable + name-to-generic attribute index bindings for a program object + can be explicitly assigned at any time by calling + glBindAttribLocation. Attribute bindings do + not go into effect until + glLinkProgram + is called. After a program object has been linked successfully, + the index values for generic attributes remain fixed (and their + values can be queried) until the next link command + occurs. + + Any attribute binding that occurs after the program object has been linked will not take effect + until the next time the program object is linked. + + Notes + glBindAttribLocation can be called + before any vertex shader objects are bound to the specified + program object. It is also permissible to bind a generic + attribute index to an attribute variable name that is never used + in a vertex shader. + + If name was bound previously, that + information is lost. Thus you cannot bind one user-defined + attribute variable to multiple indices, but you can bind + multiple user-defined attribute variables to the same + index. + + Applications are allowed to bind more than one + user-defined attribute variable to the same generic vertex + attribute index. This is called aliasing, + and it is allowed only if just one of the aliased attributes is + active in the executable program, or if no path through the + shader consumes more than one attribute of a set of attributes + aliased to the same location. The compiler and linker are + allowed to assume that no aliasing is done and are free to + employ optimizations that work only in the absence of aliasing. + OpenGL implementations are not required to do error checking to + detect aliasing. + + Active attributes that are not explicitly bound will be + bound by the linker when + glLinkProgram + is called. The locations assigned can be queried by calling + glGetAttribLocation. + + OpenGL copies the name string when + glBindAttribLocation is called, so an + application may free its copy of the name + string immediately after the function returns. + + Generic attribute locations may be specified in the shader source + text using a location layout qualifier. In this case, + the location of the attribute specified in the shader's source takes precedence + and may be queried by calling glGetAttribLocation. + + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_OPERATION is generated if + name starts with the reserved prefix + "gl_". + + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetActiveAttrib + with argument program + + glGetAttribLocation + with arguments program and + name + + glIsProgram + + + API Version Support + + + + + + glBindAttribLocation + + + + + + + See Also + glDisableVertexAttribArray, + glEnableVertexAttribArray, + glUseProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindBuffer.xml b/Source/Bind/Specifications/Docs/ES30/glBindBuffer.xml new file mode 100644 index 00000000..3ae8f71b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindBuffer.xml @@ -0,0 +1,221 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glBindBuffer + 3G + + + glBindBuffer + bind a named buffer object + + C Specification + + + void glBindBuffer + GLenum target + GLuint buffer + + + + Parameters + + + target + + + Specifies the target to which the buffer object is bound. + The symbolic constant must be + GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + buffer + + + Specifies the name of a buffer object. + + + + + + Description + + glBindBuffer binds a buffer object to the specified buffer binding point. Calling glBindBuffer with + target set to one of the accepted symbolic constants and buffer set to the name + of a buffer object binds that buffer object name to the target. If no buffer object with name buffer + exists, one is created with that name. When a buffer object is bound to a target, the previous binding for that + target is automatically broken. + + + Buffer object names are unsigned integers. The value zero is reserved, but + there is no default buffer object for each buffer object target. Instead, buffer set to zero + effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target (if supported for that target). + Buffer object names and the corresponding buffer object contents are local to + the shared object space of the current + GL rendering context; + two rendering contexts share buffer object names only if they + explicitly enable sharing between contexts through the appropriate GL windows interfaces functions. + + + glGenBuffers may be used to generate a set of unused buffer object names. + + + The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with + GL_READ_WRITE access and GL_STATIC_DRAW usage. + + + While a non-zero buffer object name is bound, GL operations on the target to which it is + bound affect the bound buffer object, and queries of the target to which it is bound return state + from the bound buffer object. While buffer object name zero is bound, as in the initial state, + attempts to modify or query state on the target to which it is bound generates an + GL_INVALID_OPERATION error. + + + When a non-zero buffer object is bound to the GL_ARRAY_BUFFER target, + the vertex array pointer parameter is interpreted as an offset within the + buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_ELEMENT_ARRAY_BUFFER target, + the indices parameter of glDrawElements, + glDrawElementsInstanced, + glDrawRangeElements, + offset within the buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_PIXEL_PACK_BUFFER target, + the following commands are affected: glReadPixels. + The pointer parameter is interpreted as an offset within the buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target, + the following commands are affected: + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, and + glTexSubImage3D. The pointer parameter is + interpreted as an offset within the buffer object measured in basic machine units. + + + The buffer targets GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER + are provided to allow glCopyBufferSubData + to be used without disturbing the state of other bindings. However, glCopyBufferSubData + may be used with any pair of buffer binding points. + + + The GL_TRANSFORM_FEEDBACK_BUFFER buffer binding point may be passed to glBindBuffer, + but will not directly affect transform feedback state. Instead, the indexed GL_TRANSFORM_FEEDBACK_BUFFER + bindings must be used through a call to glBindBufferBase + or glBindBufferRange. This will affect the generic + GL_TRANSFORM_FEEDBACK_BUFFER binding. + + + Likewise, the GL_UNIFORM_BUFFER buffer binding point may be used, but does not directly affect + uniform buffer state. glBindBufferBase + or glBindBufferRange must be used to bind a buffer to + an indexed uniform buffer binding point. + + + A buffer object binding created with glBindBuffer remains active until a different + buffer object name is bound to the same target, or until the bound buffer object is + deleted with glDeleteBuffers. + + + Once created, a named buffer object may be re-bound to any target as often as needed. However, + the GL implementation may make choices about how to optimize the storage of a buffer object based + on its initial binding target. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable + values. + + + Associated Gets + + glGet with argument GL_ARRAY_BUFFER_BINDING + + + glGet with argument GL_COPY_READ_BUFFER_BINDING + + + glGet with argument GL_COPY_WRITE_BUFFER_BINDING + + + glGet with argument GL_ELEMENT_ARRAY_BUFFER_BINDING + + + glGet with argument GL_PIXEL_PACK_BUFFER_BINDING + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + glGet with argument GL_TRANSFORM_FEEDBACK_BUFFER_BINDING + + + glGet with argument GL_UNIFORM_BUFFER_BINDING + + + + API Version Support + + + + + + glBindBuffer + + + + + + + See Also + + glGenBuffers, + glBindBufferBase, + glBindBufferRange, + glMapBufferRange, + glUnmapBuffer, + glDeleteBuffers, + glGet, + glIsBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindBufferBase.xml b/Source/Bind/Specifications/Docs/ES30/glBindBufferBase.xml new file mode 100644 index 00000000..43fa05bf --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindBufferBase.xml @@ -0,0 +1,131 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindBufferBase + 3G + + + glBindBufferBase + bind a buffer object to an indexed buffer target + + C Specification + + + void glBindBufferBase + GLenum target + GLuint index + GLuint buffer + + + + Parameters + + + target + + + Specify the target of the bind operation. target must be + either GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. + + + + + index + + + Specify the index of the binding point within the array specified by target. + + + + + buffer + + + The name of a buffer object to bind to the specified binding point. + + + + + + Description + + glBindBufferBase binds the buffer object buffer + to the binding point at index index of the array of targets specified + by target. Each target represents an indexed + array of buffer binding points, as well as a single general binding point that can be used by + other buffer manipulation functions such as glBindBuffer + or glMapBufferRange. In addition to binding + buffer to the indexed buffer binding target, glBindBufferBase + also binds buffer to the generic buffer binding point specified by target. + + + Notes + + Calling glBindBufferBase binds the entire buffer, even when the size of the buffer is + changed after the binding is established. The starting offset is zero, and the amount + of data that can be read from or written to the buffer is determined by the size of + the bound buffer at the time the binding is used. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. + + + GL_INVALID_VALUE is generated if target is + GL_TRANSFORM_FEEDBACK_BUFFER and index is greater + than or equal to GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS. + + + GL_INVALID_VALUE is generated if target is + GL_UNIFORM_BUFFER and index is greater + than or equal to GL_MAX_UNIFORM_BUFFER_BINDINGS. + + + Associated Gets + + glGet with argument GL_MAX_UNIFORM_BUFFER_BINDINGS, or GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS. + + + + API Version Support + + + + + + glBindBufferBase + + + + + + + See Also + + glGenBuffers, + glDeleteBuffers, + glBindBuffer, + glBindBufferRange, + glMapBufferRange, + glUnmapBuffer, + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindBufferRange.xml b/Source/Bind/Specifications/Docs/ES30/glBindBufferRange.xml new file mode 100644 index 00000000..cf33e101 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindBufferRange.xml @@ -0,0 +1,163 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindBufferRange + 3G + + + glBindBufferRange + bind a range within a buffer object to an indexed buffer target + + C Specification + + + void glBindBufferRange + GLenumtarget + GLuintindex + GLuintbuffer + GLintptroffset + GLsizeiptrsize + + + + Parameters + + + target + + + Specify the target of the bind operation. target must be + either GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. + + + + + index + + + Specify the index of the binding point within the array specified by target. + + + + + buffer + + + The name of a buffer object to bind to the specified binding point. + + + + + offset + + + The starting offset in basic machine units into the buffer object buffer. + + + + + size + + + The amount of data in machine units that can be read from the buffet object while used as an indexed target. + + + + + + Description + + glBindBufferRange binds a range of the buffer object buffer + represented by offset and size to the + binding point at index index of the array of targets specified by target. + Each target represents an indexed array of buffer binding points, as well + as a single general binding point that can be used by other buffer manipulation functions such as + glBindBuffer or + glMapBufferRange. In addition to binding + a range of buffer to the indexed buffer binding target, glBindBufferBase + also binds the range to the generic buffer binding point specified by target. + + + offset specifies the offset in basic machine units into the buffer object + buffer and size specifies the amount of data that + can be read from the buffer object while used as an indexed target. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. + + + GL_INVALID_VALUE is generated if target is + GL_TRANSFORM_FEEDBACK_BUFFER andindex is greater + than or equal to GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS. + + + GL_INVALID_VALUE is generated if target is + GL_UNIFORM_BUFFER andindex is greater + than or equal to GL_MAX_UNIFORM_BUFFER_BINDINGS. + + + GL_INVALID_VALUE is generated if buffer is not + zero and size is less than or equal to zero. + + + GL_INVALID_VALUE is generated if target is + GL_TRANSFORM_FEEDBACK_BUFFER and size or + offset are not multiples of 4. + + + GL_INVALID_VALUE is generated if target is + GL_UNIFORM_BUFFER and offset is not a multiple of + GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT. + + + Associated Gets + + glGet with argument GL_MAX_UNIFORM_BUFFER_BINDINGS, + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, or GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT. + + + + API Version Support + + + + + + glBindBufferRange + + + + + + + See Also + + glGenBuffers, + glDeleteBuffers, + glBindBuffer, + glBindBufferBase, + glMapBufferRange, + glUnmapBuffer, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindFramebuffer.xml b/Source/Bind/Specifications/Docs/ES30/glBindFramebuffer.xml new file mode 100644 index 00000000..8213d029 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindFramebuffer.xml @@ -0,0 +1,108 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindFramebuffer + 3G + + + glBindFramebuffer + bind a framebuffer to a framebuffer target + + C Specification + + + void glBindFramebuffer + GLenum target + GLuint framebuffer + + + + Parameters + + + target + + + Specifies the framebuffer target of the binding operation. + + + + + framebuffer + + + Specifies the name of the framebuffer object to bind. + + + + + + Description + + glBindFramebuffer binds the framebuffer object with name framebuffer to the framebuffer target specified + by target. target must be either GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. If a framebuffer object is bound to + GL_DRAW_FRAMEBUFFER or GL_READ_FRAMEBUFFER, it becomes the target for + rendering or readback operations, respectively, until it is deleted or another framebuffer is bound to the corresponding bind point. + Calling glBindFramebuffer with target set to GL_FRAMEBUFFER binds + framebuffer to both the read and draw framebuffer targets. + + + + glGenFramebuffers may be used to generate a set of unused framebuffer object names. + + + + The storage, dimensions, allocation, and format of the images attached to the default framebuffer are managed entirely + by the window system. In order that access to the default framebuffer is not lost, it is treated as a framebuffer object with the name of zero. + The default framebuffer is therefore rendered to and read from while zero is bound to the corresponding targets. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. + + + + API Version Support + + + + + + glBindFramebuffer + + + + + + + See Also + + glGenFramebuffers, + glDeleteFramebuffers, + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFramebufferTextureLayer, + glIsFramebuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES30/glBindRenderbuffer.xml new file mode 100644 index 00000000..a1a6396e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindRenderbuffer.xml @@ -0,0 +1,96 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindRenderbuffer + 3G + + + glBindRenderbuffer + bind a renderbuffer to a renderbuffer target + + C Specification + + + void glBindRenderbuffer + GLenum target + GLuint renderbuffer + + + + Parameters + + + target + + + Specifies the renderbuffer target of the binding operation. target must be GL_RENDERBUFFER. + + + + + renderbuffer + + + Specifies the name of the renderbuffer object to bind. + + + + + + Description + + glBindRenderbuffer binds the renderbuffer object with name renderbuffer to the renderbuffer target specified + by target. target must be GL_RENDERBUFFER. Calling + glBindRenderbuffer with renderbuffer set to a value of zero breaks the + existing binding of a renderbuffer object to target. + + + glGenRenderbuffers may be used to generate a set of unused renderbuffer object names. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + + API Version Support + + + + + + glBindRenderbuffer + + + + + + + See Also + + glGenRenderbuffers, + glDeleteRenderbuffers, + glRenderbufferStorage, + glRenderbufferStorageMultisample, + glIsRenderbuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindSampler.xml b/Source/Bind/Specifications/Docs/ES30/glBindSampler.xml new file mode 100644 index 00000000..af94c07c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindSampler.xml @@ -0,0 +1,113 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindSampler + 3G + + + glBindSampler + bind a named sampler to a texturing target + + C Specification + + + void glBindSampler + GLuint unit + GLuint sampler + + + + Parameters + + + unit + + + Specifies the index of the texture unit to which the sampler is bound. + + + + + sampler + + + Specifies the name of a sampler. + + + + + + Description + + glBindSampler binds sampler to the texture unit at index unit. + sampler must be zero or the name of a sampler object previously returned from a call to + glGenSamplers. unit must be less than the value + of GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. + + + When a sampler object is bound to a texture unit, its state supersedes that of + the texture object bound to that texture unit. If the sampler name zero is bound to + a texture unit, the currently bound texture's sampler state becomes active. A single + sampler object may be bound to multiple texture units simultaneously. + + + Errors + + GL_INVALID_VALUE is generated if unit is greater than or equal to the value of + GL_MAX_COMBIED_TEXTURE_IMAGE_UNITS. + + + GL_INVALID_OPERATION is generated if sampler is not zero or a name previously + returned from a call to glGenSamplers, or if such a name has + been deleted by a call to glDeleteSamplers. + + + Associated Gets + + glGet with argument GL_SAMPLER_BINDING + + + + API Version Support + + + + + + glBindSampler + + + + + + + See Also + + glGenSamplers, + glDeleteSamplers, + glGet, + glSamplerParameter, + glGetSamplerParameter, + glGenTextures, + glBindTexture, + glDeleteTextures + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindTexture.xml b/Source/Bind/Specifications/Docs/ES30/glBindTexture.xml new file mode 100644 index 00000000..9e991402 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindTexture.xml @@ -0,0 +1,164 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBindTexture + 3G + + + glBindTexture + bind a named texture to a texturing target + + C Specification + + + void glBindTexture + GLenum target + GLuint texture + + + + Parameters + + + target + + + Specifies the target to which the texture is bound. + Must be either + GL_TEXTURE_2D, + GL_TEXTURE_3D, + GL_TEXTURE_2D_ARRAY, or + GL_TEXTURE_CUBE_MAP, + + + + + texture + + + Specifies the name of a texture. + + + + + + Description + + glBindTexture binds the texture object with name texture to the texture target specified + by target. Calling glBindTexture with + target set to + GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_2D_ARRAY, or + GL_TEXTURE_CUBE_MAP and texture set to the name of the new texture binds the + texture name to that target. When a texture is bound to a target, the previous binding for that target is automatically broken. + + + Texture names are unsigned integers. The value zero is reserved to + represent the default texture for each texture target. + Texture names and the corresponding texture contents are local to + the shared object space of the current GL rendering context; + two rendering contexts share texture names only if they + explicitly enable sharing between contexts through the appropriate GL windows interfaces functions. + + + You must use glGenTextures to generate a set of new texture names. + + + When a texture is first bound, it assumes the specified target: + A texture first bound to GL_TEXTURE_2D becomes two-dimensional texture, a + texture first bound to GL_TEXTURE_3D becomes three-dimensional texture, a + texture first bound to GL_TEXTURE_2D_ARRAY becomes two-dimensional arary texture, and a + texture first bound to GL_TEXTURE_CUBE_MAP becomes a cube-mapped texture. + The state of a two-dimensional texture immediately after it is first bound is equivalent to the state of the + default GL_TEXTURE_2D at GL initialization, and similarly for the other texture types. + + + While a texture is bound, GL operations on the target to which it is + bound affect the bound texture, and queries of the target to which it + is bound return state from the bound texture. + In effect, the texture targets become aliases for the textures currently + bound to them, and the texture name zero refers to the default textures + that were bound to them at initialization. + + + A texture binding created with glBindTexture remains active until a different + texture is bound to the same target, or until the bound texture is + deleted with glDeleteTextures. + + + Once created, a named texture may be re-bound to its same original target as often as needed. + It is usually much faster to use glBindTexture to bind an existing named + texture to one of the texture targets than it is to reload the texture image + using glTexImage2D, + glTexImage3D or another similar function. + + + Texture binding is affected by the setting of the state GL_ACTIVE_TEXTURE (see + glActiveTexture). + A texture object may be bound to more than one texture unit simultaneously. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable + values. + + + GL_INVALID_OPERATION is generated if texture was previously created with a target + that doesn't match that of target. + + + Associated Gets + + glGet with argument GL_TEXTURE_BINDING_2D, + GL_TEXTURE_BINDING_3D, GL_TEXTURE_BINDING_2D_ARRAY, or GL_TEXTURE_BINDING_CUBE_MAP. + + + + API Version Support + + + + + + glBindTexture + + + + + + + See Also + + glDeleteTextures, + glGenTextures, + glGet, + glGetTexParameter, + glIsTexture, + glTexImage2D, + glTexImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES30/glBindTransformFeedback.xml new file mode 100644 index 00000000..842730ee --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindTransformFeedback.xml @@ -0,0 +1,125 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glBindTransformFeedback + 3G + + + glBindTransformFeedback + bind a transform feedback object + + C Specification + + + void glBindTransformFeedback + GLenum target + GLuint id + + + + Parameters + + + target + + + Specifies the target to which to bind the transform feedback object id. target + must be GL_TRANSFORM_FEEDBACK. + + + + + id + + + Specifies the name of a transform feedback object reserved by glGenTransformFeedbacks. + + + + + + Description + + glBindTransformFeedback binds the transform feedback object with name id to the current + GL state. id must be a name previously returned from a call to + glGenTransformFeedbacks. If id has not + previously been bound, a new transform feedback object with name id and initialized with with the + default transform state vector is created. + + + In the initial state, a default transform feedback object is bound and treated as + a transform feedback object with a name of zero. If the name zero is subsequently bound, the default + transform feedback object is again bound to the GL state. + + + While a transform feedback buffer object is bound, GL operations on the target + to which it is bound affect the bound transform feedback object, and queries of the + target to which a transform feedback object is bound return state from the bound + object. When buffer objects are bound for transform feedback, they are attached to + the currently bound transform feedback object. Buffer objects are used for transform feedback only if they are attached + to the currently bound transform feedback object. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TRANSFORM_FEEDBACK. + + + GL_INVALID_OPERATION is generated if the transform feedback operation is + active on the currently bound transform feedback object, and that operation is not paused. + + + GL_INVALID_OPERATION is generated if id is not + zero or the name of a transform feedback object returned from a previous call to + glGenTransformFeedbacks, or + if such a name has been deleted by glDeleteTransformFeedbacks. + + + Associated Gets + + glGet with argument GL_TRANSFORM_FEEDBACK_BINDING + + + + API Version Support + + + + + + glBindTransformFeedback + + + + + + + See Also + + glGenTransformFeedbacks, + glDeleteTransformFeedbacks, + glIsTransformFeedback, + glBeginTransformFeedback, + glPauseTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBindVertexArray.xml b/Source/Bind/Specifications/Docs/ES30/glBindVertexArray.xml new file mode 100644 index 00000000..1c954a1d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBindVertexArray.xml @@ -0,0 +1,87 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindVertexArray + 3G + + + glBindVertexArray + bind a vertex array object + + C Specification + + + void glBindVertexArray + GLuint array + + + + Parameters + + + array + + + Specifies the name of the vertex array to bind. + + + + + + Description + + glBindVertexArray binds the vertex array object with name array. array + is the name of a vertex array object previously returned from a call to glGenVertexArrays, + or zero to bind the default vertex array object binding. + + + If no vertex array object with name array exists, one is created when array is first bound. If the bind + is successful no change is made to the state of the vertex array object, and any previous vertex array object binding is broken. + + + Errors + + GL_INVALID_OPERATION is generated if array is not zero or the name of a vertex array object + previously returned from a call to glGenVertexArrays. + + + + API Version Support + + + + + + glBindVertexArray + + + + + + + See Also + + glGenVertexArrays, + glDeleteVertexArrays + glVertexAttribPointer + glEnableVertexAttribArray + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBlendColor.xml b/Source/Bind/Specifications/Docs/ES30/glBlendColor.xml new file mode 100644 index 00000000..20a6ca78 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBlendColor.xml @@ -0,0 +1,102 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendColor + 3G + + + glBlendColor + set the blend color + + C Specification + + + void glBlendColor + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + Parameters + + + red + green + blue + alpha + + + specify the components of GL_BLEND_COLOR + + + + + + Description + + The GL_BLEND_COLOR may be used to calculate the source and destination + blending factors. If destination framebuffer components use an unsigned normalized + fixed-point representation, the constant color components are clamped to the range + + + + 0 + 1 + + + when computing the blend factors. See glBlendFunc for a complete description of the + blending operations. + Initially the GL_BLEND_COLOR is set to (0, 0, 0, 0). + + + Associated Gets + + glGet with an argument of GL_BLEND_COLOR + + + + API Version Support + + + + + + glBlendColor + + + + + + + See Also + + glBlendEquation, + glBlendFunc, + glGet + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBlendEquation.xml b/Source/Bind/Specifications/Docs/ES30/glBlendEquation.xml new file mode 100644 index 00000000..c9d87bb9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBlendEquation.xml @@ -0,0 +1,783 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendEquation + 3G + + + glBlendEquation + specify the equation used for both the RGB blend equation and the Alpha blend equation + + C Specification + + + void glBlendEquation + GLenum mode + + + + Parameters + + + mode + + + specifies how source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + + Description + + The blend equations determine how a new pixel (the ''source'' color) + is combined with a pixel already in the framebuffer (the ''destination'' + color). This function sets both the RGB blend equation and the alpha + blend equation to a single equation. + + + Calling this function is equivalent to calling glBlendEquationSeparate + with modeRGB and modeAlpha both set to the value of mode. + + + These equations use the source and destination blend factors + specified by either glBlendFunc or + glBlendFuncSeparate. + See glBlendFunc or glBlendFuncSeparate + for a description of the various blend factors. + + + In the equations that follow, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + , + respectively. + The result color is referred to as + + + + R + r + + G + r + + B + r + + A + r + + + . + The source and destination blend factors are denoted + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + , + respectively. + For these equations all color components are understood to have values + in the range + + + + 0 + 1 + + . + + + + + + + + + + Mode + + + RGB Components + + + Alpha Component + + + + + + + GL_FUNC_ADD + + + + + + Rr + = + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + GL_FUNC_SUBTRACT + + + + + + Rr + = + + R + s + + + s + R + + - + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + - + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + - + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + - + A + d + + + d + A + + + + + + + + + GL_FUNC_REVERSE_SUBTRACT + + + + + + Rr + = + + R + d + + + d + R + + - + R + s + + + s + R + + + + + + + + Gr + = + + G + d + + + d + G + + - + G + s + + + s + G + + + + + + + + Br + = + + B + d + + + d + B + + - + B + s + + + s + B + + + + + + + + + + Ar + = + + A + d + + + d + A + + - + A + s + + + s + A + + + + + + + + + GL_MIN + + + + + + Rr + = + + min + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + min + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + min + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + min + + + + A + s + + + + A + d + + + + + + + + + + + GL_MAX + + + + + + Rr + = + + max + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + max + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + max + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + max + + + + A + s + + + + A + d + + + + + + + + + + + + + + The results of these equations are clamped to the range + + + + 0 + 1 + + . + + + The GL_MIN and GL_MAX equations are useful for applications + that analyze image data (image thresholding against a constant color, + for example). + The GL_FUNC_ADD equation is useful + for antialiasing and transparency, among other things. + + + Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. + + + + + Notes + + The GL_MIN, and GL_MAX equations do not use + the source or destination factors, only the source and destination colors. + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of + GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, + GL_MAX, or GL_MIN. + + + Associated Gets + + glGet with an argument of GL_BLEND_EQUATION_RGB + + + glGet with an argument of GL_BLEND_EQUATION_ALPHA + + + + API Version Support + + + + + + glBlendEquation + + + + + + + See Also + + glBlendColor, + glBlendEquationSeparate + glBlendFunc + glBlendFuncSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBlendEquationSeparate.xml b/Source/Bind/Specifications/Docs/ES30/glBlendEquationSeparate.xml new file mode 100644 index 00000000..18c03b47 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBlendEquationSeparate.xml @@ -0,0 +1,791 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendEquationSeparate + 3G + + + glBlendEquationSeparate + set the RGB blend equation and the alpha blend equation separately + + C Specification + + + void glBlendEquationSeparate + GLenum modeRGB + GLenum modeAlpha + + + + Parameters + + + modeRGB + + + specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + modeAlpha + + + specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + + Description + + The blend equations determines how a new pixel (the ''source'' color) + is combined with a pixel already in the framebuffer (the ''destination'' + color). This function specifies one blend equation for the RGB-color + components and one blend equation for the alpha component. + + + The blend equations use the source and destination blend factors + specified by either glBlendFunc or + glBlendFuncSeparate. + See glBlendFunc or glBlendFuncSeparate + for a description of the various blend factors. + + + In the equations that follow, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + , + respectively. + The result color is referred to as + + + + R + r + + G + r + + B + r + + A + r + + + . + The source and destination blend factors are denoted + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + , + respectively. + For these equations all color components are understood to have values + in the range + + + + 0 + 1 + + . + + + + + + + + + + Mode + + + RGB Components + + + Alpha Component + + + + + + + GL_FUNC_ADD + + + + + + Rr + = + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + GL_FUNC_SUBTRACT + + + + + + Rr + = + + R + s + + + s + R + + - + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + - + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + - + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + - + A + d + + + d + A + + + + + + + + + GL_FUNC_REVERSE_SUBTRACT + + + + + + Rr + = + + R + d + + + d + R + + - + R + s + + + s + R + + + + + + + + Gr + = + + G + d + + + d + G + + - + G + s + + + s + G + + + + + + + + Br + = + + B + d + + + d + B + + - + B + s + + + s + B + + + + + + + + + + Ar + = + + A + d + + + d + A + + - + A + s + + + s + A + + + + + + + + + GL_MIN + + + + + + Rr + = + + min + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + min + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + min + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + min + + + + A + s + + + + A + d + + + + + + + + + + + GL_MAX + + + + + + Rr + = + + max + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + max + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + max + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + max + + + + A + s + + + + A + d + + + + + + + + + + + + + + The results of these equations are clamped to the range + + + + 0 + 1 + + . + + + The GL_MIN and GL_MAX equations are useful for applications + that analyze image data (image thresholding against a constant color, + for example). + The GL_FUNC_ADD equation is useful + for antialiasing and transparency, among other things. + + + Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. + + + + + Notes + + The GL_MIN, and GL_MAX equations do not use + the source or destination factors, only the source and destination colors. + + + Errors + + GL_INVALID_ENUM is generated if either modeRGB or modeAlpha is not one of + GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, + GL_MAX, or GL_MIN. + + + Associated Gets + + glGet with an argument of GL_BLEND_EQUATION_RGB + + + glGet with an argument of GL_BLEND_EQUATION_ALPHA + + + + API Version Support + + + + + + glBlendEquationSeparate + + + + + + + See Also + + glGetString, + glBlendColor, + glBlendEquation, + glBlendFunc, + glBlendFuncSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBlendFunc.xml b/Source/Bind/Specifications/Docs/ES30/glBlendFunc.xml new file mode 100644 index 00000000..66c0cc84 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBlendFunc.xml @@ -0,0 +1,1114 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendFunc + 3G + + + glBlendFunc + specify pixel arithmetic + + C Specification + + + void glBlendFunc + GLenum sfactor + GLenum dfactor + + + + Parameters + + + sfactor + + + Specifies how the red, green, blue, + and alpha source blending factors are computed. + The initial value is GL_ONE. + + + + + dfactor + + + Specifies how the red, green, blue, + and alpha destination blending factors are computed. + The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA. + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, and + GL_ONE_MINUS_CONSTANT_ALPHA. + The initial value is GL_ZERO. + + + + + + Description + + Pixels can be drawn using a function that blends + the incoming (source) RGBA values with the RGBA values + that are already in the frame buffer (the destination values). + Blending is initially disabled. + Use glEnable and glDisable with argument GL_BLEND + to enable and disable blending. + + + glBlendFunc defines the operation of blending when it is enabled. + sfactor specifies which method is used to scale the + source color components. + dfactor specifies which method is used to scale the + destination color components. + Both parameters must be one of the following symbolic constants: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA, + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, + GL_ONE_MINUS_CONSTANT_ALPHA, + GL_SRC_ALPHA_SATURATE, + The possible methods are described in the following table. + Each method defines four scale factors, + one each for red, green, blue, and alpha. + In the table and in subsequent equations, source + and destination color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + , + and + + + + R + d + + G + d + + B + d + + A + d + + + , respectively. + The color specified by glBlendColor is referred to as + + + + R + c + + G + c + + B + c + + A + c + + + . + + + Source and destination scale factors are referred to as + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + . + The scale factors described in the table, + denoted + + + + f + R + + f + G + + f + B + + f + A + + + , + represent either source or destination factors. + All scale factors have range + + + + 0 + 1 + + . + + + Prior to blending, unsigned normalized fixed-point color components undergo + an implied conversion to floating-point using equation 2.1. This conversion must + leave the values 0 and 1 invariant. Blending computations are treated as if carried + out in floating-point and will be performed with a precision and dynamic range no + lower than that used to represent destination components. + If the value of GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the + framebuffer attachment corresponding to the destination buffer is GL_SRGB, + the R, G, and B destination color values (after conversion from fixed-point + to floating-point) are considered to be encoded for the sRGB color space and + hence must be linearized prior to their use in blending. Each R, G, and B component + is converted in the same fashion described for sRGB texture components. + + + + + + + + + + + Parameter + + + + + + + f + R + + f + G + + f + B + + f + A + + + + + + + + + + + GL_ZERO + + + + + + 0 + 0 + 0 + 0 + + + + + + + GL_ONE + + + + + + 1 + 1 + 1 + 1 + + + + + + + GL_SRC_COLOR + + + + + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + A + s + + k + A + + + + + + + + + GL_ONE_MINUS_SRC_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + A + s + + k + A + + + + + + + + + + GL_DST_COLOR + + + + + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + A + d + + k + A + + + + + + + + + GL_ONE_MINUS_DST_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + A + d + + k + A + + + + + + + + + + GL_SRC_ALPHA + + + + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + GL_ONE_MINUS_SRC_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + GL_DST_ALPHA + + + + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + GL_ONE_MINUS_DST_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + GL_CONSTANT_COLOR + + + + + + R + c + + G + c + + B + c + + A + c + + + + + + + + GL_ONE_MINUS_CONSTANT_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + R + c + + G + c + + B + c + + A + c + + + + + + + + + GL_CONSTANT_ALPHA + + + + + + A + c + + A + c + + A + c + + A + c + + + + + + + + GL_ONE_MINUS_CONSTANT_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + A + c + + A + c + + A + c + + A + c + + + + + + + + + GL_SRC_ALPHA_SATURATE + + + + + + i + i + i + 1 + + + + + + + + + In the table, + + + + + + i + = + + + min + + + A + s + + + k + A + + - + A + d + + + + + k + A + + + + + + + To determine the blended RGBA values of a pixel, + the system uses the following equations: + + + + + + R + d + + = + + min + + + k + R + + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + + + G + d + + = + + min + + + k + G + + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + + + B + d + + = + + min + + + k + B + + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + A + d + + = + + min + + + k + A + + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the framebuffer + attachment corresponding to the destination buffer is GL_SRGB, the R, G, and B + values after blending are converted into the non-linear sRGB color space by computing + + where cl is the R, G, or B element and cs is the result (effectively converted into an + sRGB color space). + If GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING is not GL_SRGB, then + cs = cl: + The resulting cs values for R, G, and B, and the unmodified A form a new + RGBA color value. If the color buffer is fixed-point, each component is clamped + to the range [0; 1] and then converted to a fixed-point value using equation + + + Examples + + + + Transparency is best implemented using blend function + (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + with primitives sorted from farthest to nearest. + Note that this transparency calculation does not require + the presence of alpha bitplanes in the frame buffer. + + + Blend function + (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + is also useful for rendering antialiased points and lines + in arbitrary order. + + + Notes + + Incoming (source) alpha is correctly thought of as a material opacity, + ranging from 1.0 + ( + + K + A + + ), + representing complete opacity, + to 0.0 (0), representing complete + transparency. + + + When more than one color buffer is enabled for drawing, + the GL performs blending separately for each enabled buffer, + using the contents of that buffer for destination color. + (See glDrawBuffers.) + + + Errors + + GL_INVALID_ENUM is generated if either sfactor + or dfactor is not an accepted value. + + + Associated Gets + + glGet with argument GL_BLEND_SRC + + + glGet with argument GL_BLEND_DST + + + glIsEnabled with argument GL_BLEND + + + + + + API Version Support + + + + + + glBlendFunc + + + + + + + See Also + + glBlendColor, + glBlendEquation, + glBlendFuncSeparate, + glClear, + glDrawBuffers, + glEnable, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBlendFuncSeparate.xml b/Source/Bind/Specifications/Docs/ES30/glBlendFuncSeparate.xml new file mode 100644 index 00000000..14f4f305 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBlendFuncSeparate.xml @@ -0,0 +1,1151 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendFuncSeparate + 3G + + + glBlendFuncSeparate + specify pixel arithmetic for RGB and alpha components separately + + C Specification + + + void glBlendFuncSeparate + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + + Parameters + + + srcRGB + + + Specifies how the red, green, and blue blending factors are computed. + The initial value is GL_ONE. + + + + + dstRGB + + + Specifies how the red, green, and blue destination blending factors are + computed. + The initial value is GL_ZERO. + + + + + srcAlpha + + + Specified how the alpha source blending factor is computed. + The initial value is GL_ONE. + + + + + dstAlpha + + + Specified how the alpha destination blending factor is computed. + The initial value is GL_ZERO. + + + + + + Description + + Pixels can be drawn using a function that blends + the incoming (source) RGBA values with the RGBA values + that are already in the frame buffer (the destination values). + Blending is initially disabled. + Use glEnable and glDisable with argument GL_BLEND + to enable and disable blending. + + + glBlendFuncSeparate defines the operation of blending when it is enabled. + srcRGB specifies which method is used to scale the + source RGB-color components. + dstRGB specifies which method is used to scale the + destination RGB-color components. + Likewise, srcAlpha specifies which method is used to scale the source alpha + color component, and dstAlpha specifies which method is used to scale the + destination alpha component. + The possible methods are described in the following table. + Each method defines four scale factors, + one each for red, green, blue, and alpha. + + + In the table and in subsequent equations, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + , + and + + + + R + d + + G + d + + B + d + + A + d + + + , respectively. + The color specified by glBlendColor is referred to as + + + + R + c + + G + c + + B + c + + A + c + + + . + + + Source and destination scale factors are referred to as + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + . + All scale factors have range + + + + 0 + 1 + + . + + + Prior to blending, unsigned normalized fixed-point color components undergo + an implied conversion to floating-point using equation 2.1. This conversion must + leave the values 0 and 1 invariant. Blending computations are treated as if carried + out in floating-point and will be performed with a precision and dynamic range no + lower than that used to represent destination components. + If the value of GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the + framebuffer attachment corresponding to the destination buffer is GL_SRGB, + the R, G, and B destination color values (after conversion from fixed-point + to floating-point) are considered to be encoded for the sRGB color space and + hence must be linearized prior to their use in blending. Each R, G, and B component + is converted in the same fashion described for sRGB texture components. + + + + + + + + + + + + Parameter + + + RGB Factor + + + Alpha Factor + + + + + + + GL_ZERO + + + + + + 0 + 0 + 0 + + + + + + + 0 + + + + + + GL_ONE + + + + + + 1 + 1 + 1 + + + + + + + 1 + + + + + + GL_SRC_COLOR + + + + + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + + + + + + + A + s + + k + A + + + + + + + + GL_ONE_MINUS_SRC_COLOR + + + + + + + 1 + 1 + 1 + + - + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + + + + + + + + 1 + - + + A + s + + k + A + + + + + + + + + GL_DST_COLOR + + + + + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + + + + + + + A + d + + k + A + + + + + + + + GL_ONE_MINUS_DST_COLOR + + + + + + + 1 + 1 + 1 + + - + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + + + + + + + + 1 + - + + A + d + + k + A + + + + + + + + + GL_SRC_ALPHA + + + + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + A + s + + k + A + + + + + + + + GL_ONE_MINUS_SRC_ALPHA + + + + + + + 1 + 1 + 1 + + - + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + + 1 + - + + A + s + + k + A + + + + + + + + + GL_DST_ALPHA + + + + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + A + d + + k + A + + + + + + + + GL_ONE_MINUS_DST_ALPHA + + + + + + + 1 + 1 + 1 + + - + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + + 1 + - + + A + d + + k + A + + + + + + + + + GL_CONSTANT_COLOR + + + + + + R + c + + G + c + + B + c + + + + + + + + A + c + + + + + + + GL_ONE_MINUS_CONSTANT_COLOR + + + + + + + 1 + 1 + 1 + + - + + R + c + + G + c + + B + c + + + + + + + + + + 1 + - + A + c + + + + + + + + GL_CONSTANT_ALPHA + + + + + + A + c + + A + c + + A + c + + + + + + + + A + c + + + + + + + GL_ONE_MINUS_CONSTANT_ALPHA + + + + + + + 1 + 1 + 1 + + - + + A + c + + A + c + + A + c + + + + + + + + + + 1 + - + A + c + + + + + + + + GL_SRC_ALPHA_SATURATE + + + + + + i + i + i + + + + + + + 1 + + + + + + + + In the table, + + + + + + i + = + + min + + + A + s + + + 1 + - + + A + d + + + + + + + + + + To determine the blended RGBA values of a pixel, + the system uses the following equations: + + + + + + R + d + + = + + min + + + k + R + + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + + + G + d + + = + + min + + + k + G + + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + + + B + d + + = + + min + + + k + B + + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + A + d + + = + + min + + + k + A + + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the framebuffer + attachment corresponding to the destination buffer is GL_SRGB, the R, G, and B + values after blending are converted into the non-linear sRGB color space by computing + + where cl is the R, G, or B element and cs is the result (effectively converted into an + sRGB color space). + If GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING is not GL_SRGB, then + cs = cl: + The resulting cs values for R, G, and B, and the unmodified A form a new + RGBA color value. If the color buffer is fixed-point, each component is clamped + to the range [0; 1] and then converted to a fixed-point value using equation + + + Notes + + Incoming (source) alpha is correctly thought of as a material opacity, + ranging from 1.0 + ( + + K + A + + ), + representing complete opacity, + to 0.0 (0), representing complete + transparency. + + + When more than one color buffer is enabled for drawing, + the GL performs blending separately for each enabled buffer, + using the contents of that buffer for destination color. + (See glDrawBuffers.) + + + Errors + + GL_INVALID_ENUM is generated if either srcRGB or dstRGB is not an + accepted value. + + + Associated Gets + + glGet with argument GL_BLEND_SRC_RGB + + + glGet with argument GL_BLEND_SRC_ALPHA + + + glGet with argument GL_BLEND_DST_RGB + + + glGet with argument GL_BLEND_DST_ALPHA + + + glIsEnabled with argument GL_BLEND + + + + + + API Version Support + + + + + + glBlendFuncSeparate + + + + + + + See Also + + glBlendColor, + glBlendFunc, + glBlendEquation, + glBlendEquationSeparate, + glClear, + glDrawBuffers, + glEnable, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBlitFramebuffer.xml b/Source/Bind/Specifications/Docs/ES30/glBlitFramebuffer.xml new file mode 100644 index 00000000..7df81c7f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBlitFramebuffer.xml @@ -0,0 +1,198 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBlitFramebuffer + 3G + + + glBlitFramebuffer + copy a block of pixels from the read framebuffer to the draw framebuffer + + C Specification + + + void glBlitFramebuffer + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + + + + Parameters + + + srcX0 + srcY0 + srcX1 + srcY1 + + + Specify the bounds of the source rectangle within the read buffer of the read framebuffer. + + + + + dstX0 + dstY0 + dstX1 + dstY1 + + + Specify the bounds of the destination rectangle within the write buffer of the write framebuffer. + + + + + mask + + + The bitwise OR of the flags indicating which buffers are to be copied. The allowed flags are + GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT and GL_STENCIL_BUFFER_BIT. + + + + + filter + + + Specifies the interpolation to be applied if the image is stretched. Must be GL_NEAREST or GL_LINEAR. + + + + + + Description + + glBlitFramebuffer transfers a rectangle of pixel values from one region of the read framebuffer to another region in + the draw framebuffer. mask is the bitwise OR of a number of values indicating which buffers are + to be copied. The values are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, and + GL_STENCIL_BUFFER_BIT. The pixels corresponding to these buffers are copied from the source rectangle bounded by the + locations (srcX0; srcY0) and (srcX1; srcY1) + to the destination rectangle bounded by the locations (dstX0; dstY0) and + (dstX1; dstY1). The lower bounds of the rectangle are inclusive, while the upper + bounds are exclusive. + + + The actual region taken from the read framebuffer is limited to the intersection of the source buffers being transferred, which may + include the color buffer selected by the read buffer, the depth buffer, and/or the stencil buffer depending on mask. The actual region + written to the draw framebuffer is limited to the intersection of the destination buffers being written, which may include multiple draw + buffers, the depth buffer, and/or the stencil buffer depending on mask. Whether or not the source or destination regions are altered due + to these limits, the scaling and offset applied to pixels being transferred is performed as though no such limits were present. + + + If the sizes of the source and destination rectangles are not equal, filter specifies the interpolation method that + will be applied to resize the source image , and must be GL_NEAREST or GL_LINEAR. + GL_LINEAR is only a valid interpolation method for the color buffer. If filter is not + GL_NEAREST and mask includes GL_DEPTH_BUFFER_BIT or + GL_STENCIL_BUFFER_BIT, no data is transferred and a GL_INVALID_OPERATION error is generated. + + + If filter is GL_LINEAR and the source rectangle would require sampling outside the bounds of + the source framebuffer, values are read as if the GL_CLAMP_TO_EDGE texture wrapping mode were applied. + + + When the color buffer is transferred, values are taken from the read buffer of the read framebuffer and written to each of the draw + buffers of the draw framebuffer. + + + If the source and destination rectangles overlap or are the same, and the read and draw buffers are the same, the result of the operation + is undefined. + + + If SAMPLE_BUFFERS for the read framebuffer is greater than zero and SAMPLE_BUFFERS for the + draw framebuffer is zero, the samples corresponding to each pixel location in the source are converted to a single sample before being + written to the destination. + + + Errors + + GL_INVALID_OPERATION is generated if mask contains any of the GL_DEPTH_BUFFER_BIT + or GL_STENCIL_BUFFER_BIT and filter is not GL_NEAREST. + + + GL_INVALID_OPERATION is generated if mask contains GL_COLOR_BUFFER_BIT + and any of the following conditions hold: + + + The read buffer contains fixed-point or floating-point values and any draw buffer contains + neither fixed-point nor floating-point values. + + + The read buffer contains unsigned integer values and any draw buffer does not contain unsigned + integer values. + + + The read buffer contains signed integer values and any draw buffer does not contain signed integer values. + + + + + GL_INVALID_OPERATION is generated if mask contains GL_DEPTH_BUFFER_BIT or + GL_DEPTH_BUFFER_BIT and the source and destination depth and stencil formats do not match. + + + GL_INVALID_OPERATION is generated if filter is GL_LINEAR and the read buffer + contains integer data. + + + GL_INVALID_OPERATION is generated if the value of GL_SAMPLE_BUFFERS for the draw buffer is + greater than zero. + + + GL_INVALID_OPERATION is generated if GL_SAMPLE_BUFFERS for the read buffer is greater than + zero and the formats of draw and read buffers are not identical, or the source and destination rectangles are not defined with the same + (X0, Y0) and (X1, Y1) bounds. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the objects bound to GL_DRAW_FRAMEBUFFER_BINDING + or GL_READ_FRAMEBUFFER_BINDING are not framebuffer complete. + + + + API Version Support + + + + + + glBlitFramebuffer + + + + + + + See Also + + glReadPixels + glCheckFramebufferStatus, + glGenFramebuffers + glBindFramebuffer + glDeleteFramebuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBufferData.xml b/Source/Bind/Specifications/Docs/ES30/glBufferData.xml new file mode 100644 index 00000000..e7ebc5f6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBufferData.xml @@ -0,0 +1,227 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glBufferData + 3G + + + glBufferData + creates and initializes a buffer object's data store + + C Specification + + + void glBufferData + GLenum target + GLsizeiptr size + const GLvoid * data + GLenum usage + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + size + + + Specifies the size in bytes of the buffer object's new data store. + + + + + data + + + Specifies a pointer to data that will be copied into the data store for initialization, + or NULL if no data is to be copied. + + + + + usage + + + Specifies the expected usage pattern of the data store. The symbolic constant must be + GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, + GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, + GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. + + + + + + Description + + glBufferData creates a new data store for the buffer object currently bound to + target. Any pre-existing data store is deleted. The new data store is created with the + specified size in bytes and usage. If data + is not NULL, the data store is initialized with data from this pointer. In its initial + state, the new data store is not mapped, it has a NULL mapped pointer, and its mapped access + is GL_READ_WRITE. + + + usage is a hint to the GL implementation as to how a buffer object's data store will be + accessed. This enables the GL implementation to make more intelligent decisions that may significantly + impact buffer object performance. It does not, however, constrain the actual usage of the data store. + usage can be broken down into two parts: first, the frequency of access (modification + and usage), and second, the nature of that access. The frequency of access may be one of these: + + + + STREAM + + + The data store contents will be modified once and used at most a few times. + + + + + STATIC + + + The data store contents will be modified once and used many times. + + + + + DYNAMIC + + + The data store contents will be modified repeatedly and used many times. + + + + + + The nature of access may be one of these: + + + + DRAW + + + The data store contents are modified by the application, and used as the source for GL drawing and + image specification commands. + + + + + READ + + + The data store contents are modified by reading data from the GL, and used to return that data + when queried by the application. + + + + + COPY + + + The data store contents are modified by reading data from the GL, and used as the source for GL + drawing and image specification commands. + + + + + + Notes + + If data is NULL, a data store of the specified size is still created, + but its contents remain uninitialized and thus undefined. + + + Clients must align data elements consistently with the requirements of the client + platform, with an additional base-level requirement that an offset within a buffer to + a datum comprising N bytes be a + multiple of N. + + + Errors + + GL_INVALID_ENUM is generated if target is not + one of the accepted buffer targets. + + + GL_INVALID_ENUM is generated if usage is not + GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, + GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, + GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. + + + GL_INVALID_VALUE is generated if size is negative. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store with the specified size. + + + Associated Gets + + glGetBufferParameter with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE + + + + API Version Support + + + + + + glBufferData + + + + + + + See Also + + glBindBuffer, + glBufferSubData, + glMapBufferRange, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glBufferSubData.xml b/Source/Bind/Specifications/Docs/ES30/glBufferSubData.xml new file mode 100644 index 00000000..41c30a52 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glBufferSubData.xml @@ -0,0 +1,156 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glBufferSubData + 3G + + + glBufferSubData + updates a subset of a buffer object's data store + + C Specification + + + void glBufferSubData + GLenum target + GLintptr offset + GLsizeiptr size + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + offset + + + Specifies the offset into the buffer object's data store where data replacement will begin, + measured in bytes. + + + + + size + + + Specifies the size in bytes of the data store region being replaced. + + + + + data + + + Specifies a pointer to the new data that will be copied into the data store. + + + + + + Description + + glBufferSubData redefines some or all of the data store for the buffer object currently + bound to target. Data starting at byte offset offset and + extending for size bytes is copied to the data store from the memory pointed to by + data. An error is thrown if offset and size + together define a range beyond the bounds of the buffer object's data store. + + + Notes + + When replacing the entire data store, consider using glBufferSubData rather + than completely recreating the data store with glBufferData. This avoids the cost of + reallocating the data store. + + + Consider using multiple buffer objects to avoid stalling the rendering pipeline during data store updates. + If any rendering in the pipeline makes reference to data in the buffer object being updated by + glBufferSubData, especially from the specific region being updated, that rendering must + drain from the pipeline before the data store can be updated. + + + Clients must align data elements consistently with the requirements of the client + platform, with an additional base-level requirement that an offset within a buffer to + a datum comprising N bytes be a + multiple of N. + + + Errors + + GL_INVALID_ENUM is generated if target is not + one of the accepted buffer targets. + + + GL_INVALID_VALUE is generated if offset or + size is negative, or if together they define a region of memory + that extends beyond the buffer object's allocated data store. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_INVALID_OPERATION is generated if the buffer object being updated is mapped. + + + + API Version Support + + + + + + glBufferSubData + + + + + + + See Also + + glBindBuffer, + glBufferData, + glMapBufferRange, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCheckFramebufferStatus.xml b/Source/Bind/Specifications/Docs/ES30/glCheckFramebufferStatus.xml new file mode 100644 index 00000000..453f27c9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCheckFramebufferStatus.xml @@ -0,0 +1,119 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glCheckFramebufferStatus + 3G + + + glCheckFramebufferStatus + check the completeness status of a framebuffer + + C Specification + + + GLenum glCheckFramebufferStatus + GLenum target + + + + Parameters + + + target + + + Specify the target of the framebuffer completeness check. + + + + + + Description + + glCheckFramebufferStatus queries the completeness status of the framebuffer object currently bound to target. + target must be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. + GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER. + + + The return value is GL_FRAMEBUFFER_COMPLETE if the framebuffer bound to target is complete. Otherwise, + the return value is determined as follows: + + + + GL_FRAMEBUFFER_UNDEFINED is returned if target is the default framebuffer, but the default framebuffer does not exist. + + + + + GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT is returned if any of the framebuffer attachment points are framebuffer incomplete. + + + + + GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT is returned if the framebuffer does not have at least one image attached to it. + + + + + GL_FRAMEBUFFER_UNSUPPORTED is returned if depth and stencil attachments, if present, are not the same renderbuffer, or if + the combination of internal formats of the attached images violates an implementation-dependent set of restrictions. + + + + + GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE is returned if the value of GL_RENDERBUFFER_SAMPLES is not the same + for all attached renderbuffers or, if the attached images are a mix of renderbuffers and textures, the value of GL_RENDERBUFFER_SAMPLES + is not zero. + + + + + + Additionally, if an error occurs, zero is returned. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. + + + + API Version Support + + + + + + glCheckFramebufferStatus + + + + + + + See Also + + glGenFramebuffers, + glDeleteFramebuffers + glBindFramebuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glClear.xml b/Source/Bind/Specifications/Docs/ES30/glClear.xml new file mode 100644 index 00000000..c64c3f61 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glClear.xml @@ -0,0 +1,166 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glClear + 3G + + + glClear + clear buffers to preset values + + C Specification + + + void glClear + GLbitfield mask + + + + Parameters + + + mask + + + Bitwise OR of masks that indicate the buffers to be cleared. + The three masks are + GL_COLOR_BUFFER_BIT, + GL_DEPTH_BUFFER_BIT, and + GL_STENCIL_BUFFER_BIT. + + + + + + Description + + glClear sets the bitplane area of the window to values previously selected + by glClearColor, glClearDepthf, and + glClearStencil. + Multiple color buffers can be cleared simultaneously by selecting + more than one buffer at a time using glDrawBuffers. + + + The pixel ownership test, + the scissor test, + sRGB conversion, + dithering, and the buffer writemasks affect the operation of glClear. + The scissor box bounds the cleared region. + Alpha function, + blend function, + stenciling, + texture mapping, + and depth-buffering are ignored by glClear. + + + glClear takes a single argument that is the bitwise OR of several + values indicating which buffer is to be cleared. + + + The values are as follows: + + + + GL_COLOR_BUFFER_BIT + + + Indicates the buffers currently enabled for color + writing. + + + + + GL_DEPTH_BUFFER_BIT + + + Indicates the depth buffer. + + + + + GL_STENCIL_BUFFER_BIT + + + Indicates the stencil buffer. + + + + + + The value to which each buffer is cleared depends on the setting of the + clear value for that buffer. + + + Notes + + If a buffer is not present, + then a glClear directed at that buffer has no effect. + + + Errors + + GL_INVALID_VALUE is generated if any bit other than the three defined + bits is set in mask. + + + Associated Gets + + glGet with argument GL_DEPTH_CLEAR_VALUE + + + glGet with argument GL_COLOR_CLEAR_VALUE + + + glGet with argument GL_STENCIL_CLEAR_VALUE + + + + API Version Support + + + + + + glClear + + + + + + + See Also + + glClearBuffer, + glClearColor, + glClearDepthf, + glClearStencil, + glColorMask, + glDepthMask, + glDrawBuffers, + glScissor, + glStencilMask + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glClearBuffer.xml b/Source/Bind/Specifications/Docs/ES30/glClearBuffer.xml new file mode 100644 index 00000000..c501f39e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glClearBuffer.xml @@ -0,0 +1,196 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glClearBuffer + 3G + + + glClearBuffer + clear individual buffers of the currently bound draw framebuffer + + C Specification + + + void glClearBufferiv + GLenum buffer + GLint drawBuffer + const GLint * value + + + + + void glClearBufferuiv + GLenum buffer + GLint drawBuffer + const GLuint * value + + + + + void glClearBufferfv + GLenum buffer + GLint drawBuffer + const GLfloat * value + + + + + void glClearBufferfi + GLenum buffer + GLint drawBuffer + GLfloat depth + GLint stencil + + + + Parameters + + + buffer + + + Specify the buffer to clear. + + + + + drawBuffer + + + Specify a particular draw buffer to clear. + + + + + value + + + For color buffers, a pointer to a four-element vector specifying R, G, B and A values to clear the buffer to. + For depth buffers, a pointer to a single depth value to clear the buffer to. + For stencil buffers, a pointer to a single stencil value to clear the buffer to. + + + + + depth + + + The value to clear a depth render buffer to. + + + + + stencil + + + The value to clear a stencil render buffer to. + + + + + + Description + + glClearBuffer* clears the specified buffer to the specified value(s). If buffer is + GL_COLOR, a particular draw buffer GL_DRAWBUFFERi is specified + by passing i as drawBuffer. In this case, value points to + a four-element vector specifying the R, G, B and A color to clear that draw buffer to. The glClearBufferfv, + glClearBufferiv, and glClearBufferuiv commands should be used to clear fixed-point, + signed integer, and unsigned integer color buffers respectively. Clamping and conversion for fixed-point color + buffers are performed in the same fashion as glClearColor. + + + If buffer is GL_DEPTH, drawBuffer must be zero, and value + points to a single value to clear the depth buffer to. Only glClearBufferfv should be used to clear + depth buffers. Clamping and conversion for fixed-point depth buffers are performed in the same fashion as + glClearDepthf. + + + If buffer is GL_STENCIL, drawBuffer must be zero, and value + points to a single value to clear the stencil buffer to. Only glClearBufferiv should be used to clear + stencil buffers. Masing and type conversion are performed in the same fashion as + glClearStencil. + + + glClearBufferfi may be used to clear the depth and stencil buffers. buffer must be + GL_DEPTH_STENCIL and drawBuffer must be zero. depth and + stencil are the depth and stencil values, respectively. + + + The result of glClearBuffer is undefined if no conversion between the type of value + and the buffer being cleared is defined. However, this is not an error. + + + Errors + + GL_INVALID_ENUM is generated by glClearBufferif, glClearBufferfv + and glClearBufferuiv if buffer is not GL_COLOR, + GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, + GL_FRONT_AND_BACK, GL_DEPTH or GL_STENCIL. + + + GL_INVALID_ENUM is generated by glClearBufferfi if buffer + is not GL_DEPTH_STENCIL. + + + GL_INVALID_VALUE is generated if buffer is GL_COLOR, + GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, + or GL_FRONT_AND_BACK and drawBuffer is greater than or equal to GL_MAX_DRAW_BUFFERS. + + + GL_INVALID_VALUE is generated if buffer is GL_DEPTH, + GL_STENCIL or GL_DEPTH_STENCIL and drawBuffer is not zero. + + + + API Version Support + + + + + + glClearBufferiv + + + + glClearBufferuiv + + + + glClearBufferfv + + + + glClearBufferfi + + + + + + + See Also + + glClearColor, + glClearDepthf, + glClearStencil, + glClear + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glClearColor.xml b/Source/Bind/Specifications/Docs/ES30/glClearColor.xml new file mode 100644 index 00000000..df1c7b75 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glClearColor.xml @@ -0,0 +1,104 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glClearColor + 3G + + + glClearColor + specify clear values for the color buffers + + C Specification + + + void glClearColor + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + Parameters + + + red + green + blue + alpha + + + Specify the red, green, blue, and alpha values used when the + color buffers are cleared. + The initial values are all 0. + + + + + + Description + + glClearColor specifies the red, + green, + blue, + and alpha values used by glClear to clear fixed- and + floating-point color buffers. + Unsigned normalized fixed point RGBA color buffers are cleared to color values derived by clamping each component of + the clear color to the range + + + + 0 + 1 + + , + then converting the (possibly sRGB converted and/or dithered) color to fixed-point. + + + Associated Gets + + glGet with argument GL_COLOR_CLEAR_VALUE + + + + API Version Support + + + + + + glClearColor + + + + + + + See Also + + glClear + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glClearDepthf.xml b/Source/Bind/Specifications/Docs/ES30/glClearDepthf.xml new file mode 100644 index 00000000..d07d4e20 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glClearDepthf.xml @@ -0,0 +1,92 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glClearDepthf + 3G + + + glClearDepthf + specify the clear value for the depth buffer + + C Specification + + + void glClearDepthf + GLfloat depth + + + + Parameters + + + depth + + + Specifies the depth value used when the depth buffer is cleared. The + initial value is 1. + + + + + + Description + + glClearDepthf specifies the depth value used by glClear to clear the depth buffer. + When clearing a fixed-point depth buffer, values specified by glClearDepthf are clamped to the range + + + + 0 + 1 + + , + and converted to fixed-point. No clamping or conversion is applied when clearing a floating-point depth buffer. + + + Associated Gets + + glGet with argument GL_DEPTH_CLEAR_VALUE + + + + API Version Support + + + + + + glClearDepthf + + + + + + + See Also + + glClear + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glClearStencil.xml b/Source/Bind/Specifications/Docs/ES30/glClearStencil.xml new file mode 100644 index 00000000..49feb42c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glClearStencil.xml @@ -0,0 +1,106 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glClearStencil + 3G + + + glClearStencil + specify the clear value for the stencil buffer + + C Specification + + + void glClearStencil + GLint s + + + + Parameters + + + s + + + Specifies the index used when the stencil buffer is cleared. + The initial value is 0. + + + + + + Description + + glClearStencil specifies the index used by glClear to clear the stencil buffer. + When clearing a stencil buffer, s is masked with + + + + 2 + m + + - + 1 + + , + where + m + is the number of bits in the stencil buffer. + + + Associated Gets + + glGet with argument GL_STENCIL_CLEAR_VALUE + + + glGet with argument GL_STENCIL_BITS + + + + API Version Support + + + + + + glClearStencil + + + + + + + See Also + + glClear, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glClientWaitSync.xml b/Source/Bind/Specifications/Docs/ES30/glClientWaitSync.xml new file mode 100644 index 00000000..b6b4d831 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glClientWaitSync.xml @@ -0,0 +1,129 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glClientWaitSync + 3G + + + glClientWaitSync + block and wait for a sync object to become signaled + + C Specification + + + GLenum glClientWaitSync + GLsync sync + GLbitfield flags + GLuint64 timeout + + + + Parameters + + + sync + + + The sync object whose status to wait on. + + + + + flags + + + A bitfield controlling the command flushing behavior. flags may be GL_SYNC_FLUSH_COMMANDS_BIT. + + + + + timeout + + + The timeout, specified in nanoseconds, for which the implementation should wait for sync to become signaled. + + + + + + Description + + glClientWaitSync causes the client to block and wait for the sync object specified by sync to become signaled. If + sync is signaled when glClientWaitSync is called, glClientWaitSync returns immediately, otherwise + it will block and wait for up to timeout nanoseconds for sync to become signaled. + + + The return value is one of four status values: + + + + GL_ALREADY_SIGNALED indicates that sync was signaled at the time that glClientWaitSync + was called. + + + + + GL_TIMEOUT_EXPIRED indicates that at least timeout nanoseconds passed and sync did not + become signaled. + + + + + GL_CONDITION_SATISFIED indicates that sync was signaled before the timeout expired. + + + + + GL_WAIT_FAILED indicates that an error occurred. Additionally, an OpenGL error will be generated. + + + + + + Errors + + GL_INVALID_VALUE is generated if sync is not the name of an existing sync object. + + + GL_INVALID_VALUE is generated if flags contains any unsupported flag. + + + + API Version Support + + + + + + glClientWaitSync + + + + + + + See Also + + glFenceSync, + glIsSync + glWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glColorMask.xml b/Source/Bind/Specifications/Docs/ES30/glColorMask.xml new file mode 100644 index 00000000..9d92677f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glColorMask.xml @@ -0,0 +1,104 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glColorMask + 3G + + + glColorMask + enable and disable writing of frame buffer color components + + C Specification + + + void glColorMask + GLboolean red + GLboolean green + GLboolean blue + GLboolean alpha + + + + Parameters + + + red + green + blue + alpha + + + Specify whether red, green, blue, and alpha are to be written + into the frame buffer. + The initial values are all GL_TRUE, + indicating that the color components are written. + + + + + + Description + + glColorMask specifies whether the individual color components in the frame buffer + can or cannot be written. glColorMask sets the mask for all active draw buffers. + If red is GL_FALSE, + for example, + no change is made to the red component of any pixel in any of the + color buffers, + regardless of the drawing operation attempted. + + + Changes to individual bits of components cannot be controlled. + Rather, + changes are either enabled or disabled for entire color components. + + + Associated Gets + + glGet with argument GL_COLOR_WRITEMASK + + + + API Version Support + + + + + + glColorMask + + + + + + + See Also + + glClear, + glDepthMask, + glStencilMask + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCompileShader.xml b/Source/Bind/Specifications/Docs/ES30/glCompileShader.xml new file mode 100644 index 00000000..2a1a9f6e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCompileShader.xml @@ -0,0 +1,110 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glCompileShader + 3G + + + glCompileShader + Compiles a shader object + + C Specification + + + void glCompileShader + GLuint shader + + + + Parameters + + + shader + + Specifies the shader object to be + compiled. + + + + + Description + glCompileShader compiles the source + code strings that have been stored in the shader object + specified by shader. + + The compilation status will be stored as part of the + shader object's state. This value will be set to + GL_TRUE if the shader was compiled without + errors and is ready for use, and GL_FALSE + otherwise. It can be queried by calling + glGetShaderiv + with arguments shader and + GL_COMPILE_STATUS. + + Compilation of a shader can fail for a number of reasons + as specified by the OpenGL ES Shading Language Specification. + Whether or not the compilation was successful, information about + the compilation can be obtained from the shader object's + information log by calling + glGetShaderInfoLog. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + + Associated Gets + glGetShaderInfoLog + with argument shader + + glGetShaderiv + with arguments shader and + GL_COMPILE_STATUS + glIsShader + + + API Version Support + + + + + + glCompileShader + + + + + + + See Also + glCreateShader, + glLinkProgram, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCompressedTexImage2D.xml b/Source/Bind/Specifications/Docs/ES30/glCompressedTexImage2D.xml new file mode 100644 index 00000000..de8f7e49 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCompressedTexImage2D.xml @@ -0,0 +1,236 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCompressedTexImage2D + 3G + + + glCompressedTexImage2D + specify a two-dimensional texture image in a compressed format + + C Specification + + + void glCompressedTexImage2D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLint border + GLsizei imageSize + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the format of the compressed image data stored at address data. + + + + + width + + + Specifies the width of the texture image. + All implementations support 2D and cube-mapped texture images that are at least 2048 texels + wide. + + + + + height + + + Specifies the height of the texture image. + All implementations support 2D and cube-mapped texture images that are at least 2048 texels + high. + + + + + border + + + This value must be 0. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glCompressedTexImage2D loads a previously defined, and retrieved, compressed two-dimensional + texture image if target is GL_TEXTURE_2D, or one of the + cube map faces such as GL_TEXTURE_CUBE_MAP_POSITIVE_X. + (see glTexImage2D). + + + internalformat must be a compressed image format from Table 1 below, + or an extension-specified compressed-texture format. + + + imageSize must be appropriate for the width, height and + depth of the internalformat specified. The size for an ETC/EAC image + is given in Table 1 below. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + + + + Errors + + GL_INVALID_ENUM is generated if internalformat is not one of the specific + compressed internal formats: + GL_COMPRESSED_R11_EAC, + GL_COMPRESSED_SIGNED_R11_EAC, + GL_COMPRESSED_RG11_EAC, + GL_COMPRESSED_SIGNED_RG11_EAC, + GL_COMPRESSED_RGB8_ETC2, + GL_COMPRESSED_SRGB8_ETC2, + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_RGBA8_ETC2_EAC, or + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glCompressedTexImage2D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCompressedTexImage3D.xml b/Source/Bind/Specifications/Docs/ES30/glCompressedTexImage3D.xml new file mode 100644 index 00000000..b919c4f5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCompressedTexImage3D.xml @@ -0,0 +1,235 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCompressedTexImage3D + 3G + + + glCompressedTexImage3D + specify a three-dimensional texture image in a compressed format + + C Specification + + + void glCompressedTexImage3D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLsizei imageSize + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D, or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the format of the compressed image data stored at address data. + + + + + width + + + Specifies the width of the texture image. + + + + + height + + + Specifies the height of the texture image. + + + + + depth + + + Specifies the depth of the texture image. + + + + + border + + + This value must be 0. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glCompressedTexImage3D loads a previously defined, and retrieved, compressed three-dimensional + texture image if target is GL_TEXTURE_3D (see glTexImage3D). + + + If target is GL_TEXTURE_2D_ARRAY, data is + treated as an array of compressed 2D textures. + + + internalformat must be a compressed image format from Table 1 below, + or an extension-specified compressed-texture format. + + + imageSize must be appropriate for the width, height and + depth of the internalformat specified. The size for a single slice of ETC/EAC + is given in Table 1 below. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + + + + Errors + + GL_INVALID_ENUM is generated if internalformat is not one of the specific + compressed internal formats: + GL_COMPRESSED_R11_EAC, + GL_COMPRESSED_SIGNED_R11_EAC, + GL_COMPRESSED_RG11_EAC, + GL_COMPRESSED_SIGNED_RG11_EAC, + GL_COMPRESSED_RGB8_ETC2, + GL_COMPRESSED_SRGB8_ETC2, + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_RGBA8_ETC2_EAC, or + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image data. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. The ETC2/EAC texture compression algorithm + supports only two-dimensional images. If internalformat is an ETC2/EAC format, + glCompressedTexImage3D will generate an INVALID_OPERATION error if target is not TEXTURE_2D_ARRAY. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glCompressedTexImage3D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCompressedTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES30/glCompressedTexSubImage2D.xml new file mode 100644 index 00000000..d2c74321 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCompressedTexSubImage2D.xml @@ -0,0 +1,263 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCompressedTexSubImage2D + 3G + + + glCompressedTexSubImage2D + specify a two-dimensional texture subimage in a compressed format + + C Specification + + + void glCompressedTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + format + + + Specifies the format of the compressed image data stored at address data. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glCompressedTexSubImage2D redefines a contiguous subregion of an existing two-dimensional + texture image. The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + and the y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive. + This region may not include any texels + outside the range of the texture array as it was originally specified. It + is not an error to specify a subtexture with width of 0, but such a + specification has no effect. + + + format must be a known compressed image format (such as GL_COMPRESSED_R11_EAC) + or an extension-specified compressed-texture format. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Errors + + GL_INVALID_ENUM is generated if format is not one of the specific + compressed internal formats: + GL_COMPRESSED_R11_EAC, + GL_COMPRESSED_SIGNED_R11_EAC, + GL_COMPRESSED_RG11_EAC, + GL_COMPRESSED_SIGNED_RG11_EAC, + GL_COMPRESSED_RGB8_ETC2, + GL_COMPRESSED_SRGB8_ETC2, + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_RGBA8_ETC2_EAC, or + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + For ETC2/EAC images GL_INVALID_OPERATION is generated if width + is not a multiple of four, and width + xoffset is not equal + to the width of the texture level; if height is not a multiple of four, + and height + yoffset is not equal to the height of the texture level; + or if xoffset or yoffset is not a multiple of four. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glCompressedTexSubImage2D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage3D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCompressedTexSubImage3D.xml b/Source/Bind/Specifications/Docs/ES30/glCompressedTexSubImage3D.xml new file mode 100644 index 00000000..48237680 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCompressedTexSubImage3D.xml @@ -0,0 +1,286 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCompressedTexSubImage3D + 3G + + + glCompressedTexSubImage3D + specify a three-dimensional texture subimage in a compressed format + + C Specification + + + void glCompressedTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + zoffset + + + Specifies a texel offset in the z direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + depth + + + Specifies the depth of the texture subimage. + + + + + format + + + Specifies the format of the compressed image data stored at address data. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glCompressedTexSubImage3D redefines a contiguous subregion of an existing three-dimensional + or two-dimensional array texture image. The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + and the y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + and the z indices zoffset and + + + + zoffset + + + depth + - + 1 + + , + inclusive. This region may not include + any texels outside the range of the texture array as it was originally + specified. It is not an error to specify a subtexture with width of 0, + but such a specification has no effect. + + + internalformat must be a known compressed image format (such as GL_COMPRESSED_R11_EAC) + or an extension-specified compressed-texture format. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Errors + + GL_INVALID_ENUM is generated if format is not one of the specific + compressed internal formats: + GL_COMPRESSED_R11_EAC, + GL_COMPRESSED_SIGNED_R11_EAC, + GL_COMPRESSED_RG11_EAC, + GL_COMPRESSED_SIGNED_RG11_EAC, + GL_COMPRESSED_RGB8_ETC2, + GL_COMPRESSED_SRGB8_ETC2, + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_RGBA8_ETC2_EAC, or + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. For ETC2/EAC images GL_INVALID_OPERATION + is generated if width + is not a multiple of four, and width + xoffset is not equal + to the width of the texture level; if height is not a multiple of four, + and height + yoffset is not equal to the height of the texture level; + or if xoffset or yoffset is not a multiple of four. The ETC2/EAC + texture compression algorithm supports only two-dimensional images. If internalformat is an ETC2/EAC format, + glCompressedTexSubImage3D will generate an GL_INVALID_OPERATION error + if target is not GL_TEXTURE_2D_ARRAY. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glCompressedTexSubImage3D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCopyBufferSubData.xml b/Source/Bind/Specifications/Docs/ES30/glCopyBufferSubData.xml new file mode 100644 index 00000000..cd55ccca --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCopyBufferSubData.xml @@ -0,0 +1,151 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glCopyBufferSubData + 3G + + + glCopyBufferSubData + copy part of the data store of a buffer object to the data store of another buffer object + + C Specification + + + void glCopyBufferSubData + GLenum readtarget + GLenum writetarget + GLintptr readoffset + GLintptr writeoffset + GLsizeiptr size + + + + Parameters + + + readtarget + + + Specifies the target from whose data store data should be read. + + + + + writetarget + + + Specifies the target to whose data store data should be written. + + + + + readoffset + + + Specifies the offset, in basic machine units, within the data store of readtarget from which data should be read. + + + + + writeoffset + + + Specifies the offset, in basic machine units, within the data store of writetarget to which data should be written. + + + + + size + + + Specifies the size, in basic machine units, of the data to be copied from readtarget to writetarget. + + + + + + Description + + glCopyBufferSubData copies part of the data store attached to readtarget to the + data store attached to writetarget. The number of basic machine units indicated by size + is copied from the source, at offset readoffset to the destination at writeoffset, + also in basic machine units. + + + readtarget and writetarget must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. Any of these targets may be used, + although the targets GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER are provided + specifically to allow copies between buffers without disturbing other GL state. + + + readoffset, writeoffset and size must all be greater than or equal to + zero. Furthermore, readoffset + size must not exceeed the size of the buffer + object bound to readtarget, and writeoffset + size must not exceeed the + size of the buffer bound to writetarget. If the same buffer object is bound to both readtarget + and writetarget, then the ranges specified by readoffset, writeoffset + and size must not overlap. + + + Errors + + GL_INVALID_VALUE is generated if any of readoffset, writeoffset + or size is negative, if readoffset + size exceeds the + size of the buffer object bound to readtarget or if writeoffset + size + exceeds the size of the buffer object bound to writetarget. + + + GL_INVALID_VALUE is generated if the same buffer object is bound to both readtarget + and writetarget and the ranges [readoffset, readoffset + + size) and [writeoffset, writeoffset + size) + overlap. + + + GL_INVALID_OPERATION is generated if zero is bound to readtarget or writetarget. + + + GL_INVALID_OPERATION is generated if the buffer object bound to either readtarget or writetarget + is mapped. + + + + API Version Support + + + + + + glCopyBufferSubData + + + + + + + See Also + + glGenBuffers, + glBindBuffer, + glBufferData, + glBufferSubData, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCopyTexImage2D.xml b/Source/Bind/Specifications/Docs/ES30/glCopyTexImage2D.xml new file mode 100644 index 00000000..2d2a9b7b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCopyTexImage2D.xml @@ -0,0 +1,266 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCopyTexImage2D + 3G + + + glCopyTexImage2D + copy pixels into a 2D texture image + + C Specification + + + void glCopyTexImage2D + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + GLint border + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the internal format of the texture. + Must be one of the following symbolic constants: + GL_ALPHA, + GL_LUMINANCE, + GL_LUMINANCE_ALPHA, + GL_RGB, + GL_RGBA, + GL_R8, + GL_RG8, + GL_RGB565, + GL_RGB8, + GL_RGBA4, + GL_RGB5_A1, + GL_RGBA8, + GL_RGB10_A2, + GL_SRGB8, + GL_SRGB8_ALPHA8, + GL_R8I, + GL_R8UI, + GL_R16I, + GL_R16UI, + GL_R32I, + GL_R32UI, + GL_RG8I, + GL_RG8UI, + GL_RG16I, + GL_RG16UI, + GL_RG32I, + GL_RG32UI, + GL_RGBA8I, + GL_RGBA8UI, + GL_RGB10_A2UI, + GL_RGBA16I, + GL_RGBA16UI, + GL_RGBA32I, + GL_RGBA32UI. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture image. + + + + + height + + + Specifies the height of the texture image. + + + + + border + + + Specifies the width of the border. + Must be 0. + + + + + + Description + + glCopyTexImage2D defines a two-dimensional texture image, or cube-map texture image + with pixels from the current + GL_READ_BUFFER. + + + The screen-aligned pixel rectangle with lower left corner at (x, + y) and with a width of width + and a height of height defines the texture array + at the mipmap level specified by level. + internalformat specifies the internal format of the texture array. + + + The pixels in the rectangle are processed exactly as if + glReadPixels had been called, but the process stops after + conversion to RGBA values. The error GL_INVALID_OPERATION is generated if integer RGBA data is + required and the format of the current color buffer is not integer; or if floating- or fixed-point RGBA + data is required and the format of the current color buffer is integer. + + + Pixel ordering is such that lower + x + and + y + screen coordinates correspond to + lower + s + and + t + texture coordinates. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + When internalformat is one of the sRGB types, the GL does not automatically convert the source pixels to the sRGB color space. + + + Notes + + An image with height or width of 0 indicates a NULL texture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + + log + 2 + + + max + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if width or + height is less than 0 or greater than GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_VALUE is generated if internalformat is not an + accepted format. + + + + API Version Support + + + + + + glCopyTexImage2D + + + + + + + See Also + + glCopyTexSubImage2D, + glPixelStorei, + glTexImage2D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCopyTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES30/glCopyTexSubImage2D.xml new file mode 100644 index 00000000..c49a2d88 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCopyTexSubImage2D.xml @@ -0,0 +1,296 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCopyTexSubImage2D + 3G + + + glCopyTexSubImage2D + copy a two-dimensional texture subimage + + C Specification + + + void glCopyTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + + Description + + glCopyTexSubImage2D replaces a rectangular portion of a two-dimensional texture image or + cube-map texture image with pixels from the current GL_READ_BUFFER + (rather than from main memory, as is the case for glTexSubImage2D). + + + The screen-aligned pixel rectangle with lower left corner at + + + + x + y + + + and with + width width and height height replaces the portion of the + texture array with x indices xoffset through + + + + xoffset + + + width + - + 1 + + , + inclusive, and y indices yoffset through + + + + yoffset + + + height + - + 1 + + , + inclusive, at the mipmap level specified by level. + + + The pixels in the rectangle are processed exactly as if + glReadPixels had been called, but the process stops after + conversion to RGBA values. The error GL_INVALID_OPERATION is generated if integer RGBA data is + required and the format of the current color buffer is not integer; or if floating- or fixed-point RGBA + data is required and the format of the current color buffer is integer. + + + The destination rectangle in the texture array may not include any texels + outside the texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the read window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + No change is made to the internalformat, width, + height, or border parameters of the specified texture + array or to texel values outside the specified subregion. + + + Notes + + glPixelStorei modes affect texture images. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_OPERATION is generated if the texture array has not been + defined by a previous glTexImage2D, + glCopyTexImage2D, or + glTexStorage2D operation. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if + + + + level + > + + log + 2 + + + + max + + + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + + + xoffset + + + width + + + > + w + + , + or + + + + + + yoffset + + + height + + + > + h + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + of the texture image being modified. + + + + API Version Support + + + + + + glCopyTexSubImage2D + + + + + + + See Also + + glCopyTexImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glReadBuffer, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCopyTexSubImage3D.xml b/Source/Bind/Specifications/Docs/ES30/glCopyTexSubImage3D.xml new file mode 100644 index 00000000..cef7f22d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCopyTexSubImage3D.xml @@ -0,0 +1,300 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCopyTexSubImage3D + 3G + + + glCopyTexSubImage3D + copy a three-dimensional texture subimage + + C Specification + + + void glCopyTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + zoffset + + + Specifies a texel offset in the z direction within the texture array. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + + Description + + glCopyTexSubImage3D replaces a rectangular portion of a three-dimensional + or two-dimensional array texture image with pixels from the current GL_READ_BUFFER (rather + than from main memory, as is the case for glTexSubImage3D). + + + The screen-aligned pixel rectangle with lower left corner at + (x, y) and with + width width and height height replaces the portion of the + texture array with x indices xoffset through + + + + xoffset + + + width + - + 1 + + , + inclusive, and y indices yoffset through + + + + yoffset + + + height + - + 1 + + , + inclusive, at z index zoffset and at the mipmap level specified by level. + + + The pixels in the rectangle are processed exactly as if + glReadPixels had been called, but the process stops after + conversion to RGBA values. + + + The destination rectangle in the texture array may not include any texels + outside the texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the read window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + No change is made to the internalformat, width, + height, depth, or border parameters of the specified texture + array or to texel values outside the specified subregion. + + + Notes + + glPixelStorei modes affect texture images. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D or + GL_TEXTURE_2D_ARRAY. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage3D or + glTexStorage3D operation. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if + + + + level + > + + log + 2 + + + + max + + + + , + where + max + is the returned value of GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + + + xoffset + + + width + + + > + w + + , + + + + + + yoffset + + + height + + + > + h + + , + or + + + + + + zoffset + + + 1 + + + > + d + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + d + is the GL_TEXTURE_DEPTH + of the texture image being modified. + + + + API Version Support + + + + + + glCopyTexSubImage3D + + + + + + + See Also + + glCopyTexImage2D, + glCopyTexSubImage2D, + glPixelStorei, + glReadBuffer, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCreateProgram.xml b/Source/Bind/Specifications/Docs/ES30/glCreateProgram.xml new file mode 100644 index 00000000..8a322608 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCreateProgram.xml @@ -0,0 +1,144 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glCreateProgram + 3G + + + glCreateProgram + Creates a program object + + C Specification + + + GLuint glCreateProgram + void + + + + Description + glCreateProgram creates an empty + program object and returns a non-zero value by which it can be + referenced. A program object is an object to which shader + objects can be attached. This provides a mechanism to specify + the shader objects that will be linked to create a program. It + also provides a means for checking the compatibility of the + shaders that will be used to create a program (for instance, + checking the compatibility between a vertex shader and a + fragment shader). When no longer needed as part of a program + object, shader objects can be detached. + + One or more executables are created in a program object by + successfully attaching shader objects to it with + glAttachShader, + successfully compiling the shader objects with + glCompileShader, + and successfully linking the program object with + glLinkProgram. + These executables are made part of current state when + glUseProgram + is called. Program objects can be deleted by calling + glDeleteProgram. + The memory associated with the program object will be deleted + when it is no longer part of current rendering state for any + context. + + Notes + Like buffer and texture objects, the name space for + program objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + Errors + This function returns 0 if an error occurs creating the program object. + + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with a valid program object and the index of an active attribute + variable + + glGetActiveUniform + with a valid program object and the index of an active uniform + variable + + glGetAttachedShaders + with a valid program object + + glGetAttribLocation + with a valid program object and the name of an attribute + variable + + glGetProgramiv + with a valid program object and the parameter to be queried + + glGetProgramInfoLog + with a valid program object + + glGetUniform + with a valid program object and the location of a uniform + variable + + glGetUniformLocation + with a valid program object and the name of a uniform + variable + + glIsProgram + + + API Version Support + + + + + + glCreateProgram + + + + + + + See Also + glAttachShader, + glBindAttribLocation, + glCreateShader, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCreateShader.xml b/Source/Bind/Specifications/Docs/ES30/glCreateShader.xml new file mode 100644 index 00000000..7b0c6b02 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCreateShader.xml @@ -0,0 +1,125 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glCreateShader + 3G + + + glCreateShader + Creates a shader object + + C Specification + + + GLuint glCreateShader + GLenum shaderType + + + + Parameters + + + shaderType + + Specifies the type of shader to be created. + Must be one of GL_VERTEX_SHADER + or GL_FRAGMENT_SHADER. + + + + + Description + glCreateShader creates an empty + shader object and returns a non-zero value by which it can be + referenced. A shader object is used to maintain the source code + strings that define a shader. shaderType + indicates the type of shader to be created. Three types of shaders + are supported. A shader of type + GL_VERTEX_SHADER is a shader that is + intended to run on the programmable vertex processor. A shader of + type GL_FRAGMENT_SHADER is a shader that is + intended to run on the programmable fragment processor. + + When created, a shader object's + GL_SHADER_TYPE parameter is set to either + GL_VERTEX_SHADER or + GL_FRAGMENT_SHADER, depending on the value + of shaderType. + + Notes + Like buffer and texture objects, the name space for + shader objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + Errors + This function returns 0 if an error occurs creating the + shader object. + + GL_INVALID_ENUM is generated if + shaderType is not an accepted value. + + + Associated Gets + glGetShaderiv + with a valid shader object and the parameter to be queried + + glGetShaderInfoLog + with a valid shader object + + glGetShaderSource + with a valid shader object + + glIsShader + + + API Version Support + + + + + + glCreateShader + + + + + + + See Also + glAttachShader, + glCompileShader, + glDeleteShader, + glDetachShader, + glShaderSource + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glCullFace.xml b/Source/Bind/Specifications/Docs/ES30/glCullFace.xml new file mode 100644 index 00000000..d614942b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glCullFace.xml @@ -0,0 +1,110 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCullFace + 3G + + + glCullFace + specify whether front- or back-facing polygons can be culled + + C Specification + + + void glCullFace + GLenum mode + + + + Parameters + + + mode + + + Specifies whether front- or back-facing polygons are candidates for culling. + Symbolic constants + GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK are accepted. + The initial value is GL_BACK. + + + + + + Description + + glCullFace specifies whether front- or back-facing polygons are culled + (as specified by mode) when polygon culling is enabled. Polygon + culling is initially disabled. + To enable and disable polygon culling, call the + glEnable and glDisable commands + with the argument GL_CULL_FACE. + + + glFrontFace specifies which of the clockwise and counterclockwise polygons + are front-facing and back-facing. + See glFrontFace. + + + Notes + + If mode is GL_FRONT_AND_BACK, no polygons are drawn, but other + primitives such as points and lines are drawn. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + Associated Gets + + glIsEnabled with argument GL_CULL_FACE + + + glGet with argument GL_CULL_FACE_MODE + + + + API Version Support + + + + + + glCullFace + + + + + + + See Also + + glEnable, + glFrontFace + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteBuffers.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteBuffers.xml new file mode 100644 index 00000000..01ffab42 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteBuffers.xml @@ -0,0 +1,107 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glDeleteBuffers + 3G + + + glDeleteBuffers + delete named buffer objects + + C Specification + + + void glDeleteBuffers + GLsizei n + const GLuint * buffers + + + + Parameters + + + n + + + Specifies the number of buffer objects to be deleted. + + + + + buffers + + + Specifies an array of buffer objects to be deleted. + + + + + + Description + + glDeleteBuffers deletes n buffer objects named by the elements of the array buffers. + After a buffer object is deleted it has no contents, and its name is again unused. Unused names in + buffers that have been marked as used for the purposes of + glGenBuffers are marked as unused again. + Unused names in buffers are silently ignored, as is the value zero. If a buffer object is deleted while it is bound, + all bindings to that object in the current context are reset to zero. Bindings to that buffer in other contexts are not affected. + + + glDeleteBuffers silently ignores 0's and names that do not correspond to + existing buffer objects. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsBuffer + + + + API Version Support + + + + + + glDeleteBuffers + + + + + + + See Also + + glBindBuffer, + glGenBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteFramebuffers.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteFramebuffers.xml new file mode 100644 index 00000000..0ae23e0d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteFramebuffers.xml @@ -0,0 +1,96 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteFramebuffers + 3G + + + glDeleteFramebuffers + delete framebuffer objects + + C Specification + + + void glDeleteFramebuffers + GLsizei n + GLuint *framebuffers + + + + Parameters + + + n + + + Specifies the number of framebuffer objects to be deleted. + + + + + framebuffers + + + A pointer to an array containing n framebuffer objects to be deleted. + + + + + + Description + + glDeleteFramebuffers deletes the n framebuffer objects whose names are stored in + the array addressed by framebuffers. Unused names in framebuffers + that have been marked as used for the purposes of + glGenFramebuffers are marked as unused again. + The name zero is reserved by the GL and is silently ignored, should it + occur in framebuffers, as are other unused names. Once a framebuffer object is deleted, its name is again + unused and it has no attachments. If a framebuffer that is currently bound to one or more of the targets GL_DRAW_FRAMEBUFFER + or GL_READ_FRAMEBUFFER is deleted, it is as though glBindFramebuffer + had been executed with the corresponding target and framebuffer zero. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + + API Version Support + + + + + + glDeleteFramebuffers + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glCheckFramebufferStatus + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteProgram.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteProgram.xml new file mode 100644 index 00000000..1b745a26 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteProgram.xml @@ -0,0 +1,112 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glDeleteProgram + 3G + + + glDeleteProgram + Deletes a program object + + C Specification + + + void glDeleteProgram + GLuint program + + + + Parameters + + + program + + Specifies the program object to be + deleted. + + + + + Description + glDeleteProgram frees the memory and + invalidates the name associated with the program object + specified by program. This command + effectively undoes the effects of a call to + glCreateProgram. + + If a program object is in use as part of current rendering + state, it will be flagged for deletion, but it will not be + deleted until it is no longer part of current state for any + rendering context. If a program object to be deleted has shader + objects attached to it, those shader objects will be + automatically detached but not deleted unless they have already + been flagged for deletion by a previous call to + glDeleteShader. + A value of 0 for program will be silently + ignored. + + To determine whether a program object has been flagged for + deletion, call + glGetProgramiv + with arguments program and + GL_DELETE_STATUS. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + + Associated Gets + glGet + with argument GL_CURRENT_PROGRAM + + glGetProgramiv + with arguments program and + GL_DELETE_STATUS + + glIsProgram + + + API Version Support + + + + + + glDeleteProgram + + + + + + + See Also + glCreateShader, + glDetachShader, + glUseProgram + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteQueries.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteQueries.xml new file mode 100644 index 00000000..a4dfed1e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteQueries.xml @@ -0,0 +1,109 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glDeleteQueries + 3G + + + glDeleteQueries + delete named query objects + + C Specification + + + void glDeleteQueries + GLsizei n + const GLuint * ids + + + + Parameters + + + n + + + Specifies the number of query objects to be deleted. + + + + + ids + + + Specifies an array of query objects to be deleted. + + + + + + Description + + glDeleteQueries deletes n query objects named by the elements of the array ids. + After a query object is deleted, its name is again unused. Unused names in ids + that have been marked as used for the purposes of + glGenQueries are marked as unused again. + If an active query object is deleted its name immediately becomes unused, but the underlying object + is not deleted until it is no longer active. + + + glDeleteQueries silently ignores 0's and names that do not correspond to + existing query objects. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsQuery + + + + API Version Support + + + + + + glDeleteQueries + + + + + + + See Also + + glBeginQuery, + glEndQuery, + glGenQueries, + glGetQueryiv, + glGetQueryObjectuiv + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteRenderbuffers.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteRenderbuffers.xml new file mode 100644 index 00000000..238207fa --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteRenderbuffers.xml @@ -0,0 +1,103 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteRenderbuffers + 3G + + + glDeleteRenderbuffers + delete renderbuffer objects + + C Specification + + + void glDeleteRenderbuffers + GLsizei n + GLuint *renderbuffers + + + + Parameters + + + n + + + Specifies the number of renderbuffer objects to be deleted. + + + + + renderbuffers + + + A pointer to an array containing n renderbuffer objects to be deleted. + + + + + + Description + + glDeleteRenderbuffers deletes the n renderbuffer objects whose names are stored in + the array addressed by renderbuffers. Unused names in renderbuffers + that have been marked as used for the purposes of glGenRenderbuffers + are marked as unused again. The name zero is reserved by the GL and is silently ignored, should it + occur in renderbuffers, as are other unused names. Once a renderbuffer object is deleted, its name is again + unused and it has no contents. If a renderbuffer that is currently bound to the target GL_RENDERBUFFER + is deleted, it is as though glBindRenderbuffer + had been executed with a target of GL_RENDERBUFFER and a name of zero. + + + If a renderbuffer object is attached to one or more attachment points in the currently bound framebuffer, then it as if + glFramebufferRenderbuffer had been called, with a renderbuffer + of zero for each attachment point to which this image was attached in the currently bound framebuffer. In other words, + this renderbuffer object is first detached from all attachment ponits in the currently bound framebuffer. Note that the renderbuffer + image is specifically not detached from any non-bound framebuffers. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + + API Version Support + + + + + + glDeleteRenderbuffers + + + + + + + See Also + + glGenRenderbuffers, + glFramebufferRenderbuffer, + glRenderbufferStorage, + glRenderbufferStorageMultisample + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteSamplers.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteSamplers.xml new file mode 100644 index 00000000..8f98841c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteSamplers.xml @@ -0,0 +1,101 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteSamplers + 3G + + + glDeleteSamplers + delete named sampler objects + + C Specification + + + void glDeleteSamplers + GLsizei n + const GLuint * samplers + + + + Parameters + + + n + + + Specifies the number of sampler objects to be deleted. + + + + + samplers + + + Specifies an array of sampler objects to be deleted. + + + + + + Description + + glDeleteSamplers deletes n sampler objects named by the elements of the array samplers. + After a sampler object is deleted, its name is again unused. If a sampler object that is currently + bound to one or more texture units is deleted, it is as though + glBindSampler is called once for each texture unit + to which the sampler is bound, with unit set to the texture unit and + sampler set to zero. Unused names in samplers that have been marked as + used for the purposes of glGenSamplers are marked as unused again. + Unused names in samplers are silently ignored, as is the reserved name zero. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsSampler + + + + API Version Support + + + + + + glDeleteSamplers + + + + + + + See Also + + glGenSamplers, + glBindSampler, + glDeleteSamplers, + glIsSampler + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteShader.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteShader.xml new file mode 100644 index 00000000..3f7aa13a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteShader.xml @@ -0,0 +1,108 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glDeleteShader + 3G + + + glDeleteShader + Deletes a shader object + + C Specification + + + void glDeleteShader + GLuint shader + + + + Parameters + + + shader + + Specifies the shader object to be deleted. + + + + + Description + glDeleteShader frees the memory and + invalidates the name associated with the shader object specified + by shader. This command effectively + undoes the effects of a call to + glCreateShader. + + If a shader object to be deleted is attached to a program + object, it will be flagged for deletion, but it will not be + deleted until it is no longer attached to any program object, + for any rendering context (i.e., it must be detached from + wherever it was attached before it will be deleted). A value of + 0 for shader will be silently + ignored. + + To determine whether an object has been flagged for + deletion, call + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + + Associated Gets + glGetAttachedShaders + with the program object to be queried + + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS + + glIsShader + + + API Version Support + + + + + + glDeleteShader + + + + + + + See Also + glCreateProgram, + glCreateShader, + glDetachShader, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteSync.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteSync.xml new file mode 100644 index 00000000..7d3fb49f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteSync.xml @@ -0,0 +1,89 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteSync + 3G + + + glDeleteSync + delete a sync object + + C Specification + + + void glDeleteSync + GLsync sync + + + + Parameters + + + sync + + + The sync object to be deleted. + + + + + + Description + + glDeleteSync deletes the sync object specified by sync. If the fence command + corresponding to the specified sync object has completed, or if no glWaitSync + or glClientWaitSync commands are blocking on sync, + the object is deleted immediately. Otherwise, sync is flagged for deletion and will be deleted when + it is no longer associated with any fence command and is no longer blocking any glWaitSync + or glClientWaitSync command. In either case, after + glDeleteSync returns, the name sync is invalid and can no longer be used to + refer to the sync object. + + + glDeleteSync will silently ignore a sync value of zero. + + + Errors + + GL_INVALID_VALUE is generated if sync is neither zero or the name of a sync object. + + + + API Version Support + + + + + + glDeleteSync + + + + + + + See Also + + glFenceSync, + glWaitSync, + glClientWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteTextures.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteTextures.xml new file mode 100644 index 00000000..fd07ac53 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteTextures.xml @@ -0,0 +1,115 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDeleteTextures + 3G + + + glDeleteTextures + delete named textures + + C Specification + + + void glDeleteTextures + GLsizei n + const GLuint * textures + + + + Parameters + + + n + + + Specifies the number of textures to be deleted. + + + + + textures + + + Specifies an array of textures to be deleted. + + + + + + Description + + glDeleteTextures deletes n textures named by the elements of the array textures. + After a texture is deleted, it has no contents or dimensionality, + and its name is again unused. + If a texture that is currently bound is deleted, the binding reverts + to 0 (the default texture). + + + Unused names in textures that have been marked as used for the purposes of + glGenTextures are marked as unused again. + glDeleteTextures silently ignores 0's and names that do not correspond to + existing textures. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsTexture + + + + API Version Support + + + + + + glDeleteTextures + + + + + + + See Also + + glBindTexture, + glCopyTexImage2D, + glGenTextures, + glGet, + glGetTexParameter, + glTexImage2D, + glTexStorage2D, + glTexImage3D, + glTexStorage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteTransformFeedbacks.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteTransformFeedbacks.xml new file mode 100644 index 00000000..28b79ca6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteTransformFeedbacks.xml @@ -0,0 +1,98 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glDeleteTransformFeedbacks + 3G + + + glDeleteTransformFeedbacks + delete transform feedback objects + + C Specification + + + void glDeleteTransformFeedbacks + GLsizei n + const GLuint *ids + + + + Parameters + + + n + + + Specifies the number of transform feedback objects to delete. + + + + + ids + + + Specifies an array of names of transform feedback objects to delete. + + + + + + Description + + glDeleteTransformFeedbacks deletes the n transform feedback objects + whose names are stored in the array ids. Unused names in ids + that have been marked as used for the purposes of glGenTransformFeedbacks, + are marked as unused again. Unused names in ids are + ignored, as is the name zero. After a transform feedback object is deleted, its name is again unused and it + has no contents. If an active transform feedback object is deleted, its name immediately becomes unused, but + the underlying object is not deleted until it is no longer active. + + + Associated Gets + + glGet with argument GL_TRANSFORM_FEEDBACK_BINDING + + + + API Version Support + + + + + + glDeleteTransformFeedbacks + + + + + + + See Also + + glGenTransformFeedbacks, + glBindTransformFeedback, + glIsTransformFeedback, + glBeginTransformFeedback, + glPauseTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDeleteVertexArrays.xml b/Source/Bind/Specifications/Docs/ES30/glDeleteVertexArrays.xml new file mode 100644 index 00000000..acaddf8e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDeleteVertexArrays.xml @@ -0,0 +1,96 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteVertexArrays + 3G + + + glDeleteVertexArrays + delete vertex array objects + + C Specification + + + void glDeleteVertexArrays + GLsizei n + const GLuint *arrays + + + + Parameters + + + n + + + Specifies the number of vertex array objects to be deleted. + + + + + arrays + + + Specifies the address of an array containing the n names of the objects to be deleted. + + + + + + Description + + glDeleteVertexArrays deletes n vertex array objects whose names are stored in the + array addressed by arrays. Once a vertex array object is deleted it has no contents and its name is + again unused. If a vertex array object that is currently bound is deleted, the binding for that object reverts to zero + and the default vertex array becomes current. + + + Unused names in arrays that have been marked as used for the purposes of + glGenVertexArrays, + are marked as unused again. Unused names in arrays are silently ignored, as is the value zero. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + + API Version Support + + + + + + glDeleteVertexArrays + + + + + + + See Also + + glGenVertexArrays, + glIsVertexArray, + glBindVertexArray + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDepthFunc.xml b/Source/Bind/Specifications/Docs/ES30/glDepthFunc.xml new file mode 100644 index 00000000..d307de4b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDepthFunc.xml @@ -0,0 +1,190 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDepthFunc + 3G + + + glDepthFunc + specify the value used for depth buffer comparisons + + C Specification + + + void glDepthFunc + GLenum func + + + + Parameters + + + func + + + Specifies the depth comparison function. + Symbolic constants + GL_NEVER, + GL_LESS, + GL_EQUAL, + GL_LEQUAL, + GL_GREATER, + GL_NOTEQUAL, + GL_GEQUAL, and + GL_ALWAYS are accepted. + The initial value is GL_LESS. + + + + + + Description + + glDepthFunc specifies the function used to compare each incoming pixel depth value + with the depth value present in the depth buffer. + The comparison is performed only if depth testing is enabled. + (See glEnable and glDisable of GL_DEPTH_TEST.) + + + func specifies the conditions under which the pixel will be drawn. + The comparison functions are as follows: + + + + GL_NEVER + + + Never passes. + + + + + GL_LESS + + + Passes if the incoming depth value is less than the stored depth value. + + + + + GL_EQUAL + + + Passes if the incoming depth value is equal to the stored depth value. + + + + + GL_LEQUAL + + + Passes if the incoming depth value is less than or equal to + the stored depth value. + + + + + GL_GREATER + + + Passes if the incoming depth value is greater than the stored depth value. + + + + + GL_NOTEQUAL + + + Passes if the incoming depth value is not equal to the stored depth value. + + + + + GL_GEQUAL + + + Passes if the incoming depth value is greater than or equal to + the stored depth value. + + + + + GL_ALWAYS + + + Always passes. + + + + + + The initial value of func is GL_LESS. + Initially, depth testing is disabled. If depth testing is disabled or if no + depth buffer exists, it is as if the depth test always passes. + + + Notes + + Even if the depth buffer exists and the depth mask is non-zero, the + depth buffer is not updated if the depth test is disabled. In order to + unconditionally write to the depth buffer, the depth test should be enabled + and set to GL_ALWAYS. + + + Errors + + GL_INVALID_ENUM is generated if func is not an accepted value. + + + Associated Gets + + glGet with argument GL_DEPTH_FUNC + + + glIsEnabled with argument GL_DEPTH_TEST + + + + API Version Support + + + + + + glDepthFunc + + + + + + + See Also + + glDepthRangef, + glEnable, + glPolygonOffset + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDepthMask.xml b/Source/Bind/Specifications/Docs/ES30/glDepthMask.xml new file mode 100644 index 00000000..cd2037f9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDepthMask.xml @@ -0,0 +1,93 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDepthMask + 3G + + + glDepthMask + enable or disable writing into the depth buffer + + C Specification + + + void glDepthMask + GLboolean flag + + + + Parameters + + + flag + + + Specifies whether the depth buffer is enabled for writing. + If flag is GL_FALSE, + depth buffer writing is disabled. + Otherwise, it is enabled. + Initially, depth buffer writing is enabled. + + + + + + Description + + glDepthMask specifies whether the depth buffer is enabled for writing. + If flag is GL_FALSE, + depth buffer writing is disabled. + Otherwise, it is enabled. + Initially, depth buffer writing is enabled. + + + Associated Gets + + glGet with argument GL_DEPTH_WRITEMASK + + + + API Version Support + + + + + + glDepthMask + + + + + + + See Also + + glColorMask, + glDepthFunc, + glDepthRangef, + glStencilMask + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDepthRangef.xml b/Source/Bind/Specifications/Docs/ES30/glDepthRangef.xml new file mode 100644 index 00000000..30f4716e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDepthRangef.xml @@ -0,0 +1,136 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDepthRangef + 3G + + + glDepthRangef + specify mapping of depth values from normalized device coordinates to window coordinates + + C Specification + + + void glDepthRangef + GLfloat n + GLfloat f + + + + Parameters + + + n + + + Specifies the mapping of the near clipping plane to window coordinates. + The initial value is 0. + + + + + f + + + Specifies the mapping of the far clipping plane to window coordinates. + The initial value is 1. + + + + + + Description + + After clipping and division by w, + depth coordinates range from + + + -1 + + to 1, + corresponding to the near and far clipping planes. + glDepthRangef specifies a linear mapping of the normalized depth coordinates + in this range to window depth coordinates. + If a fixed-point depth representation is used, the parameters n and f + are clamped to the range [0 to 1] when computing window z. + + + The setting of (0,1) maps the near plane to 0 and + the far plane to 1. + With this mapping, + the depth buffer range is fully utilized. + + + Notes + + It is not necessary that n be less than f. + Reverse mappings such as + + + + n + = + 1 + + , + and + + + + f + = + 0 + + + are acceptable. + + + Associated Gets + + glGet with argument GL_DEPTH_RANGE + + + + API Version Support + + + + + + glDepthRangef + + + + + + + See Also + + glDepthFunc, + glPolygonOffset, + glViewport + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDetachShader.xml b/Source/Bind/Specifications/Docs/ES30/glDetachShader.xml new file mode 100644 index 00000000..c85674eb --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDetachShader.xml @@ -0,0 +1,118 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glDetachShader + 3G + + + glDetachShader + Detaches a shader object from a program object to which it is attached + + C Specification + + + void glDetachShader + GLuint program + GLuint shader + + + + Parameters + + + program + + Specifies the program object from which to + detach the shader object. + + + + shader + + Specifies the shader object to be + detached. + + + + + Description + glDetachShader detaches the shader + object specified by shader from the + program object specified by program. This + command can be used to undo the effect of the command + glAttachShader. + + If shader has already been flagged + for deletion by a call to + glDeleteShader + and it is not attached to any other program object, it will be + deleted after it has been detached. + + Errors + GL_INVALID_VALUE is generated if either + program or shader + is a value that was not generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + shader is not attached to + program. + + + Associated Gets + glGetAttachedShaders + with the handle of a valid program object + + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS + + glIsProgram + + glIsShader + + + API Version Support + + + + + + glDetachShader + + + + + + + See Also + glAttachShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDrawArrays.xml b/Source/Bind/Specifications/Docs/ES30/glDrawArrays.xml new file mode 100644 index 00000000..d3c4b0c7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDrawArrays.xml @@ -0,0 +1,154 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDrawArrays + 3G + + + glDrawArrays + render primitives from array data + + C Specification + + + void glDrawArrays + GLenum mode + GLint first + GLsizei count + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN and + GL_TRIANGLES + are accepted. + + + + + first + + + Specifies the starting index in the enabled arrays. + + + + + count + + + Specifies the number of indices to be rendered. + + + + + + Description + + glDrawArrays specifies multiple geometric primitives + with very few subroutine calls. It is possible to prespecify + separate arrays of attributes and use them to + construct a sequence of primitives with a single + call to glDrawArrays. + + + When glDrawArrays is called, it uses count sequential elements from each + enabled array to construct a sequence of geometric primitives, + beginning with element first. mode specifies what kind of + primitives are constructed and how the array elements + construct those primitives. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if recording the vertices of a primitive to the buffer objects being + used for transform feedback purposes would result in either exceeding the limits of any buffer object’s size, + or in exceeding the end position offset + size - 1, as set + by glBindBufferRange. + + + + API Version Support + + + + + + glDrawArrays + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArraysInstanced, + glDrawElements, + glDrawElementsInstanced, + glDrawRangeElements, + glEnableVertexAttribArray + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDrawArraysInstanced.xml b/Source/Bind/Specifications/Docs/ES30/glDrawArraysInstanced.xml new file mode 100644 index 00000000..1dac5ba4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDrawArraysInstanced.xml @@ -0,0 +1,158 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDrawArraysInstanced + 3G + + + glDrawArraysInstanced + draw multiple instances of a range of elements + + C Specification + + + void glDrawArraysInstanced + GLenum mode + GLint first + GLsizei count + GLsizei primcount + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. Symbolic constants GL_POINTS, + GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, + GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN and GL_TRIANGLES + are accepted. + + + + + first + + + Specifies the starting index in the enabled arrays. + + + + + count + + + Specifies the number of indices to be rendered. + + + + + primcount + + + Specifies the number of instances of the specified range of indices to be rendered. + + + + + + Description + + glDrawArraysInstanced behaves identically to glDrawArrays + except that primcount instances of the range of elements are executed. Those attributes + that have divisor N where N is other than zero + (as specified by glVertexAttribDivisor) + advance once every N instances. Thus, the element transferred from instanced + vertex attributes is given by: + + + + + instance + divisor + + + + + The value of instance may be read by a vertex shader as gl_InstanceID. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of + the accepted values. + + + GL_INVALID_VALUE is generated if count or primcount are negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if recording the vertices of a primitive to the buffer objects being + used for transform feedback purposes would result in either exceeding the limits of any buffer object’s size, + or in exceeding the end position offset + size - 1, as set + by glBindBufferRange. + + + + API Version Support + + + + + + glDrawArraysInstanced + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glDrawElementsInstanced, + glEnableVertexAttribArray , + glVertexAttribDivisor + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDrawBuffers.xml b/Source/Bind/Specifications/Docs/ES30/glDrawBuffers.xml new file mode 100644 index 00000000..d3faf187 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDrawBuffers.xml @@ -0,0 +1,169 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glDrawBuffers + 3G + + + glDrawBuffers + Specifies a list of color buffers to be drawn into + + C Specification + + + void glDrawBuffers + GLsizei n + const GLenum *bufs + + + + Parameters + + + n + + Specifies the number of buffers in + bufs. + + + + bufs + + Points to an array of symbolic constants + specifying the buffers into which fragment colors or + data values will be written. + + + + + Description + glDrawBuffers defines an array of + buffers into which outputs from the fragment shader data will + be written. If a fragment shader writes a value + to one or more user defined output + variables, then the value of each variable will be written into the + buffer specified at a location within bufs + corresponding to the location assigned to that user defined output. + The draw buffer used for user defined outputs assigned to locations + greater than or equal to n is implicitly set + to GL_NONE and any data written to such an output + is discarded. + + The symbolic constants contained in + bufs must be one of the following, depending on + whether GL is bound to the default framebuffer or not: + + + + GL_NONE + + The fragment shader output value is not written into + any color buffer. + + + + GL_BACK + + The fragment shader output value is written into the + back color buffer. + + + + GL_COLOR_ATTACHMENTn + + The fragment shader output value is written into the + nth color attachment of the current framebuffer. + n may range from zero to the value of + GL_MAX_COLOR_ATTACHMENTS. + + + + + Except for GL_NONE, the preceding + symbolic constants may not appear more than once in + bufs. The maximum number of draw buffers + supported is implementation dependent and can be queried by + calling + glGet + with the argument GL_MAX_DRAW_BUFFERS. + + Notes + + If a fragment shader does not write to a user defined output variable, + the values of the fragment + colors following shader execution are undefined. For each + fragment generated in this situation, a different value may be + written into each of the buffers specified by + bufs. + + Errors + GL_INVALID_ENUM is generated if one of the + values in bufs is not an accepted + value. + + GL_INVALID_OPERATION is generated if the GL is bound + to the default framebuffer and n is not 1, or if the value in + bufs is one of the GL_COLOR_ATTACHMENTn + tokens. + + GL_INVALID_OPERATION is generated if the GL is bound + to a framebuffer object and the ith buffer listed in bufs + is anything other than GL_NONE or + GL_COLOR_ATTACHMENTSi. + + GL_INVALID_VALUE is generated if + n is less than 0 or greater than + GL_MAX_DRAW_BUFFERS. + + + Associated Gets + glGet + with argument GL_MAX_DRAW_BUFFERS + + glGet + with argument GL_DRAW_BUFFERi where + i indicates the number of the draw buffer + whose value is to be queried. + + + API Version Support + + + + + + glDrawBuffers + + + + + + + See Also + + glReadBuffer + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDrawElements.xml b/Source/Bind/Specifications/Docs/ES30/glDrawElements.xml new file mode 100644 index 00000000..d0b62e49 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDrawElements.xml @@ -0,0 +1,162 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDrawElements + 3G + + + glDrawElements + render primitives from array data + + C Specification + + + void glDrawElements + GLenum mode + GLsizei count + GLenum type + const GLvoid * indices + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN and + GL_TRIANGLES + are accepted. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be one of + GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + + Description + + glDrawElements specifies multiple geometric primitives + with very few subroutine calls. It is possible to prespecify + separate arrays of attributes and use them to + construct a sequence of primitives with a single + call to glDrawElements. + + + When glDrawElements is called, it uses count sequential elements from an + enabled array, starting at indices to construct a sequence of + geometric primitives. mode specifies what kind of primitives are + constructed and how the array elements construct these primitives. If + more than one array is enabled, each is used. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or the element array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if transform feedback is active and not paused. + + + + API Version Support + + + + + + glDrawElements + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArrays, + glDrawArraysInstanced, + glDrawElementsInstanced, + glDrawRangeElements, + glEnableVertexAttribArray + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDrawElementsInstanced.xml b/Source/Bind/Specifications/Docs/ES30/glDrawElementsInstanced.xml new file mode 100644 index 00000000..12105ee2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDrawElementsInstanced.xml @@ -0,0 +1,174 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDrawElementsInstanced + 3G + + + glDrawElementsInstanced + draw multiple instances of a set of elements + + C Specification + + + void glDrawElementsInstanced + GLenum mode + GLsizei count + GLenum type + const void * indices + GLsizei primcount + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN and + GL_TRIANGLES + are accepted. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, + GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + primcount + + + Specifies the number of instances of the specified range of indices to be rendered. + + + + + + Description + + glDrawElementsInstanced behaves identically to glDrawElements + except that primcount instances of the set of elements are executed. Those attributes + that have divisor N where N is other than zero + (as specified by glVertexAttribDivisor) + advance once every N instances. Thus, the element transferred from instanced + vertex attributes is given by: + + + + + instance + divisor + + + + + The value of instance may be read by a vertex shader as gl_InstanceID. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of GL_POINTS, + GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, + GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, or GL_TRIANGLES. + + + GL_INVALID_VALUE is generated if count or primcount are negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if transform feedback is active and not paused. + + + + API Version Support + + + + + + glDrawElementsInstanced + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawElements, + glDrawArrays, + glDrawArraysInstanced, + glDrawRangeElements, + glEnableVertexAttribArray, + glVertexAttribDivisor + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glDrawRangeElements.xml b/Source/Bind/Specifications/Docs/ES30/glDrawRangeElements.xml new file mode 100644 index 00000000..316dc795 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glDrawRangeElements.xml @@ -0,0 +1,241 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDrawRangeElements + 3G + + + glDrawRangeElements + render primitives from array data + + C Specification + + + void glDrawRangeElements + GLenum mode + GLuint start + GLuint end + GLsizei count + GLenum type + const GLvoid * indices + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN and + GL_TRIANGLES + are accepted. + + + + + start + + + Specifies the minimum array index contained in indices. + + + + + end + + + Specifies the maximum array index contained in indices. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be one of + GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + + Description + + glDrawRangeElements is a restricted form of glDrawElements. mode, count, + and type match the corresponding arguments to glDrawElements, with + the additional constraint that all values in the arrays count must lie + between start and end, inclusive. + + + Implementations denote recommended maximum amounts of vertex and + index data, + which may be queried by calling glGet with argument + GL_MAX_ELEMENTS_VERTICES and GL_MAX_ELEMENTS_INDICES. + If + + + + end + - + start + + + 1 + + + is greater than the value of + GL_MAX_ELEMENTS_VERTICES, or if count is greater than the value of + GL_MAX_ELEMENTS_INDICES, then the call may operate at reduced + performance. There is no requirement that all vertices in the range + + + + start + end + + + be referenced. However, the implementation may + partially process unused vertices, reducing performance from what could + be achieved with an optimal index set. + + + When glDrawRangeElements is called, it uses count sequential elements from an + enabled array, starting at start to construct a sequence of + geometric primitives. mode specifies what kind of primitives are + constructed, and how the array elements construct these primitives. If + more than one array is enabled, each is used. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + Errors + + It is an error for indices to lie outside the range + + + + start + end + + , + but implementations may not check for this situation. Such indices + cause implementation-dependent behavior. + + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_VALUE is generated if + + + + end + < + start + + . + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or the element array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if transform feedback is active and not paused. + + + Associated Gets + + glGet with argument GL_MAX_ELEMENTS_VERTICES + + + glGet with argument GL_MAX_ELEMENTS_INDICES + + + + API Version Support + + + + + + glDrawRangeElements + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glDrawArraysInstanced, + glDrawElementsInstanced, + glEnableVertexAttribArray, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glEnable.xml b/Source/Bind/Specifications/Docs/ES30/glEnable.xml new file mode 100644 index 00000000..75ce37f6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glEnable.xml @@ -0,0 +1,261 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glEnable + 3G + + + glEnable + enable or disable server-side GL capabilities + + C Specification + + + void glEnable + GLenum cap + + + + + void glDisable + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + + Description + + glEnable and + glDisable + enable and disable various capabilities. Use + glIsEnabled + or + glGet + to determine the current setting of any capability. The initial + value for each capability with the exception of + GL_DITHER is GL_FALSE. + The initial value for GL_DITHER is + GL_TRUE. + + + Both glEnable and glDisable take a single argument, cap, + which can assume one of the following values: + + + + GL_BLEND + + + If enabled, + blend the computed fragment color values with the values in the color + buffers. See glBlendFunc. + + + + + GL_CULL_FACE + + + + + If enabled, + cull polygons based on their winding in window coordinates. + See glCullFace. + + + + + GL_DEPTH_TEST + + + If enabled, + do depth comparisons and update the depth buffer. Note that even if + the depth buffer exists and the depth mask is non-zero, the + depth buffer is not updated if the depth test is disabled. See + glDepthFunc and + glDepthRangef. + + + + + GL_DITHER + + + If enabled, + dither color components or indices before they are written to the + color buffer. + + + + + GL_POLYGON_OFFSET_FILL + + + If enabled, an offset is added to depth values of a polygon's + fragments before the depth comparison is performed. + See glPolygonOffset. + + + + + GL_PRIMITIVE_RESTART_FIXED_INDEX + + + Enables primitive restarting. If enabled, any one of the draw commands + which transfers a set of generic attribute array elements to the GL will restart + the primitive when the index of the vertex is equal to + + + + 2 + n + + + 1 + + + where n is 8, 16 or 32 if the type is + GL_UNSIGNED_BYTE, + GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT, respectively. + + + + + GL_RASTERIZER_DISCARD + + + If enabled, primitives are discarded immediately before the rasterization stage, + but after the optional transform feedback stage. + glClear and + glClearBuffer* commands + are also ignored. + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + If enabled, + compute a temporary coverage value where each bit is determined by the + alpha value at the corresponding sample location. The temporary coverage + value is then ANDed with the fragment coverage value. + + + + + GL_SAMPLE_COVERAGE + + + If enabled, + the fragment's coverage is ANDed with the temporary coverage value. If + GL_SAMPLE_COVERAGE_INVERT is set to GL_TRUE, invert the coverage + value. + See glSampleCoverage. + + + + + GL_SCISSOR_TEST + + + If enabled, + discard fragments that are outside the scissor rectangle. + See glScissor. + + + + + GL_STENCIL_TEST + + + If enabled, + do stencil testing and update the stencil buffer. + See glStencilFunc and glStencilOp. + + + + + + Errors + + GL_INVALID_ENUM is generated if cap is not one of the values + listed previously. + + + Associated Gets + + glIsEnabled + + + glGet + + + + API Version Support + + + + + + glEnable + + + + glDisable + + + + + + + See Also + + glBlendFunc, + glCullFace, + glDepthFunc, + glDepthRangef, + glGet, + glIsEnabled, + glPolygonOffset, + glSampleCoverage, + glScissor, + glStencilFunc, + glStencilOp, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glEnableVertexAttribArray.xml b/Source/Bind/Specifications/Docs/ES30/glEnableVertexAttribArray.xml new file mode 100644 index 00000000..8aeb0465 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glEnableVertexAttribArray.xml @@ -0,0 +1,126 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glEnableVertexAttribArray + 3G + + + glEnableVertexAttribArray + glEnableVertexAttribArray + glDisableVertexAttribArray + Enable or disable a generic vertex attribute array + + C Specification + + + void glEnableVertexAttribArray + GLuint index + + + void glDisableVertexAttribArray + GLuint index + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be enabled or disabled. + + + + + Description + glEnableVertexAttribArray enables the + generic vertex attribute array specified by + index. + glDisableVertexAttribArray disables the + generic vertex attribute array specified by + index. By default, all generic vertex + attribute arrays are disabled. If enabled, the values in the generic vertex + attribute array will be accessed and used for rendering when + calls are made to vertex array commands such as + glDrawArrays, + glDrawArraysInstanced, + glDrawElements, + glDrawElementsInstanced, + or + glDrawRangeElements. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttrib + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_ENABLED + + + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + + + API Version Support + + + + + + glEnableVertexAttribArray + + + + glDisableVertexAttribArray + + + + + + + See Also + + glBindAttribLocation, + glDrawArrays, + glDrawArraysInstanced, + glDrawElements, + glDrawElementsInstanced, + glDrawRangeElements, + glVertexAttrib, + glVertexAttribPointer + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glFenceSync.xml b/Source/Bind/Specifications/Docs/ES30/glFenceSync.xml new file mode 100644 index 00000000..985e40d9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glFenceSync.xml @@ -0,0 +1,116 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFenceSync + 3G + + + glFenceSync + create a new sync object and insert it into the GL command stream + + C Specification + + + GLsync glFenceSync + GLenum condition + GLbitfield flags + + + + Parameters + + + condition + + + Specifies the condition that must be met to set the sync object's state to signaled. condition + must be GL_SYNC_GPU_COMMANDS_COMPLETE. + + + + + flags + + + Specifies a bitwise combination of flags controlling the behavior of the sync object. No flags are presently defined + for this operation and flags must be zero. + flags is a placeholder for anticipated future extensions of fence sync object capabilities. + + + + + + + + Description + + glFenceSync creates a new fence sync object, inserts a fence command into the GL command stream and + associates it with that sync object, and returns a non-zero name corresponding to the sync object. + + + When the specified condition of the sync object is satisfied by the fence command, the sync object + is signaled by the GL, causing any glWaitSync, + glClientWaitSync commands blocking in sync + to unblock. No other state is affected by glFenceSync or by the execution + of the associated fence command. + + + condition must be GL_SYNC_GPU_COMMANDS_COMPLETE. This condition is satisfied by + completion of the fence command corresponding to the sync object and all preceding commands in the same command stream. + The sync object will not be signaled until all effects from these commands on GL client and server state and the + framebuffer are fully realized. Note that completion of the fence command occurs once the state of the corresponding sync + object has been changed, but commands waiting on that sync object may not be unblocked until after the fence command completes. + + + Errors + + GL_INVALID_ENUM is generated if condition is not + GL_SYNC_GPU_COMMANDS_COMPLETE. + + + GL_INVALID_VALUE is generated if flags is not zero. + + + Additionally, if glFenceSync fails, it will return zero. + + + + API Version Support + + + + + + glFenceSync + + + + + + + See Also + + glDeleteSync, + glGetSynciv, + glWaitSync, + glClientWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glFinish.xml b/Source/Bind/Specifications/Docs/ES30/glFinish.xml new file mode 100644 index 00000000..abb12dbe --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glFinish.xml @@ -0,0 +1,74 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glFinish + 3G + + + glFinish + block until all GL execution is complete + + C Specification + + + void glFinish + void + + + + Description + + glFinish does not return until the effects of all previously + called GL commands are complete. + Such effects include all changes to GL state, + all changes to connection state, + and all changes to the frame buffer contents. + + + Notes + + glFinish requires a round trip to the server. + + + + API Version Support + + + + + + glFinish + + + + + + + See Also + + glFlush + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glFlush.xml b/Source/Bind/Specifications/Docs/ES30/glFlush.xml new file mode 100644 index 00000000..340e40e4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glFlush.xml @@ -0,0 +1,88 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glFlush + 3G + + + glFlush + force execution of GL commands in finite time + + C Specification + + + void glFlush + void + + + + Description + + Different GL implementations buffer commands in several different locations, + including network buffers and the graphics accelerator itself. + glFlush empties all of these buffers, + causing all issued commands to be executed as quickly as + they are accepted by the actual rendering engine. + Though this execution may not be completed in any particular + time period, + it does complete in finite time. + + + Because any GL program might be executed over a network, + or on an accelerator that buffers commands, + all programs should call glFlush whenever they count on having + all of their previously issued commands completed. + For example, + call glFlush before waiting for user input that depends on + the generated image. + + + Notes + + glFlush can return at any time. + It does not wait until the execution of all previously + issued GL commands is complete. + + + + API Version Support + + + + + + glFlush + + + + + + + See Also + + glFinish + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glFlushMappedBufferRange.xml b/Source/Bind/Specifications/Docs/ES30/glFlushMappedBufferRange.xml new file mode 100644 index 00000000..32a6bf41 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glFlushMappedBufferRange.xml @@ -0,0 +1,111 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFlushMappedBufferRange + 3G + + + glFlushMappedBufferRange + indicate modifications to a range of a mapped buffer + + C Specification + + + GLsync glFlushMappedBufferRange + GLenum target + GLintptr offset + GLsizeiptr length + + + + Parameters + + + target + + + Specifies the target of the flush operation. target must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or GL_UNIFORM_BUFFER. + + + + + offset + + + Specifies the start of the buffer subrange, in basic machine units. + + + + + length + + + Specifies the length of the buffer subrange, in basic machine units. + + + + + + Description + + glFlushMappedBufferRange indicates that modifications have been made to a range of a mapped buffer. + The buffer must previously have been mapped with the GL_MAP_FLUSH_EXPLICIT flag. offset + and length indicate the modified subrange of the mapping, in basic units. The specified subrange to flush + is relative to the start of the currently mapped range of the buffer. glFlushMappedBufferRange may be called + multiple times to indicate distinct subranges of the mapping which require flushing. + + + Errors + + GL_INVALID_VALUE is generated if offset or length + is negative, or if offset + length exceeds the size of the mapping. + + + GL_INVALID_OPERATION is generated if zero is bound to target. + + + GL_INVALID_OPERATION is generated if the buffer bound to target is not + mapped, or is mapped without the GL_MAP_FLUSH_EXPLICIT flag. + + + + API Version Support + + + + + + glFlushMappedBufferRange + + + + + + + See Also + + glMapBufferRange, + glUnmapBuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glFramebufferRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES30/glFramebufferRenderbuffer.xml new file mode 100644 index 00000000..88867cc2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glFramebufferRenderbuffer.xml @@ -0,0 +1,140 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFramebufferRenderbuffer + 3G + + + glFramebufferRenderbuffer + attach a renderbuffer as a logical buffer to the currently bound framebuffer object + + C Specification + + + GLsync glFramebufferRenderbuffer + GLenum target + GLenum attachment + GLenum renderbuffertarget + GLuint renderbuffer + + + + Parameters + + + target + + + Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER + is equivalent to GL_DRAW_FRAMEBUFFER. + + + + + attachment + + + Specifies the attachment point of the framebuffer. + + + + + renderbuffertarget + + + Specifies the renderbuffer target and must be GL_RENDERBUFFER. + + + + + renderbuffer + + + Specifies the name of an existing renderbuffer object of type renderbuffertarget to attach. + + + + + + Description + + glFramebufferRenderbuffer attaches a renderbuffer as one of the logical buffers of the + currently bound framebuffer object. renderbuffer is the name of the renderbuffer object + to attach and must be either zero, or the name of an existing renderbuffer object of type renderbuffertarget. + If renderbuffer is not zero and if glFramebufferRenderbuffer is + successful, then the renderbuffer name renderbuffer will be used as the logical buffer + identified by attachment of the framebuffer currently bound to target. + + + The value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE for the specified attachment point is + set to GL_RENDERBUFFER and the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + is set to renderbuffer. All other state values of the attachment point specified by + attachment are set to their default values. No change is made to the state of the renderbuuffer + object and any previous attachment to the attachment logical buffer of the framebuffer + target is broken. + + + Calling glFramebufferRenderbuffer with the renderbuffer name zero will detach the image, if any, + identified by attachment, in the framebuffer currently bound to target. + All state values of the attachment point specified by attachment in the object bound to target are set to their default values. + + + Setting attachment to the value GL_DEPTH_STENCIL_ATTACHMENT is a special + case causing both the depth and stencil attachments of the framebuffer object to be set to renderbuffer, + which should have the base internal format GL_DEPTH_STENCIL. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_ENUM is generated if renderbuffertarget is not GL_RENDERBUFFER. + + + GL_INVALID_OPERATION is generated if zero is bound to target. + + + + API Version Support + + + + + + glFramebufferRenderbuffer + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glGenRenderbuffers, + glFramebufferTexture, + glFramebufferTexture2D, + glFramebufferTextureLayer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glFramebufferTexture2D.xml b/Source/Bind/Specifications/Docs/ES30/glFramebufferTexture2D.xml new file mode 100644 index 00000000..bd8225a5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glFramebufferTexture2D.xml @@ -0,0 +1,168 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFramebufferTexture2D + 3G + + + glFramebufferTexture2D + attach a level of a texture object as a logical buffer to the currently bound framebuffer object + + C Specification + + + void glFramebufferTexture2D + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + + Parameters + + + target + + + Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER + is equivalent to GL_DRAW_FRAMEBUFFER. + + + + + attachment + + + Specifies the attachment point of the framebuffer. attachment must be + GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMENT. + + + + + textarget + + + Specifies a 2D texture target, or for cube map textures, which face is to be attached. + + + + + texture + + + Specifies the texture object to attach to the framebuffer attachment point named by attachment. + + + + + level + + + Specifies the mipmap level of texture to attach. + + + + + + Description + + glFramebufferTexture2D attaches a selected mipmap level or image of a texture object as one of the + logical buffers of the framebuffer object currently bound to target. target must + be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. + GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER. + + + attachment specifies the logical attachment of the framebuffer and must be + GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMENT. + i in GL_COLOR_ATTACHMENTi may range from zero to + the value of GL_MAX_COLOR_ATTACHMENTS - 1. Attaching a level of a texture to + GL_DEPTH_STENCIL_ATTACHMENT is equivalent to attaching that level to both the + GL_DEPTH_ATTACHMENT and the GL_STENCIL_ATTACHMENT + attachment points simultaneously. + + + textarget specifies what type of texture is named by texture, and for + cube map textures, specifies the face that is to be attached. If texture is not zero, it + must be the name of an existing two dimensional texture with textarget set to GL_TEXTURE_2D, + unless it is a cube map texture, in which case textarget must be + GL_TEXTURE_CUBE_MAP_POSITIVE_X + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + If texture is non-zero, the specified level of the texture object named + texture is attached to the framebuffer attachment point named by attachment. + + + If textarget is one of GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, then level must be greater + than or equal to zero and less than or equal to log2 of the value of + GL_MAX_CUBE_MAP_TEXTURE_SIZE. If textarget is GL_TEXTURE_2D, + level must be greater than or equal to zero and no larger than log2 + of the value of GL_MAX_TEXTURE_SIZE. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_ENUM is generated if renderbuffertarget is not GL_RENDERBUFFER. + + + GL_INVALID_OPERATION is generated if zero is bound to target. + + + GL_INVALID_OPERATION is generated if textarget and texture + are not compatible. + + + + API Version Support + + + + + + glFramebufferTexture2D + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glGenRenderbuffers, + glFramebufferRenderbuffer, + glFramebufferTextureLayer, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glFramebufferTextureLayer.xml b/Source/Bind/Specifications/Docs/ES30/glFramebufferTextureLayer.xml new file mode 100644 index 00000000..9bf6fb36 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glFramebufferTextureLayer.xml @@ -0,0 +1,159 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFramebufferTextureLayer + 3G + + + glFramebufferTextureLayer + attach a single layer of a texture to a framebuffer + + C Specification + + + void glFramebufferTextureLayer + GLenum target + GLenum attachment + GLuint texture + GLint level + GLint layer + + + + Parameters + + + target + + + Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER + is equivalent to GL_DRAW_FRAMEBUFFER. + + + + + attachment + + + Specifies the attachment point of the framebuffer. attachment must be + GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMMENT. + + + + + texture + + + Specifies the texture object to attach to the framebuffer attachment point named by attachment. + + + + + level + + + Specifies the mipmap level of texture to attach. + + + + + layer + + + Specifies the layer of texture to attach. + + + + + + Description + + glFramebufferTextureLayer operates like glFramebufferTexture2D, + except that only a single layer of the texture level, given by layer, is attached to the attachment point. + If texture is not zero, layer must be greater than or equal to zero. + texture must either be zero or the name of an existing three-dimensional texture, or a two-dimensional + array texture. + + + If texture is a 3D texture, then level must be greater + than or equal to zero and less than or equal to log2 of the value of + GL_MAX_3D_TEXTURE_SIZE. If texture is a 2D array texture, + level must be greater than or equal to zero and no larger than log2 + of the value of GL_MAX_TEXTURE_SIZE. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_ENUM is generated if attachment is not one of the accepted tokens. + + + GL_INVALID_VALUE is generated if texture is not zero or the name of an existing + texture object. + + + GL_INVALID_VALUE is generated if texture is not zero and layer + is negative. + + + GL_INVALID_VALUE is generated if + texture is not zero and + layer is greater than the value of + GL_MAX_3D_TEXTURE_SIZE minus one for a 3D + texture or greater than the value of + GL_MAX_ARRAY_TEXTURE_LAYERS minus one for a + 2D array texture. + + + GL_INVALID_OPERATION is generated if zero is bound to target. + + + GL_INVALID_OPERATION is generated if texture is not zero or the name of an existing + three-dimensional texture, or a two-dimensional array texture. + + + + API Version Support + + + + + + glFramebufferTextureLayer + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glGenRenderbuffers, + glFramebufferRenderbuffer, + glFramebufferTexture2D, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glFrontFace.xml b/Source/Bind/Specifications/Docs/ES30/glFrontFace.xml new file mode 100644 index 00000000..dad010a9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glFrontFace.xml @@ -0,0 +1,114 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glFrontFace + 3G + + + glFrontFace + define front- and back-facing polygons + + C Specification + + + void glFrontFace + GLenum mode + + + + Parameters + + + mode + + + Specifies the orientation of front-facing polygons. + GL_CW and GL_CCW are accepted. + The initial value is GL_CCW. + + + + + + Description + + In a scene composed entirely of opaque closed surfaces, + back-facing polygons are never visible. + Eliminating these invisible polygons has the obvious benefit + of speeding up the rendering of the image. + To enable and disable elimination of back-facing polygons, call glEnable + and glDisable with argument GL_CULL_FACE. + + + The projection of a polygon to window coordinates is said to have + clockwise winding if an imaginary object following the path + from its first vertex, + its second vertex, + and so on, + to its last vertex, + and finally back to its first vertex, + moves in a clockwise direction about the interior of the polygon. + The polygon's winding is said to be counterclockwise if the imaginary + object following the same path moves in a counterclockwise direction + about the interior of the polygon. + glFrontFace specifies whether polygons with clockwise winding in window coordinates, + or counterclockwise winding in window coordinates, + are taken to be front-facing. + Passing GL_CCW to mode selects counterclockwise polygons as + front-facing; + GL_CW selects clockwise polygons as front-facing. + By default, counterclockwise polygons are taken to be front-facing. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + Associated Gets + + glGet with argument GL_FRONT_FACE + + + + API Version Support + + + + + + glFrontFace + + + + + + + See Also + + glCullFace, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenBuffers.xml b/Source/Bind/Specifications/Docs/ES30/glGenBuffers.xml new file mode 100644 index 00000000..bef6f657 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenBuffers.xml @@ -0,0 +1,111 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGenBuffers + 3G + + + glGenBuffers + generate buffer object names + + C Specification + + + void glGenBuffers + GLsizei n + GLuint * buffers + + + + Parameters + + + n + + + Specifies the number of buffer object names to be generated. + + + + + buffers + + + Specifies an array in which the generated buffer object names are stored. + + + + + + Description + + glGenBuffers returns n buffer object names in buffers. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenBuffers. + + + Buffer object names returned by a call to glGenBuffers are not returned by + subsequent calls, unless they are first deleted with + glDeleteBuffers. + + + The names returned in buffers are marked as used, for the purposes of glGenBuffers only, + but they acquire state and type only when they are first bound by calling + glBindBuffer. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsBuffer + + + + API Version Support + + + + + + glGenBuffers + + + + + + + See Also + + glBindBuffer, + glDeleteBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenFramebuffers.xml b/Source/Bind/Specifications/Docs/ES30/glGenFramebuffers.xml new file mode 100644 index 00000000..bc1b1524 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenFramebuffers.xml @@ -0,0 +1,104 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenFramebuffers + 3G + + + glGenFramebuffers + generate framebuffer object names + + C Specification + + + void glGenFramebuffers + GLsizei n + GLuint *framebuffers + + + + Parameters + + + n + + + Specifies the number of framebuffer object names to generate. + + + + + framebuffers + + + Specifies an array in which the generated framebuffer object names are stored. + + + + + + Description + + glGenFramebuffers returns n framebuffer object names in framebuffers. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenFramebuffers. + + + Framebuffer object names returned by a call to glGenFramebuffers are not returned by subsequent calls, unless + they are first deleted with glDeleteFramebuffers. + + + The names returned in framebuffers are marked as used, for the purposes of glGenFramebuffers only, + but they acquire state and type only when they are first bound. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsFramebuffer, + glGetFramebufferAttachmentParameteriv + + + + API Version Support + + + + + + glGenFramebuffers + + + + + + + See Also + + glBindFramebuffer, + glDeleteFramebuffers, + glGet + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenQueries.xml b/Source/Bind/Specifications/Docs/ES30/glGenQueries.xml new file mode 100644 index 00000000..07dc2012 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenQueries.xml @@ -0,0 +1,112 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGenQueries + 3G + + + glGenQueries + generate query object names + + C Specification + + + void glGenQueries + GLsizei n + GLuint * ids + + + + Parameters + + + n + + + Specifies the number of query object names to be generated. + + + + + ids + + + Specifies an array in which the generated query object names are stored. + + + + + + Description + + glGenQueries returns n query object names in ids. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenQueries. + + + Query object names returned by a call to glGenQueries are not returned by + subsequent calls, unless they are first deleted with + glDeleteQueries. + + + The names returned in ids are marked as used, for the purposes of glGenQueries only, + but no query objects are associated with the returned query object names until they are first used by calling + glBeginQuery. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsQuery + + + + API Version Support + + + + + + glGenQueries + + + + + + + See Also + + glBeginQuery, + glDeleteQueries, + glEndQuery, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenRenderbuffers.xml b/Source/Bind/Specifications/Docs/ES30/glGenRenderbuffers.xml new file mode 100644 index 00000000..91e904c9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenRenderbuffers.xml @@ -0,0 +1,104 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenRenderbuffers + 3G + + + glGenRenderbuffers + generate renderbuffer object names + + C Specification + + + void glGenRenderbuffers + GLsizei n + GLuint *renderbuffers + + + + Parameters + + + n + + + Specifies the number of renderbuffer object names to generate. + + + + + renderbuffers + + + Specifies an array in which the generated renderbuffer object names are stored. + + + + + + Description + + glGenRenderbuffers returns n renderbuffer object names in renderbuffers. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenRenderbuffers. + + + Renderbuffer object names returned by a call to glGenRenderbuffers are not returned by subsequent calls, unless + they are first deleted with glDeleteRenderbuffers. + + + The names returned in renderbuffers are marked as used, for the purposes of glGenRenderbuffers only, + but they acquire state and type only when they are first bound. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsRenderbuffer, + glGetRenderbufferParameteriv + + + + API Version Support + + + + + + glGenRenderbuffers + + + + + + + See Also + + glBindRenderbuffer, + glFramebufferRenderbuffer, + glDeleteRenderbuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenSamplers.xml b/Source/Bind/Specifications/Docs/ES30/glGenSamplers.xml new file mode 100644 index 00000000..be9e6322 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenSamplers.xml @@ -0,0 +1,110 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenSamplers + 3G + + + glGenSamplers + generate sampler object names + + C Specification + + + void glGenSamplers + GLsizei n + GLuint *samplers + + + + Parameters + + + n + + + Specifies the number of sampler object names to generate. + + + + + samplers + + + Specifies an array in which the generated sampler object names are stored. + + + + + + Description + + glGenSamplers returns n sampler object names in samplers. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenSamplers. + + + Sampler object names returned by a call to glGenSamplers are not returned by subsequent calls, unless + they are first deleted with glDeleteSamplers. + + + The names returned in samplers are marked as used, for the purposes of glGenSamplers only, + but they acquire state and type only when they are first used as a parameter to + glBindSampler, + glSamplerParameter*, + glGetSamplerParameter* or + glIsSampler. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsSampler, + glGetSamplerParameter + + + + API Version Support + + + + + + glGenSamplers + + + + + + + See Also + + glBindSampler, + glDeleteSamplers, + glIsSampler, + glGetSamplerParameter, + glSamplerParameter + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenTextures.xml b/Source/Bind/Specifications/Docs/ES30/glGenTextures.xml new file mode 100644 index 00000000..a6bb030e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenTextures.xml @@ -0,0 +1,115 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGenTextures + 3G + + + glGenTextures + generate texture names + + C Specification + + + void glGenTextures + GLsizei n + GLuint * textures + + + + Parameters + + + n + + + Specifies the number of texture names to be generated. + + + + + textures + + + Specifies an array in which the generated texture names are stored. + + + + + + Description + + glGenTextures returns n texture names in textures. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenTextures. + + + Texture names returned by a call to glGenTextures are not returned by + subsequent calls, unless they are first deleted with + glDeleteTextures. + + + The names returned in textures are marked as used, for the purposes of glGenTextures only, + but they acquire state and dimensionality only when they are first bound using glBindTexture. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsTexture + + + + API Version Support + + + + + + glGenTextures + + + + + + + See Also + + glBindTexture, + glCopyTexImage2D, + glDeleteTextures, + glGet, + glGetTexParameter, + glTexImage2D, + glTexImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenTransformFeedbacks.xml b/Source/Bind/Specifications/Docs/ES30/glGenTransformFeedbacks.xml new file mode 100644 index 00000000..cbc3269e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenTransformFeedbacks.xml @@ -0,0 +1,105 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glGenTransformFeedbacks + 3G + + + glGenTransformFeedbacks + reserve transform feedback object names + + C Specification + + + void glGenTransformFeedbacks + GLsizei n + GLuint *ids + + + + Parameters + + + n + + + Specifies the number of transform feedback object names to reserve. + + + + + ids + + + Specifies an array of into which the reserved names will be written. + + + + + + Description + + glGenTransformFeedbacks returns n transform feedback object names in ids. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenTransformFeedbacks. + + + Transform feedback object names returned by a call to glGenTransformFeedbacks are not returned by subsequent calls, unless + they are first deleted with glDeleteTransformFeedbacks. + + + The names returned in ids are marked as used, for the purposes of glGenTransformFeedbacks only, + but they acquire state and type only when they are first bound. + + + Associated Gets + + glGet with argument GL_TRANSFORM_FEEDBACK_BINDING + + + glIsTransformFeedback + + + + API Version Support + + + + + + glGenTransformFeedbacks + + + + + + + See Also + + glDeleteTransformFeedbacks, + glBindTransformFeedback, + glIsTransformFeedback, + glBeginTransformFeedback, + glPauseTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenVertexArrays.xml b/Source/Bind/Specifications/Docs/ES30/glGenVertexArrays.xml new file mode 100644 index 00000000..17445c7c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenVertexArrays.xml @@ -0,0 +1,102 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenVertexArrays + 3G + + + glGenVertexArrays + generate vertex array object names + + C Specification + + + void glGenVertexArrays + GLsizei n + GLuint *arrays + + + + Parameters + + + n + + + Specifies the number of vertex array object names to generate. + + + + + arrays + + + Specifies an array in which the generated vertex array object names are stored. + + + + + + Description + + glGenVertexArrays returns n vertex array object names in arrays. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenVertexArrays. + + + Vertex array object names returned by a call to glGenVertexArrays are not returned by subsequent calls, unless + they are first deleted with glDeleteVertexArrays. + + + The names returned in arrays are marked as used, for the purposes of glGenVertexArrays only, + but they acquire state and type only when they are first bound. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsVertexArray + + + + API Version Support + + + + + + glGenVertexArrays + + + + + + + See Also + + glBindVertexArray, + glDeleteVertexArrays + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGenerateMipmap.xml b/Source/Bind/Specifications/Docs/ES30/glGenerateMipmap.xml new file mode 100644 index 00000000..bb47f687 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGenerateMipmap.xml @@ -0,0 +1,184 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenerateMipmap + 3G + + + glGenerateMipmap + generate mipmaps for a specified texture target + + C Specification + + + void glGenerateMipmap + GLenum target + + + + Parameters + + + target + + + Specifies the target to which the texture whose mimaps to generate is bound. target must + be GL_TEXTURE_2D, GL_TEXTURE_3D, + GL_TEXTURE_2D_ARRAY or GL_TEXTURE_CUBE_MAP. + + + + + + Description + + glGenerateMipmap generates mipmaps for the texture attached + to target of the active texture unit. For cube map textures, + a GL_INVALID_OPERATION error is generated if the texture + attached to target is not cube complete. + + + Mipmap generation replaces texel array levels + + + + + level + base + + + + 1 + + + through + + + q + + + with arrays derived from the + + + + + level + base + + + + array, regardless of their previous contents. All other mimap arrays, + including the + + + + + level + base + + + + array, are left unchanged by this computation. + + + The internal formats of the derived mipmap arrays all match those of the + + + + + level + base + + + + array. The contents of the derived arrays are computed by repeated, filtered + reduction of the + + + + + level + base + + + + array. For two-dimensional texture arrays, each layer is filtered + independently. + + + Errors + + GL_INVALID_ENUM is generated if target is not + one of the accepted texture targets. + + + GL_INVALID_OPERATION is generated if target is + GL_TEXTURE_CUBE_MAP and the texture bound to the GL_TEXTURE_CUBE_MAP + target of the active texture unit is not cube complete. + + + GL_INVALID_OPERATION is generated if the + + + + + level + base + + + + array is stored in a compressed internal format. + + + GL_INVALID_OPERATION is generated if the + + + + + level + base + + + + array was not specified with an unsized internal format or a sized internal format that is both + color-renderable and texture-filterable. + + + + API Version Support + + + + + + glGenerateMipmap + + + + + + + See Also + + glTexImage2D, + glBindTexture, + glGenTextures + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGet.xml b/Source/Bind/Specifications/Docs/ES30/glGet.xml new file mode 100644 index 00000000..052b7916 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGet.xml @@ -0,0 +1,2059 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGet + 3G + + + glGet + return the value or values of a selected parameter + + C Specification + + + void glGetBooleanv + GLenum pname + GLboolean * data + + + + + void glGetFloatv + GLenum pname + GLfloat * data + + + + + void glGetIntegerv + GLenum pname + GLint * data + + + + + void glGetInteger64v + GLenum pname + GLint64 * data + + + + + void glGetIntegeri_v + GLenum target + GLuint index + GLint * data + + + + + void glGetInteger64i_v + GLenum target + GLuint index + GLint64 * data + + + + Parameters + + + pname + + + Specifies the parameter value to be returned. + The symbolic constants in the list below are accepted. + + + + + target + + + Specifies the parameter value to be returned + for indexed versions of glGet. + The symbolic constants in the list below are accepted. + + + + + index + + + Specifies the index of the particular element being queried. + + + + + data + + + Returns the value or values of the specified parameter. + + + + + + Description + + These commands return values for simple state variables in GL. + pname is a symbolic constant indicating the state variable to be returned, + and params is a pointer to an array of the indicated type in + which to place the returned data. + + + Type conversion is performed if params has a different type than + the state variable value being requested. + If glGetBooleanv is called, + a floating-point (or integer) value is converted to GL_FALSE if + and only if it is 0.0 (or 0). + Otherwise, + it is converted to GL_TRUE. + If glGetIntegerv is called, boolean values are returned as + GL_TRUE or GL_FALSE, and most floating-point values are + rounded to the nearest integer value. Floating-point colors and + normals, however, are returned with a linear mapping that maps 1.0 to + the most positive representable integer value + and + + + -1.0 + + to the most negative representable integer value. + If glGetFloatv is called, + boolean values are returned as GL_TRUE or GL_FALSE, + and integer values are converted to floating-point values. + + + The following symbolic constants are accepted by pname: + + + + GL_ACTIVE_TEXTURE + + + params returns a single value indicating the active multitexture unit. + The initial value is GL_TEXTURE0. + See glActiveTexture. + + + + + GL_ALIASED_LINE_WIDTH_RANGE + + + params returns a pair of values indicating the range of + widths supported for aliased lines. See glLineWidth. + + + + + GL_ALIASED_POINT_SIZE_RANGE + + + params returns two values: + the smallest and largest supported sizes for + points. The smallest size must be at most 1, and the largest size must + be at least 1. + + + + + GL_ALPHA_BITS + + + params returns one value, + the number of alpha bitplanes in the color buffer of the + currently bound draw framebuffer. This is defined only if all color attachments + of the draw framebuffer have identical formats, in which case the number of alpha bits + of color attachment zero are returned. + + + + + GL_ARRAY_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_ARRAY_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_BLEND + + + params returns a single boolean value indicating whether blending is + enabled. The initial value is GL_FALSE. + See glBlendFunc. + + + + + GL_BLEND_COLOR + + + params returns four values, + the red, green, blue, and alpha values which are the components of + the blend color. + See glBlendColor. + + + + + GL_BLEND_DST_ALPHA + + + params returns one value, + the symbolic constant identifying the alpha destination blend + function. The initial value is GL_ZERO. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_DST_RGB + + + params returns one value, + the symbolic constant identifying the RGB destination blend + function. The initial value is GL_ZERO. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_EQUATION_ALPHA + + + params returns one value, a symbolic constant indicating whether + the Alpha blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN or GL_MAX. + See glBlendEquationSeparate. + + + + + GL_BLEND_EQUATION_RGB + + + params returns one value, a symbolic constant indicating whether + the RGB blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN or GL_MAX. + See glBlendEquationSeparate. + + + + + GL_BLEND_SRC_ALPHA + + + params returns one value, + the symbolic constant identifying the alpha source blend function. The initial + value is GL_ONE. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_SRC_RGB + + + params returns one value, + the symbolic constant identifying the RGB source blend function. The initial + value is GL_ONE. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLUE_BITS + + + params returns one value, + the number of blue bitplanes in the color buffer of the + currently bound draw framebuffer. This is defined only if all color attachments + of the draw framebuffer have identical formats, in which case the number of blue bits + of color attachment zero are returned. + + + + + GL_COLOR_CLEAR_VALUE + + + params returns four values: + the red, green, blue, and alpha values used to clear the color buffers. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 0, 0, 0). + See glClearColor. + + + + + GL_COLOR_WRITEMASK + + + params returns four boolean values: + the red, green, blue, and alpha write enables for the color + buffers. The initial value is (GL_TRUE, GL_TRUE, + GL_TRUE, GL_TRUE). + See glColorMask. + + + + + GL_COMPRESSED_TEXTURE_FORMATS + + + params returns a list of symbolic + constants of length GL_NUM_COMPRESSED_TEXTURE_FORMATS + indicating which compressed texture formats are available. + See glCompressedTexImage2D. + + + + + GL_COPY_READ_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_COPY_READ_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_COPY_WRITE_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_COPY_WRITE_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_CULL_FACE + + + params returns a single boolean value indicating whether polygon culling + is enabled. The initial value is GL_FALSE. + See glCullFace. + + + + + GL_CULL_FACE_MODE + + + params returns a single value indicating the mode of polygon culling. + The initial value is GL_BACK. + See glCullFace. + + + + + GL_CURRENT_PROGRAM + + + params returns one value, + the name of the program object that is currently active, or 0 if no program object is active. + See glUseProgram. + + + + + GL_DEPTH_BITS + + + params returns one value, + the number of bitplanes in the depth buffer of the + currently bound framebuffer. + + + + + GL_DEPTH_CLEAR_VALUE + + + params returns one value, + the value that is used to clear the depth buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is 1. + See glClearDepthf. + + + + + GL_DEPTH_FUNC + + + params returns one value, + the symbolic constant that indicates the depth comparison + function. The initial value is GL_LESS. + See glDepthFunc. + + + + + GL_DEPTH_RANGE + + + params returns two values: + the near and far mapping limits for the depth buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 1). + See glDepthRangef. + + + + + GL_DEPTH_TEST + + + params returns a single boolean value indicating whether depth testing + of fragments is enabled. The initial value is GL_FALSE. + See glDepthFunc and glDepthRangef. + + + + + GL_DEPTH_WRITEMASK + + + params returns a single boolean value indicating if the depth buffer + is enabled for writing. The initial value is GL_TRUE. + See glDepthMask. + + + + + GL_DITHER + + + params returns a single boolean value indicating whether dithering of + fragment colors and indices is enabled. The initial value is GL_TRUE. + + + + + GL_DRAW_BUFFERi + + + params returns one value, + a symbolic constant indicating which buffers are being drawn to by the corresponding output color. + See glDrawBuffers. + The initial value of GL_DRAW_BUFFER0 is GL_BACK. The + initial values of draw buffers for all other output colors is GL_NONE. + + + + + GL_DRAW_FRAMEBUFFER_BINDING + + + params returns one value, + the name of the framebuffer object currently bound to the GL_DRAW_FRAMEBUFFER target. + If the default framebuffer is bound, this value will be zero. The initial value is zero. + See glBindFramebuffer. + + + + + GL_ELEMENT_ARRAY_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_ELEMENT_ARRAY_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_FRAGMENT_SHADER_DERIVATIVE_HINT + + + params returns one value, + a symbolic constant indicating the mode of the derivative accuracy hint + for fragment shaders. The initial value + is GL_DONT_CARE. + See glHint. + + + + + GL_FRONT_FACE + + + params returns a single value indicating the winding order + of polygon front faces. + The initial value is GL_CCW. + See glFrontFace. + + + + + GL_GENERATE_MIPMAP_HINT + + + params returns one value, + a symbolic constant indicating the mode of the generate mipmap quality hint. + The initial value + is GL_DONT_CARE. + See glHint. + + + + + GL_GREEN_BITS + + + params returns one value, + the number of green bitplanes in the color buffer of the + currently bound draw framebuffer. This is defined only if all color attachments + of the draw framebuffer have identical formats, in which case the number of green bits + of color attachment zero are returned. + + + + + GL_IMPLEMENTATION_COLOR_READ_FORMAT + + + params returns one value, the format + chosen by the implementation in which pixels may be read from the + color buffer of the currently bound framebuffer in conjunction with + GL_IMPLEMENTATION_COLOR_READ_TYPE. + See glReadPixels. + + + + + GL_IMPLEMENTATION_COLOR_READ_TYPE + + + params returns one value, the type + chosen by the implementation with which pixels may be read from the + color buffer of the currently bound framebuffer in conjunction with + GL_IMPLEMENTATION_COLOR_READ_FORMAT. + See glReadPixels. + + + + + GL_LINE_WIDTH + + + + + params returns one value, + the line width as specified with glLineWidth. The initial value is + 1. + + + + + GL_MAJOR_VERSION + + + params returns one value, + the major version number of the OpenGL ES API supported by the current context. + This must be 3. + + + + + GL_MAX_3D_TEXTURE_SIZE + + + params returns one value, + a rough estimate of the largest 3D texture that the GL can handle. + The value must be at least 256. See glTexImage3D. + + + + + GL_MAX_ARRAY_TEXTURE_LAYERS + + + params returns one value. + The value indicates the maximum number of layers allowed in an array texture, and must be at least 256. + See glTexImage2D. + + + + + GL_MAX_COLOR_ATTACHMENTS + + + params returns one value, the maximum number + of color attachment points in a framebuffer object. + The value must be at least 4. + See glFramebufferRenderbuffer + and glFramebufferTexture2D. + + + + + GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS + + + params returns one value, + the number of words for fragment shader uniform variables in all uniform + blocks (including default). The value must be at least + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS + + GL_MAX_UNIFORM_BLOCK_SIZE * GL_MAX_FRAGMENT_UNIFORM_BLOCKS / 4. + See glUniform. + + + + + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the vertex shader and the fragment processor combined. + If both the vertex shader and the fragment processing stage access the same texture image + unit, then that counts as using two texture image units against this limit. + The value must be at least 32. + See glActiveTexture. + + + + + GL_MAX_COMBINED_UNIFORM_BLOCKS + + + params returns one value, + the maximum number of uniform blocks per program. The value must be at least 24. + See glUniformBlockBinding. + + + + + GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS + + + params returns one value, + the number of words for vertex shader uniform variables in all uniform + blocks (including default). The value must be at least . + GL_MAX_VERTEX_UNIFORM_COMPONENTS + + GL_MAX_UNIFORM_BLOCK_SIZE * GL_MAX_VERTEX_UNIFORM_BLOCKS / 4. + See glUniform. + + + + + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + params returns one value. + The value gives a rough estimate of the largest cube-map texture that + the GL can handle. The value must be at least 2048. + See glTexImage2D. + + + + + GL_MAX_DRAW_BUFFERS + + + params returns one value, the maximum number + of simultaneous outputs that may be written in a fragment shader. + The value must be at least 4. + See glDrawBuffers. + + + + + GL_MAX_ELEMENT_INDEX + + + params returns one value, + the maximum index supported by the implementation. + The value must be at least + + + + + 2 + 24 + + - + 1 + + . + + + + + GL_MAX_ELEMENTS_INDICES + + + params returns one value, + the recommended maximum number of vertex array indices. + See glDrawRangeElements. + + + + + GL_MAX_ELEMENTS_VERTICES + + + params returns one value, + the recommended maximum number of vertex array vertices. + See glDrawRangeElements. + + + + + GL_MAX_FRAGMENT_INPUT_COMPONENTS + + + params returns one value, + the maximum number of components of the inputs read by the fragment shader, which must be at least 60. + + + + + GL_MAX_FRAGMENT_UNIFORM_BLOCKS + + + params returns one value, + the maximum number of uniform blocks per fragment shader. The value must be at least 12. + See glUniformBlockBinding. + + + + + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS + + + params returns one value, + the maximum number of individual floating-point, integer, or boolean values that can be held + in uniform variable storage for a fragment shader. The value must be at least 896. + See glUniform. + + + + + GL_MAX_FRAGMENT_UNIFORM_VECTORS + + + params returns one value, + the maximum number of vector floating-point, integer, or boolean values that can be held + in uniform variable storage for a fragment shader. The value must be at least 224. + See glUniform. + + + + + GL_MAX_PROGRAM_TEXEL_OFFSET + + + params returns one value, + the maximum texel offset allowed in a texture lookup, which must be at least 7. + + + + + GL_MAX_RENDERBUFFER_SIZE + + + params returns one value. + The value indicates the maximum supported size for renderbuffers and must be at least 2048. + See glFramebufferRenderbuffer. + + + + + GL_MAX_SAMPLES + + + params returns one value. + The value indicates the maximum supported number of samples for multisampling. + The value must be at least 4. + See glGetInternalformativ. + + + + + GL_MAX_SERVER_WAIT_TIMEOUT + + + params returns one value, + the maximum glWaitSync timeout interval. + + + + + GL_MAX_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the fragment shader. + The value must be at least 16. + See glActiveTexture. + + + + + GL_MAX_TEXTURE_LOD_BIAS + + + params returns one value, + the maximum, absolute value of the texture level-of-detail bias. The + value must be at least 2.0. + + + + + GL_MAX_TEXTURE_SIZE + + + params returns one value. + The value gives a rough estimate of the largest texture that + the GL can handle. The value must be at least 2048. + See glTexImage2D. + + + + + GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS + + + params returns one value, + the maximum number of components which can be written to a single transform feedback buffer in + interleaved mode. The value must be at least 64. + See glTransformFeedbackVaryings. + + + + + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS + + + params returns one value, + the maximum separate attributes or outputs which can be captured in separate + transform feedback mode. The value must be at least 4. + See glTransformFeedbackVaryings. + + + + + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS + + + params returns one value, + the maximum number of components which can be written per attribute or output in separate + transform feedback mode. The value must be at least 4. + See glTransformFeedbackVaryings. + + + + + GL_MAX_UNIFORM_BLOCK_SIZE + + + params returns one value, + the maximum size in basic machine units of a uniform block. + The value must be at least 16384. + See glUniformBlockBinding. + + + + + GL_MAX_UNIFORM_BUFFER_BINDINGS + + + params returns one value, + the maximum number of uniform buffer binding points on the context, which must be at least 24. + + + + + GL_MAX_VARYING_COMPONENTS + + + params returns one value, + the number components for varying variables, which must be at least 60. + + + + + GL_MAX_VARYING_VECTORS + + + params returns one value, + the maximum number of interpolators available for processing varying variables used by + vertex and fragment shaders. This value represents the number of vector + values that can be interpolated; varying variables declared as matrices and arrays + will consume multiple interpolators. The value must be at least 15. + + + + + GL_MAX_VERTEX_ATTRIBS + + + params returns one value, + the maximum number of 4-component generic vertex attributes accessible to a vertex shader. + The value must be at least 16. + See glVertexAttrib. + + + + + GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the vertex shader. The value may be at least 16. + See glActiveTexture. + + + + + GL_MAX_VERTEX_OUTPUT_COMPONENTS + + + + + params returns one value, + the maximum number of components of output written by a vertex shader, which must be at least 64. + + + + + GL_MAX_VERTEX_UNIFORM_BLOCKS + + + + + params returns one value, + the maximum number of uniform blocks per vertex shader. The value must be at least 12. + See glUniformBlockBinding. + + + + + GL_MAX_VERTEX_UNIFORM_COMPONENTS + + + + + params returns one value, + the maximum number of individual floating-point, integer, or boolean values that can be held + in uniform variable storage for a vertex shader. The value must be at least 1024. + See glUniform. + + + + + GL_MAX_VERTEX_UNIFORM_VECTORS + + + + + params returns one value, + the maximum number of vector floating-point, integer, or boolean values that can be held + in uniform variable storage for a vertex shader. The value must be at least 256. + See glUniform. + + + + + GL_MAX_VIEWPORT_DIMS + + + + + params returns two values: + the maximum supported width and height of the viewport. + These must be at least as large as the visible dimensions of the display + being rendered to. + See glViewport. + + + + + GL_MIN_PROGRAM_TEXEL_OFFSET + + + + + params returns one value, + the minimum texel offset allowed in a texture lookup, which must be at most -8. + + + + + GL_MINOR_VERSION + + + + + params returns one value, + the minor version number of the OpenGL ES API supported by the current context. + + + + + GL_NUM_COMPRESSED_TEXTURE_FORMATS + + + + + params returns a single integer value indicating the number of available + compressed texture formats. The minimum value is 10. + See glCompressedTexImage2D. + + + + + GL_NUM_EXTENSIONS + + + + + params returns one value, + the number of extensions supported by the GL implementation for the current context. + See glGetString. + + + + + GL_NUM_PROGRAM_BINARY_FORMATS + + + + + params returns a single integer value indicating the number of available + program binary formats. The minimum value is 0. + See glProgramBinary. + + + + + GL_NUM_SHADER_BINARY_FORMATS + + + + + params returns a single integer value indicating the number of available + shader binary formats. The minimum value is 0. + See glShaderBinary. + + + + + GL_PACK_ALIGNMENT + + + + + params returns one value, + the byte alignment used for writing pixel data to memory. The initial + value is 4. + See glPixelStorei. + + + + + GL_PACK_ROW_LENGTH + + + + + params returns one value, + the row length used for writing pixel data to memory. The initial value is + 0. + See glPixelStorei. + + + + + GL_PACK_SKIP_PIXELS + + + + + params returns one value, + the number of pixel locations skipped before the first pixel is written + into memory. The initial value is 0. + See glPixelStorei. + + + + + GL_PACK_SKIP_ROWS + + + + + params returns one value, + the number of rows of pixel locations skipped before the first pixel is written + into memory. The initial value is 0. + See glPixelStorei. + + + + + GL_PIXEL_PACK_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_PIXEL_PACK_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_PIXEL_UNPACK_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_PIXEL_UNPACK_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_POLYGON_OFFSET_FACTOR + + + params returns one value, + the scaling factor used to determine the variable offset that is added + to the depth value of each fragment generated when a polygon is + rasterized. The initial value is 0. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_FILL + + + params returns a single boolean value indicating whether polygon offset + is enabled for polygons. The initial value is GL_FALSE. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_UNITS + + + params returns one value. + This value is multiplied by an implementation-specific value and then + added to the depth value of each fragment + generated when a polygon is rasterized. The initial value is 0. + See glPolygonOffset. + + + + + GL_PRIMITIVE_RESTART_FIXED_INDEX + + + params returns a single boolean value indicating whether primitive restart + with a fixed index is enabled. The initial value is GL_FALSE. + + + + + GL_PROGRAM_BINARY_FORMATS + + + params returns a list of symbolic + constants of length GL_NUM_PROGRAM_BINARY_FORMATS + indicating which program binary formats are available. + See glProgramBinary. + + + + + GL_READ_BUFFER + + + params returns one value, + a symbolic constant indicating which color buffer is selected for + reading. The initial value is GL_BACK. + See + glReadPixels. + + + + + GL_READ_FRAMEBUFFER_BINDING + + + params returns one value, + the name of the framebuffer object currently bound to the GL_READ_FRAMEBUFFER target. + If the default framebuffer is bound, this value will be zero. The initial value is zero. + See glBindFramebuffer. + + + + + GL_RED_BITS + + + params returns one value, + the number of red bitplanes in the color buffer of the + currently bound draw framebuffer. This is defined only if all color attachments + of the draw framebuffer have identical formats, in which case the number of red bits + of color attachment zero are returned. + + + + + GL_RENDERBUFFER_BINDING + + + + + params returns a single value, the name of the renderbuffer object + currently bound to the target GL_RENDERBUFFER. If no renderbuffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindRenderbuffer. + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + + + params returns a single boolean value indicating whether modification + of sample coverage based on alpha is + enabled. The initial value is GL_FALSE. + See glSampleCoverage. + + + + + GL_SAMPLE_BUFFERS + + + + + params returns a single integer value indicating the number of sample buffers + associated with the framebuffer. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE + + + + + params returns a single boolean value indicating whether modification + of sample coverage based on the value specified by + glSampleCoverage is + enabled. The initial value is GL_FALSE. + + + + + GL_SAMPLE_COVERAGE_INVERT + + + + + params returns a single boolean value indicating if the temporary + coverage value should be inverted. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE_VALUE + + + + + params returns a single positive floating-point value indicating the + current sample coverage value. + See glSampleCoverage. + + + + + GL_SAMPLER_BINDING + + + + + params returns a single value, the name of the sampler object + currently bound to the active texture unit. The initial value is 0. + See glBindSampler. + + + + + GL_SAMPLES + + + + + params returns a single integer value indicating the coverage mask size. + See glSampleCoverage. + + + + + GL_SCISSOR_BOX + + + + + params returns four values: + the + x + and + y + window coordinates of the scissor box, + followed by its width and height. + Initially the + x + and + y + window coordinates are both 0 and the + width and height are set to the size of the window. + See glScissor. + + + + + GL_SCISSOR_TEST + + + + + params returns a single boolean value indicating whether scissoring is + enabled. The initial value is GL_FALSE. + See glScissor. + + + + + GL_SHADER_BINARY_FORMATS + + + + + params returns a list of symbolic + constants of length GL_NUM_SHADER_BINARY_FORMATS + indicating which shader binary formats are available. + See glShaderBinary. + + + + + GL_SHADER_COMPILER + + + + + params returns a single boolean value indicating whether + a shader compiler is supported. This value is always GL_TRUE. + See glCompileShader. + + + + + GL_STENCIL_BACK_FAIL + + + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test fails. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_FUNC + + + + + params returns one value, + a symbolic constant indicating what function is used for back-facing polygons to compare the + stencil reference value with the stencil buffer value. The initial value + is GL_ALWAYS. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_PASS_DEPTH_FAIL + + + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test passes, + but the depth test fails. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_PASS_DEPTH_PASS + + + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test passes and the depth test passes. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_REF + + + + + params returns one value, + the reference value that is compared with the contents of the stencil + buffer for back-facing polygons. The initial value is 0. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_VALUE_MASK + + + + + params returns one value, + the mask that is used for back-facing polygons to mask both the stencil reference value and the + stencil buffer value before they are compared. The initial value is all 1's. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_WRITEMASK + + + + + params returns one value, + the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value + is all 1's. + See glStencilMaskSeparate. + + + + + GL_STENCIL_BITS + + + params returns one value, + the number of bitplanes in the stencil buffer of the + currently bound framebuffer. + + + + + GL_STENCIL_CLEAR_VALUE + + + + + params returns one value, + the index to which the stencil bitplanes are cleared. The initial value is + 0. + See glClearStencil. + + + + + GL_STENCIL_FAIL + + + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test fails. The initial value is GL_KEEP. + See glStencilOp. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_FUNC + + + + + params returns one value, + a symbolic constant indicating what function is used to compare the + stencil reference value with the stencil buffer value. The initial value + is GL_ALWAYS. + See glStencilFunc. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_PASS_DEPTH_FAIL + + + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test passes, + but the depth test fails. The initial value is GL_KEEP. + See glStencilOp. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_PASS_DEPTH_PASS + + + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test passes and the depth test passes. The initial value is GL_KEEP. + See glStencilOp. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_REF + + + + + params returns one value, + the reference value that is compared with the contents of the stencil + buffer. The initial value is 0. + See glStencilFunc. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_TEST + + + + + params returns a single boolean value indicating whether stencil testing + of fragments is enabled. The initial value is GL_FALSE. + See glStencilFunc and glStencilOp. + + + + + GL_STENCIL_VALUE_MASK + + + + + params returns one value, + the mask that is used to mask both the stencil reference value and the + stencil buffer value before they are compared. The initial value is all 1's. + See glStencilFunc. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_WRITEMASK + + + + + params returns one value, + the mask that controls writing of the stencil bitplanes. The initial value + is all 1's. + See glStencilMask. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilMaskSeparate. + + + + + GL_SUBPIXEL_BITS + + + + + params returns one value, + an estimate of the number of bits of subpixel resolution that are used to + position rasterized geometry in window coordinates. The value must be at least 4. + + + + + GL_TEXTURE_BINDING_2D + + + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_2D. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_2D_ARRAY + + + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_2D_ARRAY. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_3D + + + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_3D. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_CUBE_MAP + + + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_CUBE_MAP. The initial value is 0. + See glBindTexture. + + + + + GL_TRANSFORM_FEEDBACK_BINDING + + + + + params returns a single value, the name of the transform feedback object + currently bound to the GL_TRANSFORM_FEEDBACK target. If no transform feedback object + is bound to this target, 0 is returned. The initial value is 0. + See glBindTransformFeedback. + + + + + GL_TRANSFORM_FEEDBACK_ACTIVE + + + + + params returns a single boolean value indicating if the currently + bound transform feedback object is active. + See glBeginTransformFeedback + and glResumeTransformFeedback. + + + + + GL_TRANSFORM_FEEDBACK_BUFFER_BINDING + + + + + When used with non-indexed variants of glGet (such as glGetIntegerv), + params returns a single value, the name of the buffer object + currently bound to the target GL_TRANSFORM_FEEDBACK_BUFFER. If no buffer object + is bound to this target, 0 is returned. + When used with indexed variants of glGet (such as glGetIntegeri_v), + params returns a single value, the name of the buffer object + bound to the indexed transform feedback attribute stream. The initial value is 0 for all targets. + See glBindBuffer, glBindBufferBase, and + glBindBufferRange. + + + + + GL_TRANSFORM_FEEDBACK_PAUSED + + + + + params returns a single boolean value indicating if the currently + bound transform feedback object is paused. + See glPauseTransformFeedback. + + + + + GL_TRANSFORM_FEEDBACK_BUFFER_SIZE + + + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the size of the binding range for each + transform feedback attribute stream. The initial value is 0 for all streams. + See glBindBufferRange. + + + + + GL_TRANSFORM_FEEDBACK_BUFFER_START + + + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the start offset of the binding range for each + transform feedback attribute stream. The initial value is 0 for all streams. + See glBindBufferRange. + + + + + GL_UNIFORM_BUFFER_BINDING + + + + + When used with non-indexed variants of glGet (such as glGetIntegerv), + params returns a single value, the name of the buffer object + currently bound to the target GL_UNIFORM_BUFFER. If no buffer object + is bound to this target, 0 is returned. + When used with indexed variants of glGet (such as glGetIntegeri_v), + params returns a single value, the name of the buffer object + bound to the indexed uniform buffer binding point. The initial value is 0 for all targets. + See glBindBuffer, glBindBufferBase, and + glBindBufferRange. + + + + + GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT + + + + + params returns a single value, the minimum required alignment + for uniform buffer sizes and offset. The initial value is 1. + See glUniformBlockBinding. + + + + + GL_UNIFORM_BUFFER_SIZE + + + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the size of the binding range for each + indexed uniform buffer binding. The initial value is 0 for all bindings. + See glBindBufferRange. + + + + + GL_UNIFORM_BUFFER_START + + + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the start offset of the binding range for each + indexed uniform buffer binding. The initial value is 0 for all bindings. + See glBindBufferRange. + + + + + GL_UNPACK_ALIGNMENT + + + + + params returns one value, + the byte alignment used for reading pixel data from memory. The initial + value is 4. + See glPixelStorei. + + + + + GL_UNPACK_IMAGE_HEIGHT + + + + + params returns one value, + the image height used for reading pixel data from memory. The initial + is 0. + See glPixelStorei. + + + + + GL_UNPACK_ROW_LENGTH + + + + + params returns one value, + the row length used for reading pixel data from memory. The initial value + is 0. + See glPixelStorei. + + + + + GL_UNPACK_SKIP_IMAGES + + + + + params returns one value, + the number of pixel images skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStorei. + + + + + GL_UNPACK_SKIP_PIXELS + + + + + params returns one value, + the number of pixel locations skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStorei. + + + + + GL_UNPACK_SKIP_ROWS + + + + + params returns one value, + the number of rows of pixel locations skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStorei. + + + + + GL_VERTEX_ARRAY_BINDING + + + + + params returns a single value, the name of the vertex array object + currently bound. If no vertex array object is bound, 0 is returned. The initial value is 0. + See glBindVertexArray. + + + + + GL_VIEWPORT + + + + + params returns four values: + the + x + and + y + window coordinates of the viewport, + followed by its width and height. + Initially the + x + and + y + window coordinates are both set to 0, + and the width and height are set to the width and height of the window into + which the GL will do its rendering. + See glViewport. + + + + + + Many of the boolean parameters can also be queried more easily using + glIsEnabled. + + + Notes + + The following parameters return the associated value for the active texture unit: + GL_TEXTURE_2D, GL_TEXTURE_BINDING_2D, + GL_TEXTURE_3D and GL_TEXTURE_BINDING_3D. + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_VALUE is generated on either glGetIntegeri_v, + or glGetInteger64i_v if + index is outside of the valid range for the indexed state target. + + + + API Version Support + + + + + + glGetBooleanv + + + + glGetFloatv + + + + glGetIntegerv + + + + glGetInteger64v + + + + glGetIntegeri_v + + + + glGetInteger64i_v + + + + + + + See Also + + glGetActiveUniform, + glGetAttachedShaders, + glGetAttribLocation, + glGetBufferParameter, + glGetBufferPointerv, + glGetError, + glGetProgramiv, + glGetProgramInfoLog, + glGetQueryiv, + glGetQueryObjectuiv, + glGetShaderiv, + glGetShaderInfoLog, + glGetShaderSource, + glGetString, + glGetTexParameter, + glGetUniform, + glGetUniformLocation, + glGetVertexAttrib, + glGetVertexAttribPointerv, + glIsEnabled + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetActiveAttrib.xml b/Source/Bind/Specifications/Docs/ES30/glGetActiveAttrib.xml new file mode 100644 index 00000000..87e2bdaa --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetActiveAttrib.xml @@ -0,0 +1,233 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetActiveAttrib + 3G + + + glGetActiveAttrib + Returns information about an active attribute variable for the specified program object + + C Specification + + + void glGetActiveAttrib + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + index + + Specifies the index of the attribute variable + to be queried. + + + + bufSize + + Specifies the maximum number of characters + OpenGL is allowed to write in the character buffer + indicated by name. + + + + length + + Returns the number of characters actually + written by OpenGL in the string indicated by + name (excluding the null + terminator) if a value other than + NULL is passed. + + + + size + + Returns the size of the attribute + variable. + + + + type + + Returns the data type of the attribute + variable. + + + + name + + Returns a null terminated string containing + the name of the attribute variable. + + + + + Description + glGetActiveAttrib returns information + about an active attribute variable in the program object + specified by program. The number of + active attributes can be obtained by calling + glGetProgramiv + with the value GL_ACTIVE_ATTRIBUTES. A + value of zero for index selects the first + active attribute variable. Permissible values for + index range from zero to the number of + active attribute variables minus one. + + Attribute variables have arbitrary names and obtain their values + through numbered generic vertex attributes. An attribute + variable is considered active + if it is determined during the link operation that it may be + accessed during program execution. Therefore, + program should have previously been the + target of a call to + glLinkProgram, + but it is not necessary for it to have been linked + successfully. + + The size of the character buffer required to store the + longest attribute variable name in + program can be obtained by calling + glGetProgramiv + with the value + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. This value + should be used to allocate a buffer of sufficient size to store + the returned attribute name. The size of this character buffer + is passed in bufSize, and a pointer to + this character buffer is passed in + name. + + glGetActiveAttrib returns the name of + the attribute variable indicated by + index, storing it in the character buffer + specified by name. The string returned + will be null terminated. The actual number of characters written + into this buffer is returned in length, + and this count does not include the null termination character. + If the length of the returned string is not required, a value of + NULL can be passed in the + length argument. + + The type argument will return a + pointer to the attribute variable's data type. The symbolic + constants GL_FLOAT, + GL_FLOAT_VEC2, + GL_FLOAT_VEC3, + GL_FLOAT_VEC4, + GL_FLOAT_MAT2, + GL_FLOAT_MAT3, + GL_FLOAT_MAT4, + GL_FLOAT_MAT2x3, + GL_FLOAT_MAT2x4, + GL_FLOAT_MAT3x2, + GL_FLOAT_MAT3x4, + GL_FLOAT_MAT4x2, + GL_FLOAT_MAT4x3, + GL_INT, + GL_INT_VEC2, + GL_INT_VEC3, + GL_INT_VEC4, + GL_UNSIGNED_INT, + GL_UNSIGNED_INT_VEC2, + GL_UNSIGNED_INT_VEC3, or + GL_UNSIGNED_INT_VEC4 may be returned. The + size argument will return the size of the + attribute, in units of the type returned in + type. + + This function will return as much information as it can + about the specified active attribute variable. If no information + is available, length will be 0, and + name will be an empty string. This + situation could occur if this function is called after a link + operation that failed. If an error occurs, the return values + length, size, + type, and name + will be unmodified. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + index is greater than or equal to the + number of active attribute variables in + program. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS. + + glGetProgramiv + with argument GL_ACTIVE_ATTRIBUTES or + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. + + glIsProgram + + + API Version Support + + + + + + glGetActiveAttrib + + + + + + + See Also + glBindAttribLocation, + glLinkProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetActiveUniform.xml b/Source/Bind/Specifications/Docs/ES30/glGetActiveUniform.xml new file mode 100644 index 00000000..8c500c6a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetActiveUniform.xml @@ -0,0 +1,596 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetActiveUniform + 3G + + + glGetActiveUniform + Returns information about an active uniform variable for the specified program object + + C Specification + + + void glGetActiveUniform + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + index + + Specifies the index of the uniform variable to + be queried. + + + + bufSize + + Specifies the maximum number of characters + OpenGL is allowed to write in the character buffer + indicated by name. + + + + length + + Returns the number of characters actually + written by OpenGL in the string indicated by + name (excluding the null + terminator) if a value other than + NULL is passed. + + + + size + + Returns the size of the uniform + variable. + + + + type + + Returns the data type of the uniform + variable. + + + + name + + Returns a null terminated string containing + the name of the uniform variable. + + + + + Description + glGetActiveUniform returns + information about an active uniform variable in the program + object specified by program. The number + of active uniform variables can be obtained by calling + glGetProgramiv + with the value GL_ACTIVE_UNIFORMS. A value + of zero for index selects the first active + uniform variable. Permissible values for + index range from zero to the number of + active uniform variables minus one. + + Shaders may use either built-in uniform variables, + user-defined uniform variables, or both. Built-in uniform + variables have a prefix of "gl_" and reference + existing OpenGL state or values derived from such state (e.g., + gl_DepthRange, see the OpenGL + Shading Language specification for a complete list.) + User-defined uniform variables have arbitrary names and obtain + their values from the application through calls to + glUniform. + A uniform variable (either built-in or user-defined) is + considered active if it is determined during the link operation + that it may be accessed during program execution. Therefore, + program should have previously been the + target of a call to + glLinkProgram, + but it is not necessary for it to have been linked + successfully. + + The size of the character buffer required to store the + longest uniform variable name in program + can be obtained by calling + glGetProgramiv + with the value + GL_ACTIVE_UNIFORM_MAX_LENGTH. This value + should be used to allocate a buffer of sufficient size to store + the returned uniform variable name. The size of this character + buffer is passed in bufSize, and a + pointer to this character buffer is passed in + name. + + glGetActiveUniform returns the name + of the uniform variable indicated by + index, storing it in the character buffer + specified by name. The string returned + will be null terminated. The actual number of characters written + into this buffer is returned in length, + and this count does not include the null termination character. + If the length of the returned string is not required, a value of + NULL can be passed in the + length argument. + + The type + argument will return a pointer to the uniform variable's data + type. The symbolic constants returned for uniform types are shown in the + table below. + + + + + + + + Returned Symbolic Contant + + Shader Uniform Type + + + + + + + GL_FLOAT + + + float + + + + + GL_FLOAT_VEC2 + + + vec2 + + + + + GL_FLOAT_VEC3 + + + vec3 + + + + + GL_FLOAT_VEC4 + + + vec4 + + + + + GL_INT + + + int + + + + + GL_INT_VEC2 + + + ivec2 + + + + + GL_INT_VEC3 + + + ivec3 + + + + + GL_INT_VEC4 + + + ivec4 + + + + + GL_UNSIGNED_INT + + + unsigned int + + + + + GL_UNSIGNED_INT_VEC2 + + + uvec2 + + + + + GL_UNSIGNED_INT_VEC3 + + + uvec3 + + + + + GL_UNSIGNED_INT_VEC4 + + + uvec4 + + + + + GL_BOOL + + + bool + + + + + GL_BOOL_VEC2 + + + bvec2 + + + + + GL_BOOL_VEC3 + + + bvec3 + + + + + GL_BOOL_VEC4 + + + bvec4 + + + + + GL_FLOAT_MAT2 + + + mat2 + + + + + GL_FLOAT_MAT3 + + + mat3 + + + + + GL_FLOAT_MAT4 + + + mat4 + + + + + GL_FLOAT_MAT2x3 + + + mat2x3 + + + + + GL_FLOAT_MAT2x4 + + + mat2x4 + + + + + GL_FLOAT_MAT3x2 + + + mat3x2 + + + + + GL_FLOAT_MAT3x4 + + + mat3x4 + + + + + GL_FLOAT_MAT4x2 + + + mat4x2 + + + + + GL_FLOAT_MAT4x3 + + + mat4x3 + + + + + GL_SAMPLER_2D + + + sampler2D + + + + + GL_SAMPLER_3D + + + sampler3D + + + + + GL_SAMPLER_CUBE + + + samplerCube + + + + + GL_SAMPLER_2D_SHADOW + + + sampler2DShadow + + + + + GL_SAMPLER_2D_ARRAY + + + sampler2DArray + + + + + GL_SAMPLER_2D_ARRAY_SHADOW + + + sampler2DArrayShadow + + + + + GL_SAMPLER_CUBE_SHADOW + + + samplerCubeShadow + + + + + GL_INT_SAMPLER_2D + + + isampler2D + + + + + GL_INT_SAMPLER_3D + + + isampler3D + + + + + GL_INT_SAMPLER_CUBE + + + isamplerCube + + + + + GL_INT_SAMPLER_2D_ARRAY + + + isampler2DArray + + + + + GL_UNSIGNED_INT_SAMPLER_2D + + + usampler2D + + + + + GL_UNSIGNED_INT_SAMPLER_3D + + + usampler3D + + + + + GL_UNSIGNED_INT_SAMPLER_CUBE + + + usamplerCube + + + + + GL_UNSIGNED_INT_SAMPLER_2D_ARRAY + + + usampler2DArray + + + + + + + + If one or more elements of an array are active, the name + of the array is returned in name, the + type is returned in type, and the + size parameter returns the highest array + element index used, plus one, as determined by the compiler + and/or linker. Only one active uniform variable will be reported + for a uniform array. If the active uniform is an array, the uniform + name returned in name will always + be the name of the uniform array appended with "[0]". + + Uniform variables that are declared as structures or + arrays of structures will not be returned directly by this + function. Instead, each of these uniform variables will be + reduced to its fundamental components containing the + "." and "[]" operators such that each of the + names is valid as an argument to + glGetUniformLocation. + Each of these reduced uniform variables is counted as one active + uniform variable and is assigned an index. A valid name cannot + be a structure, an array of structures, or a subcomponent of a + vector or matrix. + + The size of the uniform variable will be returned in + size. Uniform variables other than arrays + will have a size of 1. Structures and arrays of structures will + be reduced as described earlier, such that each of the names + returned will be a data type in the earlier list. If this + reduction results in an array, the size returned will be as + described for uniform arrays; otherwise, the size returned will + be 1. + + The list of active uniform variables may include both + built-in uniform variables (which begin with the prefix + "gl_") as well as user-defined uniform variable + names. + + This function will return as much information as it can + about the specified active uniform variable. If no information + is available, length will be 0, and + name will be an empty string. This + situation could occur if this function is called after a link + operation that failed. If an error occurs, the return values + length, size, + type, and name + will be unmodified. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + index is greater than or equal to the + number of active uniform variables in + program. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS, + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, + GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, or + GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS. + + glGetProgramiv + with argument GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH. + + glIsProgram + + + API Version Support + + + + + + glGetActiveUniform + + + + + + + See Also + glGetUniform, + glGetUniformLocation, + glLinkProgram, + glUniform, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformBlockName.xml b/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformBlockName.xml new file mode 100644 index 00000000..1b61372c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformBlockName.xml @@ -0,0 +1,142 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetActiveUniformBlockName + 3G + + + glGetActiveUniformBlockName + retrieve the name of an active uniform block + + C Specification + + + void glGetActiveUniformBlockName + GLuint program + GLuint uniformBlockIndex + GLsizei bufSize + GLsizei *length + GLchar *uniformBlockName + + + + Parameters + + + program + + + Specifies the name of a program containing the uniform block. + + + + + uniformBlockIndex + + + Specifies the index of the uniform block within program. + + + + + bufSize + + + Specifies the size of the buffer addressed by uniformBlockName. + + + + + length + + + Specifies the address of a variable to receive the number of characters that were written to uniformBlockName. + + + + + uniformBlockName + + + Specifies the address an array of characters to receive the name of the uniform block at uniformBlockIndex. + + + + + + Description + + glGetActiveUniformBlockName retrieves the name of the active uniform block at uniformBlockIndex + within program. + + + program must be the name of a program object for which the command + glLinkProgram must have been called in the past, although it is not required that + glLinkProgram must have succeeded. The link could have failed because the number + of active uniforms exceeded the limit. + + + uniformBlockIndex is an active uniform block index of program, and must be less than the value + of GL_ACTIVE_UNIFORM_BLOCKS. + + + Upon success, the name of the uniform block identified by unifomBlockIndex is returned into + uniformBlockName. The name is nul-terminated. The actual number of characters written into uniformBlockName, + excluding the nul terminator, is returned in length. If length is NULL, no length is returned. + + + bufSize contains the maximum number of characters (including the nul terminator) that will be written into + uniformBlockName. + + + If an error occurs, nothing will be written to uniformBlockName or length. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the name of a program object for which + glLinkProgram has been called in the past. + + + GL_INVALID_VALUE is generated if uniformBlockIndex is greater than or equal to the value + of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program. + + + + API Version Support + + + + + + glGetActiveUniformBlockName + + + + + + + See Also + + glGetActiveUniformBlockiv, + glGetUniformBlockIndex + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformBlockiv.xml b/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformBlockiv.xml new file mode 100644 index 00000000..3ea8d824 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformBlockiv.xml @@ -0,0 +1,159 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetActiveUniformBlockiv + 3G + + + glGetActiveUniformBlockiv + query information about an active uniform block + + C Specification + + + void glGetActiveUniformBlockiv + GLuint program + GLuint uniformBlockIndex + GLenum pname + GLint *params + + + + Parameters + + + program + + + Specifies the name of a program containing the uniform block. + + + + + uniformBlockIndex + + + Specifies the index of the uniform block within program. + + + + + pname + + + Specifies the name of the parameter to query. + + + + + params + + + Specifies the address of a variable to receive the result of the query. + + + + + + Description + + glGetActiveUniformBlockiv retrieves information about an active uniform block within program. + + + program must be the name of a program object for which the command + glLinkProgram must have been called in the past, although it is not required that + glLinkProgram must have succeeded. The link could have failed because the number + of active uniforms exceeded the limit. + + + uniformBlockIndex is an active uniform block index of program, and must be less than the value + of GL_ACTIVE_UNIFORM_BLOCKS. + + + Upon success, the uniform block parameter(s) specified by pname are returned in params. If an error + occurs, nothing will be written to params. + + + If pname is GL_UNIFORM_BLOCK_BINDING, then the index of the uniform buffer binding point + last selected by the uniform block specified by uniformBlockIndex for program is returned. If + no uniform block has been previously specified, zero is returned. + + + If pname is GL_UNIFORM_BLOCK_DATA_SIZE, then the implementation-dependent minimum total buffer + object size, in basic machine units, required to hold all active uniforms in the uniform block identified by uniformBlockIndex + is returned. It is neither guaranteed nor expected that a given implementation will arrange uniform values as tightly packed in a buffer + object. The exception to this is the std140 uniform block layout, which guarantees specific packing behavior and does not + require the application to query for offsets and strides. In this case the minimum size may still be queried, even though it is determined in + advance based only on the uniform block declaration. + + + If pname is GL_UNIFORM_BLOCK_NAME_LENGTH, then the total length (including the nul terminator) of + the name of the uniform block identified by uniformBlockIndex is returned. + + + If pname is GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, then the number of active uniforms in the uniform + block identified by uniformBlockIndex is returned. + + + If pname is GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, then a list of the active uniform indices + for the uniform block identified by uniformBlockIndex is returned. The number of elements that will be written to + params is the value of GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS for uniformBlockIndex. + + + If pname is GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, + or GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, then a boolean value indicating whether the uniform block identified by + uniformBlockIndex is referenced by the vertex or fragment programming stages of program, respectively, is returned. + + + Errors + + GL_INVALID_VALUE is generated if uniformBlockIndex is greater than or equal to the value + of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program. + + + GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. + + + GL_INVALID_OPERATION is generated if program is not the name of a program object for which + glLinkProgram has been called in the past. + + + + API Version Support + + + + + + glGetActiveUniformBlockiv + + + + + + + See Also + + glGetActiveUniformBlockName, + glGetUniformBlockIndex, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformsiv.xml b/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformsiv.xml new file mode 100644 index 00000000..592d7618 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetActiveUniformsiv.xml @@ -0,0 +1,530 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetActiveUniformsiv + 3G + + + glGetActiveUniformsiv + Returns information about several active uniform variables for the specified program object + + C Specification + + + void glGetActiveUniformsiv + GLuint program + GLsizei uniformCount + const GLuint *uniformIndices + GLenum pname + GLint *params + + + + Parameters + + + program + + Specifies the program object to be queried. + + + + uniformCount + + Specifies both the number of elements in the array of indices uniformIndices and the + number of parameters written to params upon successful return. + + + + uniformIndices + + Specifies the address of an array of uniformCount integers containing the indices of + uniforms within program whose parameter pname should be queried. + + + + pname + + Specifies the property of each uniform in uniformIndices that should be + written into the corresponding element of params. + + + + params + + Specifies the address of an array of uniformCount integers which are to + receive the value of pname for each uniform in uniformIndices. + + + + + Description + + glGetActiveUniformsiv queries the value of the parameter named pname + for each of the uniforms within program whose indices are specified in the array of + uniformCount unsigned integers uniformIndices. Upon success, + the value of the parameter for each uniform is written into the corresponding entry in the array whose + address is given in params. If an error is generated, nothing is written into + params. + + + If pname is GL_UNIFORM_TYPE, then an array identifying the types + of uniforms specified by the corresponding array of uniformIndices is returned. The + returned types can be any of the values from the following table: + + + + + + + + Returned Symbolic Contant + + Shader Uniform Type + + + + + + + GL_FLOAT + + + float + + + + + GL_FLOAT_VEC2 + + + vec2 + + + + + GL_FLOAT_VEC3 + + + vec3 + + + + + GL_FLOAT_VEC4 + + + vec4 + + + + + GL_INT + + + int + + + + + GL_INT_VEC2 + + + ivec2 + + + + + GL_INT_VEC3 + + + ivec3 + + + + + GL_INT_VEC4 + + + ivec4 + + + + + GL_UNSIGNED_INT + + + unsigned int + + + + + GL_UNSIGNED_INT_VEC2 + + + uvec2 + + + + + GL_UNSIGNED_INT_VEC3 + + + uvec3 + + + + + GL_UNSIGNED_INT_VEC4 + + + uvec4 + + + + + GL_BOOL + + + bool + + + + + GL_BOOL_VEC2 + + + bvec2 + + + + + GL_BOOL_VEC3 + + + bvec3 + + + + + GL_BOOL_VEC4 + + + bvec4 + + + + + GL_FLOAT_MAT2 + + + mat2 + + + + + GL_FLOAT_MAT3 + + + mat3 + + + + + GL_FLOAT_MAT4 + + + mat4 + + + + + GL_FLOAT_MAT2x3 + + + mat2x3 + + + + + GL_FLOAT_MAT2x4 + + + mat2x4 + + + + + GL_FLOAT_MAT3x2 + + + mat3x2 + + + + + GL_FLOAT_MAT3x4 + + + mat3x4 + + + + + GL_FLOAT_MAT4x2 + + + mat4x2 + + + + + GL_FLOAT_MAT4x3 + + + mat4x3 + + + + + GL_SAMPLER_2D + + + sampler2D + + + + + GL_SAMPLER_3D + + + sampler3D + + + + + GL_SAMPLER_CUBE + + + samplerCube + + + + + GL_SAMPLER_2D_SHADOW + + + sampler2DShadow + + + + + GL_SAMPLER_2D_ARRAY + + + sampler2DArray + + + + + GL_SAMPLER_2D_ARRAY_SHADOW + + + sampler2DArrayShadow + + + + + GL_SAMPLER_CUBE_SHADOW + + + samplerCubeShadow + + + + + GL_INT_SAMPLER_2D + + + isampler2D + + + + + GL_INT_SAMPLER_3D + + + isampler3D + + + + + GL_INT_SAMPLER_CUBE + + + isamplerCube + + + + + GL_INT_SAMPLER_2D_ARRAY + + + isampler2DArray + + + + + GL_UNSIGNED_INT_SAMPLER_2D + + + usampler2D + + + + + GL_UNSIGNED_INT_SAMPLER_3D + + + usampler3D + + + + + GL_UNSIGNED_INT_SAMPLER_CUBE + + + usamplerCube + + + + + GL_UNSIGNED_INT_SAMPLER_2D_ARRAY + + + usampler2DArray + + + + + + + + If pname is GL_UNIFORM_SIZE, then an array identifying the + size of the uniforms specified by the corresponding array of uniformIndices is + returned. The sizes returned are in units of the type returned by a query of GL_UNIFORM_TYPE. + For active uniforms that are arrays, the size is the number of active elements in the array; + for all other uniforms, the size is one. + + + If pname is GL_UNIFORM_NAME_LENGTH, then an array identifying the + length, including the terminating null character, of the uniform name strings specified by the corresponding + array of uniformIndices is returned. + + + If pname is GL_UNIFORM_BLOCK_INDEX, then an array identifying the + the uniform block index of each of the uniforms specified by the corresponding array of uniformIndices + is returned. The uniform block index of a uniform associated with the default uniform block is -1. + + + If pname is GL_UNIFORM_OFFSET, then an array of uniform buffer + offsets is returned. For uniforms in a named uniform block, the returned value will be its offset, in basic + machine units, relative to the beginning of the uniform block in the buffer object data store. For uniforms + in the default uniform block, -1 will be returned. + + + If pname is GL_UNIFORM_ARRAY_STRIDE, then an array identifying the + stride between elements, in basic machine units, of each of the uniforms specified by the corresponding array of + uniformIndices is returned. The stride of a uniform associated with the default uniform + block is -1. Note that this information only makes sense for uniforms that are arrays. For uniforms that are + not arrays, but are declared in a named uniform block, an array stride of zero is returned. + + + If pname is GL_UNIFORM_MATRIX_STRIDE, then an array identifying the stride + between columns of a column-major matrix or rows of a row-major matrix, in basic machine units, of each of the uniforms + specified by the corresponding array of uniformIndices is returned. The matrix stride of a + uniform associated with the default uniform block is -1. Note that this information only makes sense for uniforms + that are matrices. For uniforms that are not matrices, but are declared in a named uniform block, a matrix stride of + zero is returned. + + + If pname is GL_UNIFORM_IS_ROW_MAJOR, then an array identifying whether each + of the uniforms specified by the corresponding array of uniformIndices is a row-major matrix or not is returned. A + value of one indicates a row-major matrix, and a value of zero indicates a column-major matrix, a matrix in the default + uniform block, or a non-matrix. + + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + uniformCount is greater than or equal to the + value of GL_ACTIVE_UNIFORMS for + program. + + GL_INVALID_ENUM is generated if pname + is not an accepted token. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS, + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, + GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, or + GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS. + + glGetProgramiv + with argument GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH. + + glIsProgram + + + API Version Support + + + + + + glGetActiveUniformsiv + + + + + + + See Also + glGetUniform, + glGetActiveUniform, + glGetUniformLocation, + glLinkProgram, + glUniform, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetAttachedShaders.xml b/Source/Bind/Specifications/Docs/ES30/glGetAttachedShaders.xml new file mode 100644 index 00000000..cb2e85c5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetAttachedShaders.xml @@ -0,0 +1,136 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetAttachedShaders + 3G + + + glGetAttachedShaders + Returns the handles of the shader objects attached to a program object + + C Specification + + + void glGetAttachedShaders + GLuint program + GLsizei maxCount + GLsizei *count + GLuint *shaders + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + maxCount + + Specifies the size of the array for storing + the returned object names. + + + + count + + Returns the number of names actually returned + in shaders. + + + + shaders + + Specifies an array that is used to return the + names of attached shader objects. + + + + + Description + glGetAttachedShaders returns the + names of the shader objects attached to + program. The names of shader objects that + are attached to program will be returned + in shaders. The actual number of shader + names written into shaders is returned in + count. If no shader objects are attached + to program, count + is set to 0. The maximum number of shader names that may be + returned in shaders is specified by + maxCount. + + If the number of names actually returned is not required + (for instance, if it has just been obtained by calling + glGetProgramiv), + a value of NULL may be passed for count. If + no shader objects are attached to + program, a value of 0 will be returned in + count. The actual number of attached + shaders can be obtained by calling + glGetProgramiv + with the value GL_ATTACHED_SHADERS. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + maxCount is less than 0. + + + Associated Gets + glGetProgramiv + with argument GL_ATTACHED_SHADERS + + glIsProgram + + + API Version Support + + + + + + glGetAttachedShaders + + + + + + + See Also + glAttachShader, + glDetachShader. + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetAttribLocation.xml b/Source/Bind/Specifications/Docs/ES30/glGetAttribLocation.xml new file mode 100644 index 00000000..fcbb3c6d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetAttribLocation.xml @@ -0,0 +1,120 @@ + %mathent; ]> + + + + + + glGetAttribLocation + 3G + + + glGetAttribLocation + Returns the location of an attribute variable + + C Specification + + + GLint glGetAttribLocation + GLuint program + const GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + name + + Points to a null terminated string containing + the name of the attribute variable whose location is + to be queried. + + + + + Description + glGetAttribLocation queries the + previously linked program object specified by + program for the attribute variable + specified by name and returns the index + of the generic vertex attribute that is bound to that attribute + variable. If name is a matrix attribute + variable, the index of the first column of the matrix is + returned. If the named attribute variable is not an active + attribute in the specified program object or if + name starts with the reserved prefix + "gl_", a value of -1 is returned. + + The association between an attribute variable name and a + generic attribute index can be specified at any time by calling + glBindAttribLocation. + Attribute bindings do not go into effect until + glLinkProgram + is called. After a program object has been linked successfully, + the index values for attribute variables remain fixed until the + next link command occurs. The attribute values can only be + queried after a link if the link was successful. + glGetAttribLocation returns the binding + that actually went into effect the last time + glLinkProgram + was called for the specified program object. Attribute bindings + that have been specified since the last link operation are not + returned by glGetAttribLocation. + + Errors + GL_INVALID_OPERATION is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + + Associated Gets + glGetActiveAttrib + with argument program and the index of an + active attribute + + glIsProgram + + + API Version Support + + + + + + glGetAttribLocation + + + + + + + See Also + glBindAttribLocation, + glIsProgram, + glLinkProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetBufferParameter.xml b/Source/Bind/Specifications/Docs/ES30/glGetBufferParameter.xml new file mode 100644 index 00000000..5baca8f6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetBufferParameter.xml @@ -0,0 +1,232 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGetBufferParameter + 3G + + + glGetBufferParameter + return parameters of a buffer object + + C Specification + + + void glGetBufferParameteriv + GLenum target + GLenum value + GLint * data + + + + + void glGetBufferParameteri64v + GLenum target + GLenum value + GLint64 * data + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + value + + + Specifies the symbolic name of a buffer object parameter. + Accepted values are GL_BUFFER_ACCESS_FLAGS, GL_BUFFER_MAPPED, + GL_BUFFER_MAP_LENGTH, GL_BUFFER_MAP_OFFSET, + GL_BUFFER_SIZE, or GL_BUFFER_USAGE. + + + + + data + + + Returns the requested parameter. + + + + + + Description + + glGetBufferParameteriv and glGetBufferParameteri64v + return in data a selected parameter of the buffer object + specified by target. + + + value names a specific buffer object parameter, as follows: + + + + GL_BUFFER_ACCESS_FLAGS + + + params returns the access policy set while mapping the buffer object. + + + + + GL_BUFFER_MAPPED + + + params returns a flag indicating whether the buffer object is currently + mapped. The initial value is GL_FALSE. + + + + + GL_BUFFER_MAP_LENGTH + + + params returns the length of the buffer object mapping, + measured in bytes. + The initial value is 0. + + + + + GL_BUFFER_MAP_OFFSET + + + params returns the offset (start) of the buffer object mapping, + measured in bytes. + The initial value is 0. + + + + + GL_BUFFER_SIZE + + + params returns the size of the buffer object, measured in bytes. + The initial value is 0. + + + + + GL_BUFFER_USAGE + + + params returns the buffer object's usage pattern. + + + + + + Notes + + If an error is generated, + no change is made to the contents of data. + + + If glGetBufferParameteriv is used to query a value of + GL_BUFFER_SIZE, values greater than or equal to + + + + 2 + + 31 + + + + + will be clamped to + + + + 2 + + 31 + + + - + 1 + + . + + + Errors + + GL_INVALID_ENUM is generated if target or value is not an + accepted value. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_INVALID_ENUM is generated if glGetBufferParameteri64v is used to query a value of + GL_BUFFER_ACCESS_FLAGS, GL_BUFFER_MAPPED or GL_BUFFER_USAGE. + + + GL_INVALID_ENUM is generated if glGetBufferParameteriv is used to query a value of + GL_BUFFER_MAP_LENGTH or GL_BUFFER_MAP_OFFSET. + + + + API Version Support + + + + + + glGetBufferParameteriv + + + + glGetBufferParameteri64v + + + + + + + See Also + + glBindBuffer, + glBufferData, + glMapBufferRange, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetBufferPointerv.xml b/Source/Bind/Specifications/Docs/ES30/glGetBufferPointerv.xml new file mode 100644 index 00000000..f641e40a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetBufferPointerv.xml @@ -0,0 +1,125 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGetBufferPointerv + 3G + + + glGetBufferPointerv + return the pointer to a mapped buffer object's data store + + C Specification + + + void glGetBufferPointerv + GLenum target + GLenum pname + GLvoid ** params + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + pname + + + Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. + + + + + params + + + Returns the pointer value specified by pname. + + + + + + Description + + glGetBufferPointerv returns pointer information. pname is a symbolic constant + indicating the pointer to be returned, which must be GL_BUFFER_MAP_POINTER, the pointer + to which the buffer object's data store is mapped. If the data store is not currently mapped, NULL is returned. + params is a pointer to a location in which to place the returned pointer value. + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + The initial value for the pointer is NULL. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + + API Version Support + + + + + + glGetBufferPointerv + + + + + + + See Also + + glBindBuffer, + glMapBufferRange + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetError.xml b/Source/Bind/Specifications/Docs/ES30/glGetError.xml new file mode 100644 index 00000000..8a53dc61 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetError.xml @@ -0,0 +1,159 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGetError + 3G + + + glGetError + return error information + + C Specification + + + GLenum glGetError + void + + + + Description + + glGetError returns the value of the error flag. + Each detectable error is assigned a numeric code and symbolic name. + When an error occurs, + the error flag is set to the appropriate error code value. + No other errors are recorded until glGetError is called, + the error code is returned, + and the flag is reset to GL_NO_ERROR. + If a call to glGetError returns GL_NO_ERROR, + there has been no detectable error since the last call to glGetError, + or since the GL was initialized. + + + To allow for distributed implementations, + there may be several error flags. + If any single error flag has recorded an error, + the value of that flag is returned + and that flag is reset to GL_NO_ERROR + when glGetError is called. + If more than one flag has recorded an error, + glGetError returns and clears an arbitrary error flag value. + Thus, glGetError should always be called in a loop, + until it returns GL_NO_ERROR, + if all error flags are to be reset. + + + Initially, all error flags are set to GL_NO_ERROR. + + + The following errors are currently defined: + + + + GL_NO_ERROR + + + No error has been recorded. + The value of this symbolic constant is guaranteed to be 0. + + + + + GL_INVALID_ENUM + + + An unacceptable value is specified for an enumerated argument. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_VALUE + + + A numeric argument is out of range. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_OPERATION + + + The specified operation is not allowed in the current state. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_FRAMEBUFFER_OPERATION + + + The framebuffer object is not complete. The offending command + is ignored and has no other side effect than to set the error flag. + + + + + GL_OUT_OF_MEMORY + + + There is not enough memory left to execute the command. + The state of the GL is undefined, + except for the state of the error flags, + after this error is recorded. + + + + + + When an error flag is set, + results of a GL operation are undefined only if GL_OUT_OF_MEMORY + has occurred. + In all other cases, + the command generating the error is ignored and has no effect on the GL state + or frame buffer contents. + If the generating command returns a value, it returns 0. + If glGetError itself generates an error, it returns 0. + + + + API Version Support + + + + + + glGetError + + + + + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetFragDataLocation.xml b/Source/Bind/Specifications/Docs/ES30/glGetFragDataLocation.xml new file mode 100644 index 00000000..f14c69e0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetFragDataLocation.xml @@ -0,0 +1,96 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetFragDataLocation + 3G + + + glGetFragDataLocation + query the bindings of color numbers to user-defined varying out variables + + C Specification + + + GLint glGetFragDataLocation + GLuint program + const char * name + + + + Parameters + + + program + + + The name of the program containing varying out variable whose binding to query + + + + + name + + + The name of the user-defined varying out variable whose binding to query + + + + + + Description + + glGetFragDataLocation retrieves the assigned color number binding for the user-defined + varying out variable name for program program. program + must have previously been linked. name must be a null-terminated string. If name + is not the name of an active user-defined varying out fragment shader variable within program, -1 will + be returned. + + + Notes + + In OpenGL ES Shading Language version 3.00, output variables must be explicitly bound to fragment colors within + the shader text. This query simply returns that binding information. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the name of a program object. + + + + API Version Support + + + + + + glGetFragDataLocation + + + + + + + See Also + + glCreateProgram, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetFramebufferAttachmentParameteriv.xml b/Source/Bind/Specifications/Docs/ES30/glGetFramebufferAttachmentParameteriv.xml new file mode 100644 index 00000000..e98319d0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetFramebufferAttachmentParameteriv.xml @@ -0,0 +1,239 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetFramebufferAttachmentParameteriv + 3G + + + glGetFramebufferAttachmentParameteriv + retrieve information about attachments of a bound framebuffer object + + C Specification + + + void glGetFramebufferAttachmentParameteriv + GLenum target + GLenum attachment + GLenum pname + GLint *params + + + + Parameters + + + target + + + Specifies the target of the query operation. + + + + + attachment + + + Specifies the attachment within target + + + + + pname + + + Specifies the parameter of attachment to query. + + + + + params + + + Specifies the address of a variable receive the value of pname for attachment. + + + + + + Description + + glGetFramebufferAttachmentParameteriv returns information about attachments of a bound framebuffer + object. target specifies the framebuffer binding point and must be GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. GL_FRAMEBUFFER is equivalent + to GL_DRAW_FRAMEBUFFER. + + + If the default framebuffer is bound to target then attachment must be one of + GL_BACK, identifying a color buffer, GL_DEPTH, identifying the depth buffer, + or GL_STENCIL, identifying the stencil buffer. + + + If a framebuffer object is bound, then + attachment must be one of + GL_COLOR_ATTACHMENTi, + GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT, or + GL_DEPTH_STENCIL_ATTACHMENT. + i in + GL_COLOR_ATTACHMENTi + must be in the range zero to the value of + GL_MAX_COLOR_ATTACHMENTS minus one. + + + If attachment is GL_DEPTH_STENCIL_ATTACHMENT and different objects are bound + to the depth and stencil attachment points of target the query will fail. If the same object + is bound to both attachment points, information about that object will be returned. + + + Upon successful return from glGetFramebufferAttachmentParameteriv, if pname is + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, then params will contain one of GL_NONE, + GL_FRAMEBUFFER_DEFAULT, GL_TEXTURE, or GL_RENDERBUFFER, identifying the type of + object which contains the attached image. Other values accepted for pname depend on the type of object, as described below. + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_NONE, no framebuffer is bound to + target. In this case querying pname GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + will return zero, and all other queries will generate an error. + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is not GL_NONE, these queries apply to all other + framebuffer types: + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, + GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, + GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, + or GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, then params will contain the number + of bits in the corresponding red, green, blue, alpha, depth, or stencil component of the specified attachment. Zero is returned + if the requested component is not present in attachment. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, params will + contain the format of components of the specified attachment, one of GL_FLOAT, GL_INT, + GL_UNSIGNED_INT, GL_SIGNED_NORMALIZED, or GL_UNSIGNED_NORMALIZED + for floating-point, signed integer, unsigned integer, signed normalized fixed-point, or unsigned normalized fixed-point components + respectively. Only color buffers may have integer components. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, param will + contain the encoding of components of the specified attachment, one of GL_LINEAR or GL_SRGB + for linear or sRGB-encoded components, respectively. Only color buffer components may be sRGB-encoded. + For the default framebuffer, color encoding is determined by the implementation. + For framebuffer objects, components are sRGB-encoded if the internal format of a color attachment is one of the color-renderable SRGB + formats. + + + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_RENDERBUFFER, then: + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, params will contain + the name of the renderbuffer object which contains the attached image. + + + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_TEXTURE, then: + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, then params will + contain the name of the texture object which contains the attached image. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, then params + will contain the mipmap level of the texture object which contains the attached image. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE and the texture object named + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a cube map texture, then params will contain the cube map + face of the cubemap texture object which contains the attached image. Otherwise params will contain the value + zero. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER and the texture object named + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a three-dimensional texture or a two-dimensional + array texture, then params will contain the number of the texture layer which contains the attached image. + Otherwise params will contain the value zero. + + + + + Any combinations of framebuffer type and pname not described above will generate an error. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_ENUM is generated if pname is not valid for the value of + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE. + + + GL_INVALID_OPERATION is generated if attachment is not the accepted values + for target. + + + GL_INVALID_OPERATION is generated if attachment is GL_DEPTH_STENCIL_ATTACHMENT + and different objects are bound to the depth and stencil attachment points of target. + + + GL_INVALID_OPERATION is generated if the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is + GL_NONE and pname is not GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME. + + + + API Version Support + + + + + + glGetFramebufferAttachmentParameteriv + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetInternalformativ.xml b/Source/Bind/Specifications/Docs/ES30/glGetInternalformativ.xml new file mode 100644 index 00000000..fedfc14a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetInternalformativ.xml @@ -0,0 +1,154 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group. + + + + glGetInternalformativ + 3G + + + glGetInternalformativ + retrieve information about implementation-dependent support for internal formats + + C Specification + + + void glGetInternalformativ + GLenum target + GLenum internalformat + GLenum pname + GLsizei bufSize + GLint *params + + + + Parameters + + + target + + + Indicates the usage of the internal format. target must be GL_RENDERBUFFER. + + + + + internalformat + + + Specifies the internal format about which to retrieve information. + + + + + pname + + + Specifies the type of information to query. + + + + + bufSize + + + Specifies the maximum number of integers that may be written to params by the function. + + + + + params + + + Specifies the address of a variable into which to write the retrieved information. + + + + + + Description + + glGetInternalformativ retrieves information about implementation-dependent support for + internal formats. target indicates the target with which the internal format will + be used and must be GL_RENDERBUFFER, corresponding to usage as a renderbuffer. + + + internalformat specifies the internal format about which to retrieve information and + must be a color-renderable, depth-renderable or stencil-renderable format. + + + The information retrieved will be written to memory addressed by the pointer specified in params. No + more than bufSize integers will be written to this memory. + + + If pname is GL_NUM_SAMPLE_COUNTS, the number of sample counts that would be + returned by querying GL_SAMPLES will be returned in params. + + + If pname is GL_SAMPLES, the sample counts supported for internalformat + and target are written into params in descending numeric order. Only positive values are returned. + Querying GL_SAMPLES with bufSize of one will return just the maximum supported number of + samples for this format. + + + Notes + + Since multisampling is not supported for signed and unsigned integer internal + formats, the value of GL_NUM_SAMPLE_COUNTS will be zero for such formats. + If internalformat is GL_RGBA16F, GL_R32F, + GL_RG32F, or GL_RGBA32F, the value of GL_NUM_SAMPLE_COUNTS + may be zero, or else the maximum value in GL_SAMPLES may be less than the value of + GL_MAX_SAMPLES. + For every other accepted internalformat, the maximum value in GL_SAMPLES is guaranteed to be at least + GL_MAX_SAMPLES. + + + Errors + + GL_INVALID_VALUE is generated if bufSize is negative. + + + GL_INVALID_ENUM is generated if pname is not GL_SAMPLES or GL_NUM_SAMPLE_COUNTS. + + + GL_INVALID_ENUM is generated if internalformat is not color-, depth-, or stencil-renderable. + + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + + API Version Support + + + + + + glGetInternalformativ + + + + + + + See Also + + glGet + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetProgramBinary.xml b/Source/Bind/Specifications/Docs/ES30/glGetProgramBinary.xml new file mode 100644 index 00000000..d0d2ef43 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetProgramBinary.xml @@ -0,0 +1,139 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetProgramBinary + 3G + + + glGetProgramBinary + return a binary representation of a program object's compiled and linked executable source + + C Specification + + + void glGetProgramBinary + GLuint program + GLsizei bufsize + GLsizei *length + GLenum *binaryFormat + void *binary + + + + Parameters + + + program + + + Specifies the name of a program object whose binary representation to retrieve. + + + + + bufSize + + + Specifies the size of the buffer whose address is given by binary. + + + + + length + + + Specifies the address of a variable to receive the number of bytes written into binary. + + + + + binaryFormat + + + Specifies the address of a variable to receive a token indicating the format of the binary data returned by the GL. + + + + + binary + + + Specifies the address an array into which the GL will return program's binary representation. + + + + + + Description + + glGetProgramBinary returns a binary representation of the compiled + and linked executable for program into the array of bytes whose + address is specified in binary. The maximum number of bytes that + may be written into binary is specified by bufSize. + If the program binary is greater in size than bufSize bytes, + then an error is generated, otherwise the actual number of bytes written into binary + is returned in the variable whose address is given by length. If + length is NULL, then no length is returned. + + + The format of the program binary written into binary is returned in + the variable whose address is given by binaryFormat, and may be implementation dependent. The binary produced + by the GL may subsequently be returned to the GL by calling glProgramBinary, + with binaryFormat and length set to the values + returned by glGetProgramBinary, and passing the returned binary data + in the binary parameter. + + + Errors + + GL_INVALID_OPERATION is generated if bufSize is less than + the size of GL_PROGRAM_BINARY_LENGTH for program. + + + GL_INVALID_OPERATION is generated if GL_LINK_STATUS for the + program object is false. + + + Associated Gets + + glGetProgramiv with argument GL_PROGRAM_BINARY_LENGTH + + + + API Version Support + + + + + + glGetProgramBinary + + + + + + + See Also + + glGetProgramiv, + glProgramBinary + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetProgramInfoLog.xml b/Source/Bind/Specifications/Docs/ES30/glGetProgramInfoLog.xml new file mode 100644 index 00000000..ec8697f6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetProgramInfoLog.xml @@ -0,0 +1,152 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetProgramInfoLog + 3G + + + glGetProgramInfoLog + Returns the information log for a program object + + C Specification + + + void glGetProgramInfoLog + GLuint program + GLsizei maxLength + GLsizei *length + GLchar *infoLog + + + + Parameters + + + program + + Specifies the program object whose information + log is to be queried. + + + + maxLength + + Specifies the size of the character buffer for + storing the returned information log. + + + + length + + Returns the length of the string returned in + infoLog (excluding the null + terminator). + + + + infoLog + + Specifies an array of characters that is used + to return the information log. + + + + + Description + glGetProgramInfoLog returns the + information log for the specified program object. The + information log for a program object is modified when the + program object is linked or validated. The string that is + returned will be null terminated. + + glGetProgramInfoLog returns in + infoLog as much of the information log as + it can, up to a maximum of maxLength + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned information + log can be obtained by calling + glGetProgramiv + with the value GL_INFO_LOG_LENGTH. + + The information log for a program object is either an + empty string, or a string containing information about the last + link operation, or a string containing information about the + last validation operation. It may contain diagnostic messages, + warning messages, and other information. When a program object + is created, its information log will be a string of length + 0. + + Notes + The information log for a program object is the OpenGL + implementer's primary mechanism for conveying information about + linking and validating. Therefore, the information log can be + helpful to application developers during the development + process, even when these operations are successful. Application + developers should not expect different OpenGL implementations to + produce identical information logs. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + maxLength is less than 0. + + + Associated Gets + glGetProgramiv + with argument GL_INFO_LOG_LENGTH + + glIsProgram + + + API Version Support + + + + + + glGetProgramInfoLog + + + + + + + See Also + glCompileShader, + glGetShaderInfoLog, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetProgramiv.xml b/Source/Bind/Specifications/Docs/ES30/glGetProgramiv.xml new file mode 100644 index 00000000..76dc06b2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetProgramiv.xml @@ -0,0 +1,335 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetProgramiv + 3G + + + glGetProgramiv + Returns a parameter from a program object + + C Specification + + + void glGetProgramiv + GLuint program + GLenum pname + GLint *params + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + pname + + Specifies the object parameter. Accepted + symbolic names are + GL_ACTIVE_ATTRIBUTES, + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, + GL_ACTIVE_UNIFORMS, + GL_ACTIVE_UNIFORM_BLOCKS, + GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, + GL_ACTIVE_UNIFORM_MAX_LENGTH, + GL_ATTACHED_SHADERS, + GL_DELETE_STATUS, + GL_INFO_LOG_LENGTH, + GL_LINK_STATUS, + GL_PROGRAM_BINARY_RETRIEVABLE_HINT, + GL_TRANSFORM_FEEDBACK_BUFFER_MODE, + GL_TRANSFORM_FEEDBACK_VARYINGS, + GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH and + GL_VALIDATE_STATUS. + + + + params + + Returns the requested object parameter. + + + + + Description + glGetProgramiv + returns in params + the value of a parameter for a specific program object. The following parameters are defined: + + + + + GL_ACTIVE_ATTRIBUTES + + + + params returns the + number of active attribute variables for + program. + + + + + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH + + + + params returns the + length of the longest active attribute name for + program, including the null + termination character (i.e., the size of the + character buffer required to store the longest + attribute name). If no active attributes exist, 0 is + returned. + + + + + GL_ACTIVE_UNIFORM_BLOCKS + + + + params returns the + number of uniform blocks for program + containing active uniforms. + + + + + GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH + + + + params returns the + length of the longest active uniform block name + for program, including the + null termination character (i.e., the size of the + character buffer required to store the longest + uniform block name). If no active uniform + blocks exist, 0 is returned. + + + + + GL_ACTIVE_UNIFORMS + + + + params returns the + number of active uniform variables for + program. + + + + + GL_ACTIVE_UNIFORM_MAX_LENGTH + + + + params returns the + length of the longest active uniform variable name + for program, including the + null termination character (i.e., the size of the + character buffer required to store the longest + uniform variable name). If no active uniform + variables exist, 0 is returned. + + + + + GL_ATTACHED_SHADERS + + + + params returns the + number of shader objects attached to + program. + + + + + GL_DELETE_STATUS + + + + params returns + GL_TRUE if + program is currently flagged + for deletion, and GL_FALSE + otherwise. + + + + + GL_INFO_LOG_LENGTH + + + + params returns the + number of characters in the information log for + program including the null + termination character (i.e., the size of the + character buffer required to store the information + log). If program has no + information log, a value of 0 is + returned. + + + + + GL_LINK_STATUS + + + + params returns + GL_TRUE if the last link + operation on program was + successful, and GL_FALSE + otherwise. + + + + GL_PROGRAM_BINARY_RETRIEVABLE_HINT + + + + params returns the + current value of whether the binary retrieval + hint is enabled for program. + + + + + + GL_TRANSFORM_FEEDBACK_BUFFER_MODE + + + + params returns a symbolic constant + indicating the buffer mode used when transform feedback is active. + This may be GL_SEPARATE_ATTRIBS or + GL_INTERLEAVED_ATTRIBS. + + + + + GL_TRANSFORM_FEEDBACK_VARYINGS + + + + params returns the number of varying + variables to capture in transform feedback mode for the program. + + + + + GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH + + + + params returns the length of the longest + variable name to be used for transform feedback, including the null-terminator. + + + + + GL_VALIDATE_STATUS + + + + params returns + GL_TRUE or if the last + validation operation on + program was successful, and + GL_FALSE + otherwise. + + + + + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE + is generated if program + is not a value generated by OpenGL. + + GL_INVALID_OPERATION + is generated if program + does not refer to a program object. + + GL_INVALID_ENUM + is generated if pname + is not an accepted value. + + + Associated Gets + glGetActiveAttrib + with argument program + + glGetActiveUniform + with argument program + + glGetAttachedShaders + with argument program + + glGetProgramInfoLog + with argument program + + glIsProgram + + + + API Version Support + + + + + + glGetProgramiv + + + + + + + See Also + glAttachShader, + glCreateProgram, + glDeleteProgram, + glGetShaderiv, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetQueryObjectuiv.xml b/Source/Bind/Specifications/Docs/ES30/glGetQueryObjectuiv.xml new file mode 100644 index 00000000..4216fa4e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetQueryObjectuiv.xml @@ -0,0 +1,158 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGetQueryObjectuiv + 3G + + + glGetQueryObjectuiv + return parameters of a query object + + C Specification + + + void glGetQueryObjectuiv + GLuint id + GLenum pname + GLuint * params + + + + Parameters + + + id + + + Specifies the name of a query object. + + + + + pname + + + Specifies the symbolic name of a query object parameter. + Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. + + + + + params + + + Returns the requested data. + + + + + + Description + + glGetQueryObjectuiv returns in params a selected parameter of the query object + specified by id. + + + pname names a specific query object parameter. pname can be as follows: + + + + GL_QUERY_RESULT + + + params returns the value of the query object's passed samples counter. + The initial value is 0. + + + + + GL_QUERY_RESULT_AVAILABLE + + + params returns whether the passed samples counter is immediately available. + If a delay would occur waiting for the query result, GL_FALSE is returned. + Otherwise, GL_TRUE is returned, which also indicates that the results of all + previous queries of the same type are available as well. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + glGetQueryObjectuiv implicitly flushes the GL pipeline so that any incomplete rendering + delimited by the occlusion query completes in finite time. + + + Repeatedly querying the GL_QUERY_RESULT_AVAILABLE state for any given query object is + guaranteed to return true eventually. Note that multiple queries to the same occlusion object may result in a + significant performance loss. For better performance it is recommended to wait N frames before querying this + state. N is implementation-dependent but is generally between one and three. + + + If multiple queries are issued using the same query object id before calling + glGetQueryObjectuiv, the results of the most recent query will be returned. In this case, + when issuing a new query, the results of the previous query are discarded. + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_OPERATION is generated if id is not the name of a query object. + + + GL_INVALID_OPERATION is generated if id is the name of a currently active + query object. + + + + API Version Support + + + + + + glGetQueryObjectuiv + + + + + + + See Also + + glBeginQuery, + glEndQuery, + glGetQueryiv, + glIsQuery, + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetQueryiv.xml b/Source/Bind/Specifications/Docs/ES30/glGetQueryiv.xml new file mode 100644 index 00000000..f96274ee --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetQueryiv.xml @@ -0,0 +1,117 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGetQueryiv + 3G + + + glGetQueryiv + return parameters of a query object target + + C Specification + + + void glGetQueryiv + GLenum target + GLenum pname + GLint * params + + + + Parameters + + + target + + + Specifies a query object target. + Must be GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, or + GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN. + + + + + pname + + + Specifies the symbolic name of a query object target parameter. + Must be GL_CURRENT_QUERY. + + + + + params + + + Returns the requested data. + + + + + + Description + + glGetQueryiv returns in params a selected parameter of the query object target + specified by target. + + + pname names a specific query object target parameter. When pname is + GL_CURRENT_QUERY, the name of the currently active query for target, + or zero if no query is active, will be placed in params. + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + + API Version Support + + + + + + glGetQueryiv + + + + + + + See Also + + glGetQueryObjectuiv, + glIsQuery + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetRenderbufferParameteriv.xml b/Source/Bind/Specifications/Docs/ES30/glGetRenderbufferParameteriv.xml new file mode 100644 index 00000000..b2ac4fd9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetRenderbufferParameteriv.xml @@ -0,0 +1,117 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetRenderbufferParameteriv + 3G + + + glGetRenderbufferParameteriv + retrieve information about a bound renderbuffer object + + C Specification + + + void glGetRenderbufferParameteriv + GLenum target + GLenum pname + GLint *params + + + + Parameters + + + target + + + Specifies the target of the query operation. target must be GL_RENDERBUFFER. + + + + + pname + + + Specifies the parameter whose value to retrieve from the renderbuffer bound to target. + + + + + params + + + Specifies the address of an array to receive the value of the queried parameter. + + + + + + Description + + glGetRenderbufferParameteriv retrieves information about a bound renderbuffer object. target + specifies the target of the query operation and must be GL_RENDERBUFFER. pname specifies + the parameter whose value to query and must be one of GL_RENDERBUFFER_WIDTH, GL_RENDERBUFFER_HEIGHT, + GL_RENDERBUFFER_INTERNAL_FORMAT, GL_RENDERBUFFER_RED_SIZE, GL_RENDERBUFFER_GREEN_SIZE, + GL_RENDERBUFFER_BLUE_SIZE, GL_RENDERBUFFER_ALPHA_SIZE, GL_RENDERBUFFER_DEPTH_SIZE, + GL_RENDERBUFFER_STENCIL_SIZE, or GL_RENDERBUFFER_SAMPLES. + + + Upon a successful return from glGetRenderbufferParameteriv, if pname is GL_RENDERBUFFER_WIDTH, + GL_RENDERBUFFER_HEIGHT, GL_RENDERBUFFER_INTERNAL_FORMAT, or GL_RENDERBUFFER_SAMPLES, + then params will contain the width in pixels, the height in pixels, the internal format, or the number of samples, respectively, + of the image of the renderbuffer currently bound to target. + + + If pname is GL_RENDERBUFFER_RED_SIZE, GL_RENDERBUFFER_GREEN_SIZE, + GL_RENDERBUFFER_BLUE_SIZE, GL_RENDERBUFFER_ALPHA_SIZE, GL_RENDERBUFFER_DEPTH_SIZE, + or GL_RENDERBUFFER_STENCIL_SIZE, then params will contain the actual resolutions (not the resolutions + specified when the image array was defined) for the red, green, blue, alpha depth, or stencil components, respectively, of the image of the + renderbuffer currently bound to target. + + + Errors + + GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. + + + + API Version Support + + + + + + glGetRenderbufferParameteriv + + + + + + + See Also + + glGenRenderbuffers, + glFramebufferRenderbuffer, + glBindRenderbuffer, + glRenderbufferStorage, + glRenderbufferStorageMultisample + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetSamplerParameter.xml b/Source/Bind/Specifications/Docs/ES30/glGetSamplerParameter.xml new file mode 100644 index 00000000..0e6f5c4d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetSamplerParameter.xml @@ -0,0 +1,225 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetSamplerParameter + 3G + + + glGetSamplerParameter + return sampler parameter values + + C Specification + + + void glGetSamplerParameterfv + GLuint sampler + GLenum pname + GLfloat * params + + + + + void glGetSamplerParameteriv + GLuint sampler + GLenum pname + GLint * params + + + + Parameters + + + sampler + + + Specifies name of the sampler object from which to retrieve parameters. + + + + + pname + + + Specifies the symbolic name of a sampler parameter. + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, + GL_TEXTURE_WRAP_R, + GL_TEXTURE_COMPARE_MODE, and + GL_TEXTURE_COMPARE_FUNC + are accepted. + + + + + params + + + Returns the sampler parameters. + + + + + + Description + + glGetSamplerParameter* returns in params the value or values of the sampler parameter + specified as pname. + sampler defines the target sampler, and must be the name of an existing sampler object, returned from a previous call + to glGenSamplers. + pname accepts the same symbols as glSamplerParameter*, + with the same interpretations: + + + + GL_TEXTURE_MAG_FILTER + + + Returns the single-valued texture magnification filter, + a symbolic constant. The initial value is GL_LINEAR. + + + + + GL_TEXTURE_MIN_FILTER + + + Returns the single-valued texture minification filter, + a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MIN_LOD + + + Returns the single-valued texture minimum level-of-detail value. The + initial value is + + + -1000 + . + + + + + GL_TEXTURE_MAX_LOD + + + Returns the single-valued texture maximum level-of-detail value. The + initial value is 1000. + + + + + GL_TEXTURE_WRAP_S + + + Returns the single-valued wrapping function for texture coordinate + s, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_T + + + Returns the single-valued wrapping function for texture coordinate + t, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_R + + + Returns the single-valued wrapping function for texture coordinate + r, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_COMPARE_MODE + + + Returns a single-valued texture comparison mode, a symbolic constant. The + initial value is GL_NONE. See glSamplerParameter. + + + + + GL_TEXTURE_COMPARE_FUNC + + + Returns a single-valued texture comparison function, a symbolic constant. The + initial value is GL_LEQUAL. See glSamplerParameter. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_OPERATION is generated if sampler is not the name of a sampler object returned from + a previous call to glGenSamplers. + + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + + API Version Support + + + + + + glGetSamplerParameterfv + + + + glGetSamplerParameteriv + + + + + + + See Also + + glSamplerParameter, + glGenSamplers, + glDeleteSamplers, + glSamplerParameter + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetShaderInfoLog.xml b/Source/Bind/Specifications/Docs/ES30/glGetShaderInfoLog.xml new file mode 100644 index 00000000..4945d5fa --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetShaderInfoLog.xml @@ -0,0 +1,149 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetShaderInfoLog + 3G + + + glGetShaderInfoLog + Returns the information log for a shader object + + C Specification + + + void glGetShaderInfoLog + GLuint shader + GLsizei maxLength + GLsizei *length + GLchar *infoLog + + + + Parameters + + + shader + + Specifies the shader object whose information + log is to be queried. + + + + maxLength + + Specifies the size of the character buffer for + storing the returned information log. + + + + length + + Returns the length of the string returned in + infoLog (excluding the null + terminator). + + + + infoLog + + Specifies an array of characters that is used + to return the information log. + + + + + Description + glGetShaderInfoLog returns the + information log for the specified shader object. The information + log for a shader object is modified when the shader is compiled. + The string that is returned will be null terminated. + + glGetShaderInfoLog returns in + infoLog as much of the information log as + it can, up to a maximum of maxLength + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned information + log can be obtained by calling + glGetShaderiv + with the value GL_INFO_LOG_LENGTH. + + The information log for a shader object is a string that + may contain diagnostic messages, warning messages, and other + information about the last compile operation. When a shader + object is created, its information log will be a string of + length 0. + + Notes + The information log for a shader object is the OpenGL + implementer's primary mechanism for conveying information about + the compilation process. Therefore, the information log can be + helpful to application developers during the development + process, even when compilation is successful. Application + developers should not expect different OpenGL implementations to + produce identical information logs. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + maxLength is less than 0. + + + Associated Gets + glGetShaderiv + with argument GL_INFO_LOG_LENGTH + + glIsShader + + + API Version Support + + + + + + glGetShaderInfoLog + + + + + + + See Also + glCompileShader, + glGetProgramInfoLog, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetShaderPrecisionFormat.xml b/Source/Bind/Specifications/Docs/ES30/glGetShaderPrecisionFormat.xml new file mode 100644 index 00000000..0f424f33 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetShaderPrecisionFormat.xml @@ -0,0 +1,122 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetShaderPrecisionFormat + 3G + + + glGetShaderPrecisionFormat + retrieve the range and precision for numeric formats supported by the shader compiler + + C Specification + + + void glGetShaderPrecisionFormat + GLenum shaderType + GLenum precisionType + GLint *range + GLint *precision + + + + Parameters + + + shaderType + + + Specifies the type of shader whose precision to query. shaderType + must be GL_VERTEX_SHADER or GL_FRAGMENT_SHADER. + + + + + precisionType + + + Specifies the numeric format whose precision and range to query. + + + + + range + + + Specifies the address of array of two integers into which encodings of the implementation's + numeric range are returned. + + + + + precision + + + Specifies the address of an integer into which the numeric precision of the implementation + is written. + + + + + + Description + + glGetShaderPrecisionFormat retrieves the numeric range and precision for + the implementation's representation of quantities in different numeric formats in specified + shader type. shaderType specifies the type of shader for which the numeric + precision and range is to be retrieved and must be one of GL_VERTEX_SHADER + or GL_FRAGMENT_SHADER. precisionType specifies the + numeric format to query and must be one of GL_LOW_FLOAT, GL_MEDIUM_FLOAT + GL_HIGH_FLOAT, GL_LOW_INT, GL_MEDIUM_INT, + or GL_HIGH_INT. + + + range points to an array of two integers into which the format's numeric range + will be returned. If min and max are the smallest values representable in the format, then the values + returned are defined to be: range[0] = floor(log2(|min|)) and + range[1] = floor(log2(|max|)). + + + precision specifies the address of an integer into which will be written + the log2 value of the number of bits of precision of the format. If the smallest representable + value greater than 1 is 1 + eps, then the integer addressed by precision + will contain floor(-log2(eps)). + + + Errors + + GL_INVALID_ENUM is generated if shaderType or + precisionType is not an accepted value. + + + + API Version Support + + + + + + glGetShaderPrecisionFormat + + + + + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetShaderSource.xml b/Source/Bind/Specifications/Docs/ES30/glGetShaderSource.xml new file mode 100644 index 00000000..afe49590 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetShaderSource.xml @@ -0,0 +1,137 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetShaderSource + 3G + + + glGetShaderSource + Returns the source code string from a shader object + + C Specification + + + void glGetShaderSource + GLuint shader + GLsizei bufSize + GLsizei *length + GLchar *source + + + + Parameters + + + shader + + Specifies the shader object to be + queried. + + + + bufSize + + Specifies the size of the character buffer for + storing the returned source code string. + + + + length + + Returns the length of the string returned in + source (excluding the null + terminator). + + + + source + + Specifies an array of characters that is used + to return the source code string. + + + + + Description + glGetShaderSource returns the + concatenation of the source code strings from the shader object + specified by shader. The source code + strings for a shader object are the result of a previous call to + glShaderSource. + The string returned by the function will be null + terminated. + + glGetShaderSource returns in + source as much of the source code string + as it can, up to a maximum of bufSize + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned source code + string can be obtained by calling + glGetShaderiv + with the value + GL_SHADER_SOURCE_LENGTH. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + + Associated Gets + glGetShaderiv + with argument + GL_SHADER_SOURCE_LENGTH + + glIsShader + + + API Version Support + + + + + + glGetShaderSource + + + + + + + See Also + glCreateShader, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetShaderiv.xml b/Source/Bind/Specifications/Docs/ES30/glGetShaderiv.xml new file mode 100644 index 00000000..c0c4e875 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetShaderiv.xml @@ -0,0 +1,190 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetShaderiv + 3G + + + glGetShaderiv + Returns a parameter from a shader object + + C Specification + + + void glGetShaderiv + GLuint shader + GLenum pname + GLint *params + + + + Parameters + + + shader + + Specifies the shader object to be + queried. + + + + pname + + Specifies the object parameter. Accepted + symbolic names are + GL_SHADER_TYPE, + GL_DELETE_STATUS, + GL_COMPILE_STATUS, + GL_INFO_LOG_LENGTH, + GL_SHADER_SOURCE_LENGTH. + + + + params + + Returns the requested object parameter. + + + + + Description + + glGetShaderiv + returns in params + the value of a parameter for a specific shader object. The + following parameters are defined: + + + + GL_SHADER_TYPE + + params returns + GL_VERTEX_SHADER if + shader is a vertex shader + object, and GL_FRAGMENT_SHADER + if shader is a fragment + shader object. + + + + + GL_DELETE_STATUS + + params returns + GL_TRUE if + shader is currently flagged + for deletion, and GL_FALSE + otherwise. + + + + + GL_COMPILE_STATUS + + params returns + GL_TRUE if the last compile + operation on shader was + successful, and GL_FALSE + otherwise. + + + + + GL_INFO_LOG_LENGTH + + params returns the + number of characters in the information log for + shader including the null + termination character (i.e., the size of the + character buffer required to store the information + log). If shader has no + information log, a value of 0 is returned. + + + + + GL_SHADER_SOURCE_LENGTH + + params returns the + length of the concatenation of the source strings + that make up the shader source for the + shader, including the null + termination character. (i.e., the size of the + character buffer required to store the shader + source). If no source code exists, 0 is + returned. + + + + + Notes + + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader does not refer to a shader + object. + + GL_INVALID_ENUM is generated if + pname is not an accepted value. + + + Associated Gets + glGetShaderInfoLog + with argument shader + + glGetShaderSource + with argument shader + + glIsShader + + + API Version Support + + + + + + glGetShaderiv + + + + + + + See Also + glCompileShader, + glCreateShader, + glDeleteShader, + glGetProgramiv, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetString.xml b/Source/Bind/Specifications/Docs/ES30/glGetString.xml new file mode 100644 index 00000000..72c78b44 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetString.xml @@ -0,0 +1,208 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGetString + 3G + + + glGetString + return a string describing the current GL connection + + C Specification + + + const GLubyte* glGetString + GLenum name + + + + + const GLubyte* glGetStringi + GLenum name + GLuint index + + + + Parameters + + + name + + + Specifies a symbolic constant, one of + GL_EXTENSIONS, GL_RENDERER, + GL_SHADING_LANGUAGE_VERSION, GL_VENDOR, or + GL_VERSION. + glGetStringi accepts only the GL_EXTENSIONS token. + + + + + index + + + For glGetStringi, specifies the index of the string to return. + + + + + + Description + + glGetString returns a pointer to a static string + describing some aspect of the current GL connection. + name can be one of the following: + + + + GL_EXTENSIONS + + + Returns the extension string supported by the implementation. + + + + + GL_VENDOR + + + Returns the company responsible for this GL implementation. + This name does not change from release to release. + + + + + GL_RENDERER + + + Returns the name of the renderer. + This name is typically specific to a particular configuration of a hardware + platform. + It does not change from release to release. + + + + + GL_VERSION + + + Returns a version or release number. + + + + + GL_SHADING_LANGUAGE_VERSION + + + Returns a version or release number for the shading language. + + + + + + glGetStringi returns a pointer to a static string + indexed by index. + name can be one of the following: + + + + GL_EXTENSIONS + + + Returns the extension string supported by the implementation at index. + + + + + + Strings GL_VENDOR and GL_RENDERER together uniquely specify + a platform. They do not change from release to release and should be used + by platform-recognition algorithms. + + + The GL_VERSION and GL_SHADING_LANGUAGE_VERSION strings begin with a version number. + The version number uses one + of these forms: + + + major_number.minor_number + major_number.minor_number.release_number + + + Vendor-specific information may follow the version + number. Its format depends on the implementation, but + a space always separates the version number and + the vendor-specific information. + + + All strings are null-terminated. + + + Notes + + If an error is generated, glGetString returns 0. + + + The client and server may support different versions. + glGetString always returns a compatible version number. + The release number always describes the server. + + + There is no defined relationship between the order in which extension names appear in + the non-indexed string and the order in which they appear in the indexed query. + + + There is no defined relationship between any particular extension name and the index values; + an extension name may correspond to a different index in different GL contexts and/or implementations. + + + Errors + + GL_INVALID_ENUM is generated if name is not an accepted value. + + + GL_INVALID_VALUE is generated by glGetStringi if + index is outside the valid range for indexed state name. + + + + API Version Support + + + + + + GetString + + + + GetStringi + + + + + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetSynciv.xml b/Source/Bind/Specifications/Docs/ES30/glGetSynciv.xml new file mode 100644 index 00000000..18387511 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetSynciv.xml @@ -0,0 +1,144 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetSynciv + 3G + + + glGetSynciv + query the properties of a sync object + + C Specification + + + void glGetSynciv + GLsync sync + GLenum pname + GLsizei bufSize + GLsizei *length + GLint *values + + + + Parameters + + + sync + + + Specifies the sync object whose properties to query. + + + + + pname + + + Specifies the parameter whose value to retrieve from the sync object specified in sync. + + + + + bufSize + + + Specifies the size of the buffer whose address is given in values. + + + + + length + + + Specifies the address of an variable to receive the number of integers placed in values. + + + + + values + + + Specifies the address of an array to receive the values of the queried parameter. + + + + + + Description + + glGetSynciv retrieves properties of a sync object. sync specifies the name of the sync + object whose properties to retrieve. + + + On success, glGetSynciv replaces up to bufSize integers in values with the + corresponding property values of the object being queried. The actual number of integers replaced is returned in the variable whose address is + specified in length. If length is NULL, no length is returned. + + + If pname is GL_OBJECT_TYPE, a single value representing the specific type of the sync object is + placed in values. The only type supported is GL_SYNC_FENCE. + + + If pname is GL_SYNC_STATUS, a single value representing the status of the sync object + (GL_SIGNALED or GL_UNSIGNALED) is placed in values. + + + If pname is GL_SYNC_CONDITION, a single value representing the condition of the sync object + is placed in values. The only condition supported is GL_SYNC_GPU_COMMANDS_COMPLETE. + + + If pname is GL_SYNC_FLAGS, a single value representing the flags with which the sync object + was created is placed in values. No flags are currently supportedflags is + expected to be used in future extensions to the sync objects.. + + + If an error occurs, nothing will be written to values or length. + + + Errors + + GL_INVALID_VALUE is generated if sync is not the name of a sync object. + + + GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. + + + + API Version Support + + + + + + glGetSynciv + + + + + + + See Also + + glFenceSync, + glWaitSync, + glClientWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetTexParameter.xml b/Source/Bind/Specifications/Docs/ES30/glGetTexParameter.xml new file mode 100644 index 00000000..ad1ab703 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetTexParameter.xml @@ -0,0 +1,299 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGetTexParameter + 3G + + + glGetTexParameter + return texture parameter values + + C Specification + + + void glGetTexParameterfv + GLenum target + GLenum pname + GLfloat * params + + + + + void glGetTexParameteriv + GLenum target + GLenum pname + GLint * params + + + + Parameters + + + target + + + Specifies the symbolic name of the target texture. + GL_TEXTURE_2D, + GL_TEXTURE_2D_ARRAY, + GL_TEXTURE_3D, and + GL_TEXTURE_CUBE_MAP + are accepted. + + + + + pname + + + Specifies the symbolic name of a texture parameter. + GL_TEXTURE_BASE_LEVEL, + GL_TEXTURE_COMPARE_FUNC, + GL_TEXTURE_COMPARE_MODE, + GL_TEXTURE_IMMUTABLE_FORMAT, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MAX_LEVEL, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_SWIZZLE_R, + GL_TEXTURE_SWIZZLE_G, + GL_TEXTURE_SWIZZLE_B, + GL_TEXTURE_SWIZZLE_A, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, and + GL_TEXTURE_WRAP_R + are accepted. + + + + + params + + + Returns the texture parameters. + + + + + + Description + + glGetTexParameter returns in params the value or values of the texture parameter + specified as pname. + target defines the target texture. + GL_TEXTURE_2D, + GL_TEXTURE_3D, + GL_TEXTURE_2D_ARRAY, and + GL_TEXTURE_CUBE_MAP + specify two- or three-dimensional, two-dimensional array, or cube-mapped texturing, respectively. + pname accepts the same symbols as glTexParameter, + with the same interpretations: + + + + GL_TEXTURE_BASE_LEVEL + + + Returns the single-valued base texture mipmap level. The initial value is 0. + + + + + GL_TEXTURE_COMPARE_FUNC + + + Returns a single-valued texture comparison function, a symbolic constant. The + initial value is GL_LEQUAL. See glTexParameter. + + + + + GL_TEXTURE_COMPARE_MODE + + + Returns a single-valued texture comparison mode, a symbolic constant. The + initial value is GL_NONE. See glTexParameter. + + + + + GL_TEXTURE_IMMUTABLE_FORMAT + + + Returns a single-value boolean representing the immutability of the texture format and size. + initial value is GL_FALSE. See glTexStorage2D. + + + + + GL_TEXTURE_MAG_FILTER + + + Returns the single-valued texture magnification filter, + a symbolic constant. The initial value is GL_LINEAR. + + + + + GL_TEXTURE_MAX_LEVEL + + + Returns the single-valued maximum texture mipmap array level. The initial + value is 1000. + + + + + GL_TEXTURE_MAX_LOD + + + Returns the single-valued texture maximum level-of-detail value. The + initial value is 1000. + + + + + GL_TEXTURE_MIN_FILTER + + + Returns the single-valued texture minification filter, + a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MIN_LOD + + + Returns the single-valued texture minimum level-of-detail value. The + initial value is + + + -1000 + . + + + + + GL_TEXTURE_SWIZZLE_R + + + Returns the red component swizzle. The initial value is GL_RED. + + + + + GL_TEXTURE_SWIZZLE_G + + + Returns the green component swizzle. The initial value is GL_GREEN. + + + + + GL_TEXTURE_SWIZZLE_B + + + Returns the blue component swizzle. The initial value is GL_BLUE. + + + + + GL_TEXTURE_SWIZZLE_A + + + Returns the alpha component swizzle. The initial value is GL_ALPHA. + + + + + GL_TEXTURE_WRAP_S + + + Returns the single-valued wrapping function for texture coordinate + s, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_T + + + Returns the single-valued wrapping function for texture coordinate + t, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_R + + + Returns the single-valued wrapping function for texture coordinate + r, + a symbolic constant. The initial value is GL_REPEAT. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + + API Version Support + + + + + + glGetTexParameterfv + + + + glGetTexParameteriv + + + + + + + See Also + + glTexParameter, + glTexStorage2D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetTransformFeedbackVarying.xml b/Source/Bind/Specifications/Docs/ES30/glGetTransformFeedbackVarying.xml new file mode 100644 index 00000000..d435f94b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetTransformFeedbackVarying.xml @@ -0,0 +1,177 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetTransformFeedbackVarying + 3G + + + glGetTransformFeedbackVarying + retrieve information about varying variables selected for transform feedback + + C Specification + + + void glGetTransformFeedbackVarying + GLuint program + GLuint index + GLsizei bufSize + GLsizei * length + GLsizei size + GLenum * type + char * name + + + + Parameters + + + program + + + The name of the target program object. + + + + + index + + + The index of the varying variable whose information to retrieve. + + + + + bufSize + + + The maximum number of characters, including the null terminator, that may be written into name. + + + + + length + + + The address of a variable which will receive the number of characters written into name, + excluding the null-terminator. If length is NULL no length is returned. + + + + + size + + + The address of a variable that will receive the size of the varying. + + + + + type + + + The address of a variable that will recieve the type of the varying. + + + + + name + + + The address of a buffer into which will be written the name of the varying. + + + + + + Description + + Information about the set of varying variables in a linked program that will be captured + during transform feedback may be retrieved by calling glGetTransformFeedbackVarying. + glGetTransformFeedbackVarying provides information about the varying + variable selected by index. An index of 0 selects + the first varying variable specified in the varyings array passed + to glTransformFeedbackVaryings, and + an index of GL_TRANSFORM_FEEDBACK_VARYINGS-1 selects + the last such variable. + + + The name of the selected varying is returned as a null-terminated string in + name. The actual number of characters written into name, + excluding the null terminator, is returned in length. If length + is NULL, no length is returned. The maximum number of characters that may be written into name, + including the null terminator, is specified by bufSize. + + + The length of the longest varying name in program is given by GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, + which can be queried with glGetProgramiv. + + + For the selected varying variable, its type is returned into type. The size of + the varying is returned into size. The value in size is + in units of the type returned in type. The type returned can be any of the + scalar, vector, or matrix attribute types returned by glGetActiveAttrib. + If an error occurred, the return parameters length, size, + type and name will be unmodified. This command will return as much + information about the varying variables as possible. If no information is available, length + will be set to zero and name will be an empty string. This situation could + arise if glGetTransformFeedbackVarying is called after a failed link. + + + Errors + + GL_INVALID_VALUE is generated if program is not + the name of a program object. + + + GL_INVALID_VALUE is generated if index is greater or equal to + the value of GL_TRANSFORM_FEEDBACK_VARYINGS. + + + GL_INVALID_OPERATION is generated program has not been linked. + + + Associated Gets + + glGetProgramiv with argument GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH + or GL_TRANSFORM_FEEDBACK_VARYINGS. + + + + API Version Support + + + + + + glGetTransformFeedbackVarying + + + + + + + See Also + + glBeginTransformFeedback, + glEndTransformFeedback, + glTransformFeedbackVaryings, + glGetProgramiv + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetUniform.xml b/Source/Bind/Specifications/Docs/ES30/glGetUniform.xml new file mode 100644 index 00000000..e627a4fe --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetUniform.xml @@ -0,0 +1,177 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetUniform + 3G + + + glGetUniform + glGetUniformfv + glGetUniformiv + glGetUniformuiv + Returns the value of a uniform variable + + C Specification + + + void glGetUniformfv + GLuint program + GLint location + GLfloat *params + + + void glGetUniformiv + GLuint program + GLint location + GLint *params + + + void glGetUniformuiv + GLuint program + GLint location + GLuint *params + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + location + + Specifies the location of the uniform variable + to be queried. + + + + params + + Returns the value of the specified uniform + variable. + + + + + Description + glGetUniform returns in + params the value(s) of the specified + uniform variable. The type of the uniform variable specified by + location determines the number of values + returned. If the uniform variable is defined in the shader as a + boolean, int, unsigned int, or float, a single value will be returned. If it + is defined as a vec2, ivec2, uvec2, or bvec2, two values will be + returned. If it is defined as a vec3, ivec3, uvec3, or bvec3, three + values will be returned, and so on. To query values stored in + uniform variables declared as arrays, call + glGetUniform for each element of the array. + To query values stored in uniform variables declared as + structures, call glGetUniform for each + field in the structure. The values for uniform variables + declared as a matrix will be returned in column major + order. + + The locations assigned to uniform variables are not known + until the program object is linked. After linking has occurred, + the command + glGetUniformLocation + can be used to obtain the location of a uniform variable. This + location value can then be passed to + glGetUniform in order to query the current + value of the uniform variable. After a program object has been + linked successfully, the index values for uniform variables + remain fixed until the next link command occurs. The uniform + variable values can only be queried after a link if the link was + successful. + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + GL_INVALID_OPERATION is generated if + location does not correspond to a valid + uniform variable location for the specified program object. + + + Associated Gets + glGetActiveUniform + with arguments program and the index of an active + uniform variable + + glGetProgramiv + with arguments program and + GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH + + glGetUniformLocation + with arguments program and the name of a + uniform variable + glIsProgram + + + API Version Support + + + + + + glGetUniformfv + + + + glGetUniformiv + + + + glGetUniformuiv + + + + + + + See Also + glCreateProgram, + glLinkProgram, + glUniform + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetUniformBlockIndex.xml b/Source/Bind/Specifications/Docs/ES30/glGetUniformBlockIndex.xml new file mode 100644 index 00000000..dc5f623d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetUniformBlockIndex.xml @@ -0,0 +1,104 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetUniformBlockIndex + 3G + + + glGetUniformBlockIndex + retrieve the index of a named uniform block + + C Specification + + + GLuint glGetUniformBlockIndex + GLuint program + const GLchar *uniformBlockName + + + + Parameters + + + program + + + Specifies the name of a program containing the uniform block. + + + + + uniformBlockName + + + Specifies the address an array of characters containing the name of the uniform block whose index to retrieve. + + + + + + Description + + glGetUniformBlockIndex retrieves the index of a uniform block within program. + + + program must be the name of a program object for which the command + glLinkProgram must have been called in the past, although it is not required that + glLinkProgram must have succeeded. The link could have failed because the number + of active uniforms exceeded the limit. + + + uniformBlockName must contain a nul-terminated string specifying the name of the uniform block. + + + glGetUniformBlockIndex returns the uniform block index for the uniform block named uniformBlockName + of program. If uniformBlockName does not identify an active uniform block of program, + glGetUniformBlockIndex returns the special identifier, GL_INVALID_INDEX. Indices of the active uniform + blocks of a program are assigned in consecutive order, beginning with zero. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the name of a program object for which + glLinkProgram has been called in the past. + + + + API Version Support + + + + + + glGetUniformBlockIndex + + + + + + + See Also + + glGetActiveUniformBlockName, + glGetActiveUniformBlockiv, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetUniformIndices.xml b/Source/Bind/Specifications/Docs/ES30/glGetUniformIndices.xml new file mode 100644 index 00000000..4baa3aa0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetUniformIndices.xml @@ -0,0 +1,127 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetUniformIndices + 3G + + + glGetUniformIndices + retrieve the index of a named uniform block + + C Specification + + + void glGetUniformIndices + GLuint program + GLsizei uniformCount + const GLchar **uniformNames + GLuint *uniformIndices + + + + Parameters + + + program + + + Specifies the name of a program containing uniforms whose indices to query. + + + + + uniformCount + + + Specifies the number of uniforms whose indices to query. + + + + + uniformNames + + + Specifies the address of an array of pointers to buffers containing the names of the queried uniforms. + + + + + uniformIndices + + + Specifies the address of an array that will receive the indices of the uniforms. + + + + + + Description + + glGetUniformIndices retrieves the indices of a number of uniforms within program. + + + program must be the name of a program object for which the command + glLinkProgram must have been called in the past, although it is not required that + glLinkProgram must have succeeded. The link could have failed because the number + of active uniforms exceeded the limit. + + + uniformCount indicates both the number of elements in the array of names uniformNames and the + number of indices that may be written to uniformIndices. + + + uniformNames contains a list of uniformCount nul-terminated name strings identifying the + uniform names to be queried for indices. For each name string in uniformNames, the index assigned to the active + uniform of that name will be written to the corresponding element of uniformIndices. If a string in + uniformNames is not the name of an active uniform, the special value GL_INVALID_INDEX will + be written to the corresponding element of uniformIndices. + + + If an error occurs, nothing is written to uniformIndices. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the name of a program object for which + glLinkProgram has been called in the past. + + + + API Version Support + + + + + + glGetUniformIndices + + + + + + + See Also + + glGetActiveUniform, + glGetActiveUniformsiv, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetUniformLocation.xml b/Source/Bind/Specifications/Docs/ES30/glGetUniformLocation.xml new file mode 100644 index 00000000..db4b2e51 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetUniformLocation.xml @@ -0,0 +1,162 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetUniformLocation + 3G + + + glGetUniformLocation + Returns the location of a uniform variable + + C Specification + + + GLint glGetUniformLocation + GLuint program + const GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + name + + Points to a null terminated string containing + the name of the uniform variable whose location is + to be queried. + + + + + Description + glGetUniformLocation returns an + integer that represents the location of a specific uniform + variable within a the default uniform block of a program object. + name must be a null terminated string + that contains no white space. name must + be an active uniform variable name in program + that is not a structure, an array of structures, or a subcomponent + of a vector or a matrix. This function returns -1 if + name does not correspond to an active uniform variable in + program or if name + is associated with a named uniform block. + + + Uniform variables that are structures or arrays of + structures may be queried by calling + glGetUniformLocation for each field within + the structure. The array element operator "[]" and the + structure field operator "." may be used in + name in order to select elements within + an array or fields within a structure. The result of using these + operators is not allowed to be another structure, an array of + structures, or a subcomponent of a vector or a matrix. + The first element of a uniform array is identified using the name + of the uniform array appended with "[0]". If the last part + of the string name indicates a uniform array, then the location of the + first element of that array can be retrieved by either using the name of + the array, or by using the name appended by "[0]". + + + Locations for sequential array indices are not required to be sequential. The + location for "a[1]" may or may not be equal to the location for + "a[0]" + 1. Furthermore, since unused elements at the end of uniform + arrays may be trimmed the location of the i + 1 array element may not be valid + even if the location of the i element is valid. As a direct consequence, the + value of the location of "a[0]" + 1 may refer to a different uniform + entirely. Applications that wish to set individual array elements should query + the locations of each element separately. + + + The actual locations assigned to uniform variables are not + known until the program object is linked successfully. After + linking has occurred, the command + glGetUniformLocation can be used to obtain + the location of a uniform variable. This location value can then + be passed to + glUniform + to set the value of the uniform variable or to + glGetUniform + in order to query the current value of the uniform variable. + After a program object has been linked successfully, the index + values for uniform variables remain fixed until the next link + command occurs. Uniform variable locations and values can only + be queried after a link if the link was successful. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + + Associated Gets + glGetActiveUniform + with arguments program and the index of + an active uniform variable + + glGetProgramiv + with arguments program and + GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH + + glGetUniform + with arguments program and the name of a + uniform variable + glIsProgram + + + API Version Support + + + + + + glGetUniformLocation + + + + + + + See Also + glLinkProgram, + glUniform + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetVertexAttrib.xml b/Source/Bind/Specifications/Docs/ES30/glGetVertexAttrib.xml new file mode 100644 index 00000000..d88e4fb3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetVertexAttrib.xml @@ -0,0 +1,301 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetVertexAttrib + 3G + + + glGetVertexAttrib + glGetVertexAttribfv + glGetVertexAttribiv + glGetVertexAttribIiv + glGetVertexAttribIuiv + Return a generic vertex attribute parameter + + C Specification + + + void glGetVertexAttribfv + GLuint index + GLenum pname + GLfloat *params + + + void glGetVertexAttribiv + GLuint index + GLenum pname + GLint *params + + + void glGetVertexAttribIiv + GLuint index + GLenum pname + GLint *params + + + void glGetVertexAttribIuiv + GLuint index + GLenum pname + GLuint *params + + + + Parameters + + + index + + Specifies the generic vertex attribute + parameter to be queried. + + + + pname + + Specifies the symbolic name of the vertex + attribute parameter to be queried. Accepted values are + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, + GL_VERTEX_ATTRIB_ARRAY_ENABLED, + GL_VERTEX_ATTRIB_ARRAY_SIZE, + GL_VERTEX_ATTRIB_ARRAY_STRIDE, + GL_VERTEX_ATTRIB_ARRAY_TYPE, + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, + GL_VERTEX_ATTRIB_ARRAY_INTEGER, + GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or + GL_CURRENT_VERTEX_ATTRIB. + + + + params + + Returns the requested data. + + + + + Description + glGetVertexAttrib returns in + params the value of a generic vertex + attribute parameter. The generic vertex attribute to be queried + is specified by index, and the parameter + to be queried is specified by pname. + + The accepted parameter names are as follows: + + + + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + + + + params returns a + single value, the name of the buffer object currently bound to + the binding point corresponding to generic vertex attribute array + index. If no buffer object is bound, + 0 is returned. The initial value is 0. + + + + + GL_VERTEX_ATTRIB_ARRAY_ENABLED + + + + params returns a + single value that is non-zero (true) if the vertex + attribute array for index is + enabled and 0 (false) if it is disabled. The initial + value is GL_FALSE. + + + + + GL_VERTEX_ATTRIB_ARRAY_SIZE + + + + params returns a + single value, the size of the vertex attribute array + for index. The size is the + number of values for each element of the vertex + attribute array, and it will be 1, 2, 3, or 4. The + initial value is 4. + + + + + GL_VERTEX_ATTRIB_ARRAY_STRIDE + + + + params returns a + single value, the array stride for (number of bytes + between successive elements in) the vertex attribute + array for index. A value of 0 + indicates that the array elements are stored + sequentially in memory. The initial value is 0. + + + + + GL_VERTEX_ATTRIB_ARRAY_TYPE + + + + params returns a + single value, a symbolic constant indicating the + array type for the vertex attribute array for + index. Possible values are + GL_BYTE, + GL_UNSIGNED_BYTE, + GL_SHORT, + GL_UNSIGNED_SHORT, + GL_INT, + GL_INT_2_10_10_10_REV, + GL_UNSIGNED_INT, + GL_FIXED, + GL_HALF_FLOAT, and + GL_FLOAT. The initial value is + GL_FLOAT. + + + + + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED + + + + params returns a + single value that is non-zero (true) if fixed-point + data types for the vertex attribute array indicated + by index are normalized when + they are converted to floating point, and 0 (false) + otherwise. The initial value is + GL_FALSE. + + + + + GL_VERTEX_ATTRIB_ARRAY_INTEGER + + + + params returns a + single value that is non-zero (true) if fixed-point + data types for the vertex attribute array indicated + by index have integer data types, and 0 (false) + otherwise. The initial value is + 0 (GL_FALSE). + + + + + GL_VERTEX_ATTRIB_ARRAY_DIVISOR + + + + params returns a + single value that is the frequency divisor used for instanced + rendering. See glVertexAttribDivisor. + The initial value is 0. + + + + + GL_CURRENT_VERTEX_ATTRIB + + + + params returns four + values that represent the current value for the + generic vertex attribute specified by index. The initial value + for all generic vertex attributes is (0,0,0,1). + + + + + All of the parameters except GL_CURRENT_VERTEX_ATTRIB + represent state stored in the currently bound vertex array object. If the zero object + is bound, these values are client state. + + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_ENUM is generated if + pname is not an accepted value. + + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + + API Version Support + + + + + + glGetVertexAttribfv + + + + glGetVertexAttribiv + + + + glGetVertexAttribIiv + + + + glGetVertexAttribIuiv + + + + + + + See Also + glBindAttribLocation, + glBindBuffer, + glDisableVertexAttribArray, + glEnableVertexAttribArray, + glVertexAttrib, + glVertexAttribDivisor, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glGetVertexAttribPointerv.xml b/Source/Bind/Specifications/Docs/ES30/glGetVertexAttribPointerv.xml new file mode 100644 index 00000000..5fef2858 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glGetVertexAttribPointerv.xml @@ -0,0 +1,118 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetVertexAttribPointerv + 3G + + + glGetVertexAttribPointerv + return the address of the specified generic vertex attribute pointer + + C Specification + + + void glGetVertexAttribPointerv + GLuint index + GLenum pname + GLvoid **pointer + + + + Parameters + + + index + + Specifies the generic vertex attribute + parameter to be returned. + + + + pname + + Specifies the symbolic name of the generic + vertex attribute parameter to be returned. Must be + GL_VERTEX_ATTRIB_ARRAY_POINTER. + + + + pointer + + Returns the pointer value. + + + + + Description + glGetVertexAttribPointerv returns + pointer information. index is the generic + vertex attribute to be queried, pname is + a symbolic constant indicating the pointer to be returned, and + params is a pointer to a location in + which to place the returned data. + + The pointer returned is a byte offset into the data store of the buffer object + that was bound to the GL_ARRAY_BUFFER target + (see glBindBuffer) when the desired pointer was previously specified. + + + Notes + The state returned is retrieved from the currently bound vertex array object. If the zero object is bound, + the value is queried from client state. + The initial value for each pointer is 0. + + Errors + + GL_INVALID_VALUE + is generated if index + is greater than or equal to GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_ENUM + is generated if pname + is not an accepted value. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + + API Version Support + + + + + + glGetVertexAttribPointerv + + + + + + + See Also + glGetVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glHint.xml b/Source/Bind/Specifications/Docs/ES30/glHint.xml new file mode 100644 index 00000000..15585085 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glHint.xml @@ -0,0 +1,170 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glHint + 3G + + + glHint + specify implementation-specific hints + + C Specification + + + void glHint + GLenum target + GLenum mode + + + + Parameters + + + target + + + Specifies a symbolic constant indicating the behavior to be controlled. + GL_FRAGMENT_SHADER_DERIVATIVE_HINT, and + GL_GENERATE_MIPMAP_HINT + are accepted. + + + + + mode + + + Specifies a symbolic constant indicating the desired behavior. + GL_FASTEST, + GL_NICEST, and + GL_DONT_CARE are accepted. + + + + + + Description + + Certain aspects of GL behavior, + when there is room for interpretation, + can be controlled with hints. + A hint is specified with two arguments. + target is a symbolic + constant indicating the behavior to be controlled, + and mode is another symbolic constant indicating the desired + behavior. The initial value for each target is GL_DONT_CARE. + mode can be one of the following: + + + + GL_FASTEST + + + + + The most efficient option should be chosen. + + + + + GL_NICEST + + + + + The most correct, + or highest quality, + option should be chosen. + + + + + GL_DONT_CARE + + + + + No preference. + + + + + + Though the implementation aspects that can be hinted are well defined, + the interpretation of the hints depends on the implementation. + The hint aspects that can be specified with target, + along with suggested semantics, + are as follows: + + + + GL_FRAGMENT_SHADER_DERIVATIVE_HINT + + + + + Indicates the accuracy of the derivative calculation for the GL shading language fragment processing built-in functions: + dFdx, dFdy, and fwidth. + + + + + GL_GENERATE_MIPMAP_HINT + + + Indicates the quality of filtering when generating mipmap images with + glGenerateMipmap. + + + + + + Notes + + The interpretation of hints depends on the implementation. + Some implementations ignore glHint settings. + + + Errors + + GL_INVALID_ENUM is generated if either target or mode is not + an accepted value. + + + + API Version Support + + + + + + glHint + + + + + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glInvalidateFramebuffer.xml b/Source/Bind/Specifications/Docs/ES30/glInvalidateFramebuffer.xml new file mode 100644 index 00000000..11e870f8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glInvalidateFramebuffer.xml @@ -0,0 +1,143 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glInvalidateFramebuffer + 3G + + + glInvalidateFramebuffer + Invalidate the contents of attachments within a framebuffer + + C Specification + + + void glInvalidateFramebuffer + GLenum target + GLsizei numAttachments + const GLenum *attachments + + + + Parameters + + + target + + + Specifies the target of the invalidate operation. Must be GL_FRAMEBUFFER. + + + + + numAttachments + + + Specifies how many attachments are supplied in the attachments list. + + + + + attachments + + + A list of numAttachments attachments to invalidate. + + + + + + Description + + glInvalidateFramebuffer signals to the GL + that it need not preserve all pixels of a bound framebuffer + object. attachments contains a list of + numAttachments to be invalidated. If an + attachment is specified that does not exist in the bound + framebuffer, it is ignored. + + + If a framebuffer object is bound, then + attachments may contain + GL_COLOR_ATTACHMENTi, + GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT, and/or + GL_DEPTH_STENCIL_ATTACHMENT. If the + framebuffer object is not complete, + glInvalidateFramebuffer may be ignored. + + + If the default framebuffer is bound, then + attachments may contain + GL_COLOR, identifying the color buffer; + GL_DEPTH, identifying the depth buffer; + and/or GL_STENCIL, identifying the stencil + buffer. + + + Notes + + The intention of this function is to provide a hint to the GL + implementation that there is no longer a need to preserve the + contents of particular attachments of a framebuffer object, or + the default framebuffer. It is possible, for example, to signal + the intention that depth and or stencil data is no longer needed + at the end of a scene, or that multisample color buffer data is + no longer needed after a resolve through + glBlitFramebuffer. + + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_FRAMEBUFFER. + + + GL_INVALID_OPERATION is generated if + attachments contains + GL_COLOR_ATTACHMENTm and m is greater than + or equal to the value of + GL_MAX_COLOR_ATTACHMENTS. + + + + API Version Support + + + + + + glInvalidateFramebuffer + + + + + + + See Also + + glBindFramebuffer, + glBlitFramebuffer + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFramebufferTextureLayer, + glInvalidateSubFramebuffer + + + Copyright + + Copyright 2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glInvalidateSubFramebuffer.xml b/Source/Bind/Specifications/Docs/ES30/glInvalidateSubFramebuffer.xml new file mode 100644 index 00000000..3527e2fd --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glInvalidateSubFramebuffer.xml @@ -0,0 +1,185 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glInvalidateSubFramebuffer + 3G + + + glInvalidateSubFramebuffer + Invalidate portions of the contents of attachments within a framebuffer + + C Specification + + + void glInvalidateSubFramebuffer + GLenum target + GLsizei numAttachments + const GLenum *attachments + GLintx + GLinty + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies the target of the invalidate operation. Must be GL_FRAMEBUFFER. + + + + + numAttachments + + + Specifies how many attachments are supplied in the attachments list. + + + + + attachments + + + A list of numAttachments attachments to invalidate. + + + + + x + + + Specifies the left origin of the pixel rectangle to invalidate, with lower left hand corner at (0,0). + + + + + y + + + Specifies the bottom origin of the pixel rectangle to invalidate, with lower left hand corner at (0,0). + + + + + width + + + Specifies the width of the pixel rectangle to invalidate. + + + + + height + + + Specifies the height of the pixel rectangle to invalidate. + + + + + + Description + + glInvalidateSubFramebuffer signals to the + GL that it need not preserve all pixels of a specified region of + a bound framebuffer object. attachments + contains a list of numAttachments to be + invalidated. If an attachment is specified that does not exist + in the bound framebuffer, it is ignored. + x, y, + width and height + specify the bounds of the pixel rectangle to invalidate. Any of + these pixels lying outside of the window allocated to the + current GL context, or outside of the image attached to the + currently bound framebuffer object, are ignored. + + + If a framebuffer object is bound, then + attachments may contain + GL_COLOR_ATTACHMENTi, + GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT, and/or + GL_DEPTH_STENCIL_ATTACHMENT. If the + framebuffer object is not complete, + glInvalidateSubFramebuffer may be ignored. + + + If the default framebuffer is bound, then + attachments may contain + GL_COLOR, identifying the color buffer; + GL_DEPTH, identifying the depth buffer; + and/or GL_STENCIL, identifying the stencil + buffer. + + + Notes + + The intention of this function is to provide a hint to the GL + implementation that there is no longer a need to preserve the + contents of particular attachments of a framebuffer object, or + the default framebuffer. It is possible, for example, to signal + the intention that depth and or stencil data is no longer needed + at the end of a scene, or that multisample color buffer data is + no longer needed after a resolve through + glBlitFramebuffer. + + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_FRAMEBUFFER. + + + GL_INVALID_OPERATION is generated if + attachments contains + GL_COLOR_ATTACHMENTm and m is greater than + or equal to the value of + GL_MAX_COLOR_ATTACHMENTS. + + + + API Version Support + + + + + + glInvalidateSubFramebuffer + + + + + + + See Also + + glBindFramebuffer, + glBlitFramebuffer + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFramebufferTextureLayer, + glInvalidateFramebuffer + + + Copyright + + Copyright 2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsBuffer.xml b/Source/Bind/Specifications/Docs/ES30/glIsBuffer.xml new file mode 100644 index 00000000..6188484d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsBuffer.xml @@ -0,0 +1,86 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glIsBuffer + 3G + + + glIsBuffer + determine if a name corresponds to a buffer object + + C Specification + + + GLboolean glIsBuffer + GLuint buffer + + + + Parameters + + + buffer + + + Specifies a value that may be the name of a buffer object. + + + + + + Description + + glIsBuffer returns GL_TRUE if buffer is currently the name of a buffer object. + If buffer is zero, or is a non-zero value that is not currently the + name of a buffer object, or if an error occurs, glIsBuffer returns GL_FALSE. + + + A name returned by glGenBuffers, but not yet associated with a buffer object + by calling glBindBuffer, is not the name of a buffer object. + + + + API Version Support + + + + + + glIsBuffer + + + + + + + See Also + + glBindBuffer, + glDeleteBuffers, + glGenBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsEnabled.xml b/Source/Bind/Specifications/Docs/ES30/glIsEnabled.xml new file mode 100644 index 00000000..ec2f088e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsEnabled.xml @@ -0,0 +1,205 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glIsEnabled + 3G + + + glIsEnabled + test whether a capability is enabled + + C Specification + + + GLboolean glIsEnabled + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + index + + + Specifies the index of the capability. + + + + + + Description + + glIsEnabled returns GL_TRUE if cap is an enabled capability + and returns GL_FALSE otherwise. Initially all capabilities except GL_DITHER are disabled; + GL_DITHER is initially enabled. + + + The following capabilities are accepted for cap: + + + + + + + + + + + Constant + + + See + + + + + + + GL_BLEND + + + glBlendFunc + + + + + GL_CULL_FACE + + + glCullFace + + + + + GL_DEPTH_TEST + + + glDepthFunc, glDepthRangef + + + + + GL_DITHER + + + glEnable + + + + + GL_POLYGON_OFFSET_FILL + + + glPolygonOffset + + + + + GL_PRIMITIVE_RESTART_FIXED_INDEX + + + glEnable + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + glSampleCoverage + + + + + GL_SAMPLE_COVERAGE + + + glSampleCoverage + + + + + GL_SCISSOR_TEST + + + glScissor + + + + + GL_STENCIL_TEST + + + glStencilFunc, glStencilOp + + + + + + + + + Notes + + If an error is generated, + glIsEnabled returns GL_FALSE. + + + Errors + + GL_INVALID_ENUM is generated if cap is not an accepted value. + + + + API Version Support + + + + + + glIsEnabled + + + + + + + See Also + + glEnable, + glDisable, + glGet + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsFramebuffer.xml b/Source/Bind/Specifications/Docs/ES30/glIsFramebuffer.xml new file mode 100644 index 00000000..31bfa9b8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsFramebuffer.xml @@ -0,0 +1,79 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsFramebuffer + 3G + + + glIsFramebuffer + determine if a name corresponds to a framebuffer object + + C Specification + + + GLboolean glIsFramebuffer + GLuint framebuffer + + + + Parameters + + + framebuffer + + + Specifies a value that may be the name of a framebuffer object. + + + + + + Description + + glIsFramebuffer returns GL_TRUE if framebuffer is currently the name of a framebuffer + object. If framebuffer is zero, or if framebuffer is not the name of a framebuffer object, or if an error + occurs, glIsFramebuffer returns GL_FALSE. If framebuffer is a name returned by + glGenFramebuffers, by that has not yet been bound through a call to + glBindFramebuffer, then the name is not a framebuffer object and glIsFramebuffer + returns GL_FALSE. + + + + API Version Support + + + + + + glIsFramebuffer + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glDeleteFramebuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsProgram.xml b/Source/Bind/Specifications/Docs/ES30/glIsProgram.xml new file mode 100644 index 00000000..b70e22a3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsProgram.xml @@ -0,0 +1,128 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glIsProgram + 3G + + + glIsProgram + Determines if a name corresponds to a program object + + C Specification + + + GLboolean glIsProgram + GLuint program + + + + Parameters + + + program + + Specifies a potential program object. + + + + + Description + glIsProgram returns + GL_TRUE if program + is the name of a program object previously created with + glCreateProgram + and not yet deleted with glDeleteProgram. + If program is zero or a non-zero value that + is not the name of a program object, or if an error occurs, + glIsProgram returns GL_FALSE. + + Notes + No error is generated if program is + not a valid program object name. + + A program object marked for deletion with glDeleteProgram + but still in use as part of current rendering state is still considered + a program object and glIsProgram will return GL_TRUE. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with arguments program and the index of + an active attribute variable + + glGetActiveUniform + with arguments program and the index of + an active uniform variable + + glGetAttachedShaders + with argument program + + glGetAttribLocation + with arguments program and the name of an + attribute variable + + glGetProgramiv + with arguments program and the parameter + to be queried + + glGetProgramInfoLog + with argument program + + glGetUniform + with arguments program and the location + of a uniform variable + + glGetUniformLocation + with arguments program and the name of a + uniform variable + + + API Version Support + + + + + + glIsProgram + + + + + + + See Also + glAttachShader, + glBindAttribLocation, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsQuery.xml b/Source/Bind/Specifications/Docs/ES30/glIsQuery.xml new file mode 100644 index 00000000..7d8f1b09 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsQuery.xml @@ -0,0 +1,86 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glIsQuery + 3G + + + glIsQuery + determine if a name corresponds to a query object + + C Specification + + + GLboolean glIsQuery + GLuint id + + + + Parameters + + + id + + + Specifies a value that may be the name of a query object. + + + + + + Description + + glIsQuery returns GL_TRUE if id is currently the name of a query object. + If id is zero, or is a non-zero value that is not currently the + name of a query object, or if an error occurs, glIsQuery returns GL_FALSE. + + + A name returned by glGenQueries, but not yet associated with a query object + by calling glBeginQuery, is not the name of a query object. + + + + API Version Support + + + + + + glIsQuery + + + + + + + See Also + + glBeginQuery, + glDeleteQueries, + glEndQuery, + glGenQueries + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES30/glIsRenderbuffer.xml new file mode 100644 index 00000000..441f893a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsRenderbuffer.xml @@ -0,0 +1,80 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsRenderbuffer + 3G + + + glIsRenderbuffer + determine if a name corresponds to a renderbuffer object + + C Specification + + + GLboolean glIsRenderbuffer + GLuint renderbuffer + + + + Parameters + + + renderbuffer + + + Specifies a value that may be the name of a renderbuffer object. + + + + + + Description + + glIsRenderbuffer returns GL_TRUE if renderbuffer is currently the name of a renderbuffer + object. If renderbuffer is zero, or if renderbuffer is not the name of a renderbuffer object, or if an error + occurs, glIsRenderbuffer returns GL_FALSE. If renderbuffer is a name returned by + glGenRenderbuffers, by that has not yet been bound through a call to + glBindRenderbuffer or glFramebufferRenderbuffer, + then the name is not a renderbuffer object and glIsRenderbuffer returns GL_FALSE. + + + + API Version Support + + + + + + glIsRenderbuffer + + + + + + + See Also + + glGenRenderbuffers, + glBindRenderbuffer, + glFramebufferRenderbuffer, + glDeleteRenderbuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsSampler.xml b/Source/Bind/Specifications/Docs/ES30/glIsSampler.xml new file mode 100644 index 00000000..0adc93be --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsSampler.xml @@ -0,0 +1,79 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsSampler + 3G + + + glIsSampler + determine if a name corresponds to a sampler object + + C Specification + + + GLboolean glIsSampler + GLuint id + + + + Parameters + + + id + + + Specifies a value that may be the name of a sampler object. + + + + + + Description + + glIsSampler returns GL_TRUE if id is currently the name of a sampler object. + If id is zero, or is a non-zero value that is not currently the + name of a sampler object, or if an error occurs, glIsSampler returns GL_FALSE. + + + A name returned by glGenSamplers, is the name of a sampler object. + + + + API Version Support + + + + + + glIsSampler + + + + + + + See Also + + glGenSamplers, + glBindSampler, + glDeleteSamplers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsShader.xml b/Source/Bind/Specifications/Docs/ES30/glIsShader.xml new file mode 100644 index 00000000..e36908e5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsShader.xml @@ -0,0 +1,107 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glIsShader + 3G + + + glIsShader + Determines if a name corresponds to a shader object + + C Specification + + + GLboolean glIsShader + GLuint shader + + + + Parameters + + + shader + + Specifies a potential shader object. + + + + + Description + glIsShader returns + GL_TRUE if shader is + the name of a shader object previously created with + glCreateShader + and not yet deleted with glDeleteShader. + If shader is + zero or a non-zero value that is not the name of a shader + object, or if an error occurs, glIsShader returns + GL_FALSE. + + Notes + No error is generated if shader is + not a valid shader object name. + + A shader object marked for deletion with glDeleteShader + but still attached to a program object is still considered + a shader object and glIsShader will return GL_TRUE. + + Associated Gets + glGetAttachedShaders + with a valid program object + + glGetShaderiv + with arguments shader and a parameter to + be queried + + glGetShaderInfoLog + with argument object + + glGetShaderSource + with argument object + + + API Version Support + + + + + + glIsShader + + + + + + + See Also + glAttachShader, + glCompileShader, + glCreateShader, + glDeleteShader, + glDetachShader, + glLinkProgram, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsSync.xml b/Source/Bind/Specifications/Docs/ES30/glIsSync.xml new file mode 100644 index 00000000..3fe92cb3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsSync.xml @@ -0,0 +1,77 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsSync + 3G + + + glIsSync + determine if a name corresponds to a sync object + + C Specification + + + GLboolean glIsSync + GLsync sync + + + + Parameters + + + sync + + + Specifies a value that may be the name of a sync object. + + + + + + Description + + glIsSync returns GL_TRUE if sync is currently the name of a sync object. + If sync is not the name of a sync object, or if an error occurs, glIsSync returns + GL_FALSE. Note that zero is not the name of a sync object. + + + + API Version Support + + + + + + glIsSync + + + + + + + See Also + + glFenceSync, + glWaitSync, + glClientWaitSync, + glDeleteSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsTexture.xml b/Source/Bind/Specifications/Docs/ES30/glIsTexture.xml new file mode 100644 index 00000000..f365e068 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsTexture.xml @@ -0,0 +1,91 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glIsTexture + 3G + + + glIsTexture + determine if a name corresponds to a texture + + C Specification + + + GLboolean glIsTexture + GLuint texture + + + + Parameters + + + texture + + + Specifies a value that may be the name of a texture. + + + + + + Description + + glIsTexture returns GL_TRUE if texture is currently the name of a texture. + If texture is zero, or is a non-zero value that is not currently the + name of a texture, or if an error occurs, glIsTexture returns GL_FALSE. + + + A name returned by glGenTextures, but not yet associated with a texture + by calling glBindTexture, is not the name of a texture. + + + + API Version Support + + + + + + glIsTexture + + + + + + + See Also + + glBindTexture, + glCopyTexImage2D, + glDeleteTextures, + glGenTextures, + glGet, + glGetTexParameter, + glTexImage2D, + glTexImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES30/glIsTransformFeedback.xml new file mode 100644 index 00000000..7262a322 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsTransformFeedback.xml @@ -0,0 +1,79 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsTransformFeedback + 3G + + + glIsTransformFeedback + determine if a name corresponds to a transform feedback object + + C Specification + + + GLboolean glIsTransformFeedback + GLuint id + + + + Parameters + + + id + + + Specifies a value that may be the name of a transform feedback object. + + + + + + Description + + glIsTransformFeedback returns GL_TRUE if id is currently the name of a transform feedback + object. If id is zero, or if id is not the name of a transform feedback object, or if an error + occurs, glIsTransformFeedback returns GL_FALSE. If id is a name returned by + glGenTransformFeedbacks, but that has not yet been bound through a call to + glBindTransformFeedback, then the name is not a transform feedback object and glIsTransformFeedback + returns GL_FALSE. + + + + API Version Support + + + + + + glIsTransformFeedback + + + + + + + See Also + + glGenTransformFeedbacks, + glBindTransformFeedback, + glDeleteTransformFeedbacks + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glIsVertexArray.xml b/Source/Bind/Specifications/Docs/ES30/glIsVertexArray.xml new file mode 100644 index 00000000..061a9224 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glIsVertexArray.xml @@ -0,0 +1,79 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsVertexArray + 3G + + + glIsVertexArray + determine if a name corresponds to a vertex array object + + C Specification + + + GLboolean glIsVertexArray + GLuint array + + + + Parameters + + + array + + + Specifies a value that may be the name of a vertex array object. + + + + + + Description + + glIsVertexArray returns GL_TRUE if array is currently the name of a vertex array + object. If array is zero, or if array is not the name of a vertex array object, or if an error + occurs, glIsVertexArray returns GL_FALSE. If array is a name returned by + glGenVertexArrays, by that has not yet been bound through a call to + glBindVertexArray, then the name is not a vertex array object and + glIsVertexArray returns GL_FALSE. + + + + API Version Support + + + + + + glIsVertexArray + + + + + + + See Also + + glGenVertexArrays, + glBindVertexArray, + glDeleteVertexArrays + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glLineWidth.xml b/Source/Bind/Specifications/Docs/ES30/glLineWidth.xml new file mode 100644 index 00000000..c26a473d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glLineWidth.xml @@ -0,0 +1,137 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glLineWidth + 3G + + + glLineWidth + specify the width of rasterized lines + + C Specification + + + void glLineWidth + GLfloat width + + + + Parameters + + + width + + + Specifies the width of rasterized lines. + The initial value is 1. + + + + + + Description + + glLineWidth specifies the rasterized width of + lines. + + + The actual width is determined by rounding the supplied width + to the nearest integer. + (If the rounding results in the value 0, + it is as if the line width were 1.) + If + + + + + + Δ + x + + + >= + + + Δ + y + + + + , + i pixels are filled in each column that is rasterized, + where i is the rounded value of width. + Otherwise, + i pixels are filled in each row that is rasterized. + + + There is a range of supported line widths. Only width 1 is guaranteed to be supported; others depend on the + implementation. + To query the range of supported widths, call glGet + with argument GL_ALIASED_LINE_WIDTH_RANGE. + + + Notes + + The line width specified by glLineWidth is always returned when GL_LINE_WIDTH + is queried. + Clamping and rounding have no effect on the specified value. + + + Line width may be clamped to an implementation-dependent maximum. Call glGet with GL_ALIASED_LINE_WIDTH_RANGE to determine the maximum width. + + + Errors + + GL_INVALID_VALUE is generated if width is less than or equal to 0. + + + Associated Gets + + glGet with argument GL_LINE_WIDTH + + + glGet with argument GL_ALIASED_LINE_WIDTH_RANGE + + + + API Version Support + + + + + + glLineWidth + + + + + + + See Also + + glEnable + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glLinkProgram.xml b/Source/Bind/Specifications/Docs/ES30/glLinkProgram.xml new file mode 100644 index 00000000..e5a62eb1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glLinkProgram.xml @@ -0,0 +1,267 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glLinkProgram + 3G + + + glLinkProgram + Links a program object + + C Specification + + + void glLinkProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object to be linked. + + + + + + Description + glLinkProgram links the program + object specified by program. Shader objects + of type GL_VERTEX_SHADER attached to + program are used to + create an executable that will run on the programmable vertex + processor. Shader objects of type GL_FRAGMENT_SHADER + attached to program are used to create an + executable that will run on the programmable fragment + processor. + + The status of the link operation will be stored as part of + the program object's state. This value will be set to + GL_TRUE if the program object was linked + without errors and is ready for use, and + GL_FALSE otherwise. It can be queried by + calling + glGetProgramiv + with arguments program and + GL_LINK_STATUS. + + As a result of a successful link operation, all active + user-defined uniform variables belonging to + program will be initialized to 0, and + each of the program object's active uniform variables will be + assigned a location that can be queried by calling + glGetUniformLocation. + All active uniforms belonging to the program’s named uniform blocks are + assigned offsets (and strides for array and matrix type uniforms) within + the uniform block. Also, any active user-defined attribute variables that have not + been bound to a generic vertex attribute index will be bound to + one at this time. + + Linking of a program object can fail for a number of + reasons as specified in the OpenGL ES Shading Language + Specification. The following lists some of the + conditions that will cause a link error. + + + + A vertex shader and a fragment shader are not both + present in the program object. + + + The vertex and fragment shader do not use the same + shader language version. + + + The number of active attribute variables supported + by the implementation has been exceeded. + + + The storage limit for uniform variables has been + exceeded. + + + The number of active uniform variables supported + by the implementation has been exceeded. + + + The main function is missing + for the vertex or fragment shader. + + + A varying variable actually used in the fragment + shader is not declared in the same way (or is not + declared at all) in the vertex shader. + + + A reference to a function or variable name is + unresolved. + + + A shared global is declared with two different + types or two different initial values. + + + One or more of the attached shader objects has not + been successfully compiled (via glCompileShader) + or loaded with a pre-compiled shader binary + (via glShaderBinary). + + + Binding a generic attribute matrix caused some + rows of the matrix to fall outside the allowed maximum + of GL_MAX_VERTEX_ATTRIBS. + + + Not enough contiguous vertex attribute slots could + be found to bind attribute matrices. + + + Any variable name specified to glTransformFeedbackVaryings + in the varyings array is not declared as an output in the vertex shader. + + + Any two entries in the varyings array given + glTransformFeedbackVaryings + specify the same varying variable. + + + The total number of components to capture in any transform feedback varying variable + is greater than the constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS + and the buffer mode is GL_SEPARATE_ATTRIBS. + + + The total number of components to capture in any transform feedback varying variable + is greater than the constant GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS + and the buffer mode is GL_INTERLEAVED_ATTRIBS. + + + + When a program object has been successfully linked, the + program object can be made part of current state by calling + glUseProgram. + Whether or not the link operation was successful, the program + object's information log will be overwritten. The information + log can be retrieved by calling + glGetProgramInfoLog. + + glLinkProgram will also install the + generated executables as part of the current rendering state if + the link operation was successful and the specified program + object is already currently in use as a result of a previous + call to + glUseProgram. + If the program object currently in use is relinked + unsuccessfully, its link status will be set to + GL_FALSE , but the executables and + associated state will remain part of the current state until a + subsequent call to glUseProgram removes it + from use. After it is removed from use, it cannot be made part + of current state until it has been successfully relinked. + + The program object's information log is updated and the + program is generated at the time of the link operation. After + the link operation, applications are free to modify attached + shader objects, compile attached shader objects, detach shader + objects, delete shader objects, and attach additional shader + objects. None of these operations affects the information log or + the program that is part of the program object. + + Notes + If the link operation is unsuccessful, any information about a previous link operation on program + is lost (i.e., a failed link does not restore the old state of program + ). Certain information can still be retrieved from program + even after an unsuccessful link operation. See for instance glGetActiveAttrib + and glGetActiveUniform. + + Errors + GL_INVALID_VALUE + is generated if program + is not a value generated by OpenGL. + GL_INVALID_OPERATION + is generated if program + is not a program object. + GL_INVALID_OPERATION + is generated if program is the currently active program + object and transform feedback mode is active. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + glGetActiveAttrib + with argument program + and the index of an active attribute variable + glGetActiveUniform + with argument program + and the index of an active uniform variable + glGetActiveUniformBlockiv + with argument program + and the index of an active uniform block + glGetAttachedShaders + with argument program + glGetAttribLocation + with argument program + and an attribute variable name + glGetProgramiv + with arguments program + and GL_LINK_STATUS + glGetProgramInfoLog + with argument program + glGetUniform + with argument program + and a uniform variable location + glGetUniformLocation + with argument program + and a uniform variable name + glIsProgram + + + API Version Support + + + + + + glLinkProgram + + + + + + + See Also + glAttachShader, + glBindAttribLocation, + glCompileShader, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glMapBufferRange.xml b/Source/Bind/Specifications/Docs/ES30/glMapBufferRange.xml new file mode 100644 index 00000000..67d9080b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glMapBufferRange.xml @@ -0,0 +1,265 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glMapBufferRange + 3G + + + glMapBufferRange + map a section of a buffer object's data store + + C Specification + + + void *glMapBufferRange + GLenum target + GLintptr offset + GLsizeiptr length + GLbitfield access + + + + + GLboolean glUnmapBuffer + GLenum target + + + + Parameters for <function>glMapBufferRange</function> + + + target + + + Specifies a binding to which the target buffer is bound. + + + + + offset + + + Specifies the starting offset within the buffer of the range to be mapped. + + + + + length + + + Specifies the length of the range to be mapped. + + + + + access + + + Specifies a combination of access flags indicating the desired access to the range. + + + + + + Parameters for <function>glUnmapBuffer</function> + + + target + + + Specifies a binding to which the target buffer is bound. + + + + + + + Description + + glMapBufferRange maps all or part of the data store of a buffer object into the client's address + space. target specifies the target to which the buffer is bound and must be one of GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or GL_UNIFORM_BUFFER. offset and + length indicate the range of data in the buffer object that is to be mapped, in terms of basic machine units. + access is a bitfield containing flags which describe the requested mapping. These flags are described below. + + + If no error occurs, a pointer to the beginning of the mapped range is returned once all pending operations on that buffer have + completed, and may be used to modify and/or query the corresponding range of the buffer, according to the following flag bits set + in access: + + + + GL_MAP_READ_BIT indicates that the returned pointer may be used to read + buffer object data. No GL error is generated if the pointer is used to query + a mapping which excludes this flag, but the result is undefined and system + errors (possibly including program termination) may occur. + + + + + GL_MAP_WRITE_BIT indicates that the returned pointer may be used to modify + buffer object data. No GL error is generated if the pointer is used to modify + a mapping which excludes this flag, but the result is undefined and system + errors (possibly including program termination) may occur. + + + + + + Furthermore, the following optional flag bits in access may be used to modify the mapping: + + + + GL_MAP_INVALIDATE_RANGE_BIT indicates that the previous contents of the + specified range may be discarded. Data within this range are undefined with + the exception of subsequently written data. No GL error is generated if subsequent + GL operations access unwritten data, but the result is undefined and + system errors (possibly including program termination) may occur. This flag + may not be used in combination with GL_MAP_READ_BIT. + + + + + GL_MAP_INVALIDATE_BUFFER_BIT indicates that the previous contents of the + entire buffer may be discarded. Data within the entire buffer are undefined + with the exception of subsequently written data. No GL error is generated if + subsequent GL operations access unwritten data, but the result is undefined + and system errors (possibly including program termination) may occur. This + flag may not be used in combination with GL_MAP_READ_BIT. + + + + + GL_MAP_FLUSH_EXPLICIT_BIT indicates that one or more discrete subranges + of the mapping may be modified. When this flag is set, modifications to + each subrange must be explicitly flushed by calling glFlushMappedBufferRange. + No GL error is set if a subrange of the mapping is modified and + not flushed, but data within the corresponding subrange of the buffer are undefined. + This flag may only be used in conjunction with GL_MAP_WRITE_BIT. + When this option is selected, flushing is strictly limited to regions that are + explicitly indicated with calls to glFlushMappedBufferRange + prior to unmap; if this option is not selected glUnmapBuffer + will automatically flush the entire mapped range when called. + + + + + GL_MAP_UNSYNCHRONIZED_BIT indicates that the GL should not attempt to + synchronize pending operations on the buffer prior to returning from glMapBufferRange. + No GL error is generated if pending operations which source or modify the buffer overlap the mapped region, + but the result of such previous and any subsequent operations is undefined. + + + + + + If an error occurs, glMapBufferRange returns a NULL pointer. + + + A mapped data store must be unmapped with glUnmapBuffer before its buffer object is used. + Otherwise an error will be generated by any GL command that attempts to dereference the buffer object's data store. + When a data store is unmapped, the pointer to its data store becomes invalid. glUnmapBuffer + returns GL_TRUE unless the data store contents have become corrupt during the time + the data store was mapped. This can occur for system-specific reasons that affect the availability of graphics + memory, such as screen mode changes. In such situations, GL_FALSE is returned and the + data store contents are undefined. An application must detect this rare condition and reinitialize the data store. + + + A buffer object's mapped data store is automatically unmapped when the buffer object is deleted or its data store + is recreated with glBufferData. + + + Notes + + Mappings to the data stores of buffer objects may have nonstandard performance characteristics. + For example, such mappings may be marked as uncacheable regions of memory, and in such cases reading from them may be very slow. + To ensure optimal performance, the client should use the mapping in a fashion consistent + with the values of GL_BUFFER_USAGE and access. + Using a mapping in a fashion inconsistent with these values is liable to be multiple orders of magnitude slower + than using normal memory. + + + Errors + + GL_INVALID_VALUE is generated if either of offset or length is negative, + or if offset + length is greater than the value of GL_BUFFER_SIZE. + + + GL_INVALID_VALUE is generated if access has any bits set other than those defined above. + + + GL_INVALID_OPERATION is generated for any of the following conditions: + + + + The buffer is already in a mapped state. + + + + + Neither GL_MAP_READ_BIT or GL_MAP_WRITE_BIT is set. + + + + + GL_MAP_READ_BIT is set and any of GL_MAP_INVALIDATE_RANGE_BIT, + GL_MAP_INVALIDATE_BUFFER_BIT, or GL_MAP_UNSYNCHRONIZED_BIT is set. + + + + + GL_MAP_FLUSH_EXPLICIT_BIT is set and GL_MAP_WRITE_BIT is not set. + + + + + + GL_OUT_OF_MEMORY is generated if glMapBufferRange fails because memory for the + mapping could not be obtained. + + + + API Version Support + + + + + + glMapBufferRange + + + + glUnmapBuffer + + + + + + + See Also + + glBindBuffer + glFlushMappedBufferRange, + glUnmapBuffer, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glPauseTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES30/glPauseTransformFeedback.xml new file mode 100644 index 00000000..ef375e10 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glPauseTransformFeedback.xml @@ -0,0 +1,73 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glPauseTransformFeedback + 3G + + + glPauseTransformFeedback + pause transform feedback operations + + C Specification + + + void glPauseTransformFeedback + void + + + + Description + + glPauseTransformFeedback pauses transform feedback operations on the currently active transform feedback + object. When transform feedback operations are paused, transform feedback is still considered active and changing most + transform feedback state related to the object results in an error. However, a new transform feedback object may be bound + while transform feedback is paused. + + + Errors + + GL_INVALID_OPERATION is generated if the currently bound transform feedback object is not active or is paused. + + + + API Version Support + + + + + + glPauseTransformFeedback + + + + + + + See Also + + glGenTransformFeedbacks, + glBindTransformFeedback, + glBeginTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback, + glDeleteTransformFeedbacks + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glPixelStorei.xml b/Source/Bind/Specifications/Docs/ES30/glPixelStorei.xml new file mode 100644 index 00000000..961b28bc --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glPixelStorei.xml @@ -0,0 +1,1189 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glPixelStorei + 3G + + + glPixelStorei + set pixel storage modes + + C Specification + + + void glPixelStorei + GLenum pname + GLint param + + + + Parameters + + + pname + + + Specifies the symbolic name of the parameter to be set. + Six values affect the packing of pixel data into memory: + GL_PACK_ROW_LENGTH, + GL_PACK_IMAGE_HEIGHT, + GL_PACK_SKIP_PIXELS, + GL_PACK_SKIP_ROWS, + GL_PACK_SKIP_IMAGES, and + GL_PACK_ALIGNMENT. + Six more affect the unpacking of pixel data from memory: + GL_UNPACK_ROW_LENGTH, + GL_UNPACK_IMAGE_HEIGHT, + GL_UNPACK_SKIP_PIXELS, + GL_UNPACK_SKIP_ROWS, + GL_UNPACK_SKIP_IMAGES, and + GL_UNPACK_ALIGNMENT. + + + + + param + + + Specifies the value that pname is set to. + + + + + + Description + + glPixelStorei sets pixel storage modes that affect the operation of subsequent + glReadPixels as well as the unpacking of + texture patterns (see glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D). + + + pname is a symbolic constant indicating the parameter to be set, and + param is the new value. Six of the twelve storage parameters affect + how pixel data is returned to client memory. + They are as follows: + + + + GL_PACK_ROW_LENGTH + + + If greater than 0, + GL_PACK_ROW_LENGTH defines the number of pixels in a row. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + + + + + + a + s + + + + + + + + s + + n + + l + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_PACK_ROW_LENGTH if it is greater than 0, + the + width + argument to the pixel routine otherwise), + a + is the value of GL_PACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + In the case of 1-bit values, + the location of the next row is obtained by skipping + + + + + + k + = + + 8 + + a + + + + + + n + + l + + + + + 8 + + a + + + + + + + + + + components or indices. + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_PACK_IMAGE_HEIGHT + + + If greater than 0, + GL_PACK_IMAGE_HEIGHT defines the number of pixels in an image + three-dimensional texture volume, where ``image'' is defined by all pixels + sharing the same third dimension index. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + h + + + + + + + a + s + + + + + + + + s + + n + + l + + h + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, where + n + is the number of components or indices + in a pixel, + l + is the number of pixels in a row + (GL_PACK_ROW_LENGTH if it is greater than 0, the + width + argument to glTexImage3D otherwise), + h + is the number of + rows in a pixel image (GL_PACK_IMAGE_HEIGHT if it is greater than + 0, the + height + argument to the glTexImage3D routine otherwise), + a + is the value of + GL_PACK_ALIGNMENT, and + s + is the size, in bytes, of a single + component (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, and GL_PACK_SKIP_IMAGES + + + These values are provided as a convenience to the programmer; + they provide no functionality that cannot be duplicated simply by + incrementing the pointer passed to glReadPixels. + Setting GL_PACK_SKIP_PIXELS to + i + is equivalent to incrementing + the pointer by + + + + i + + n + + + components or indices, + where + n + is the number of components or indices in each pixel. + Setting GL_PACK_SKIP_ROWS to + j + is equivalent to incrementing + the pointer by + + + + j + + m + + + components or indices, + where + m + is the number of components or indices per row, + as just computed in the GL_PACK_ROW_LENGTH section. + Setting GL_PACK_SKIP_IMAGES to + k + is equivalent to incrementing + the pointer by + + + + k + + p + + , + where + p + is the number of components or indices + per image, as computed in the GL_PACK_IMAGE_HEIGHT section. + + + + + GL_PACK_ALIGNMENT + + + Specifies the alignment requirements for the start of each pixel row in memory. + The allowable values are + 1 (byte-alignment), + 2 (rows aligned to even-numbered bytes), + 4 (word-alignment), and + 8 (rows start on double-word boundaries). + + + + + + The other six of the twelve storage parameters affect how pixel data is + read from client memory. + These values are significant for + glTexImage2D, + glTexImage3D, + glTexSubImage2D, and + glTexSubImage3D + + + They are as follows: + + + + GL_UNPACK_ROW_LENGTH + + + If greater than 0, + GL_UNPACK_ROW_LENGTH defines the number of pixels in a row. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + + + + + + a + s + + + + + + + + s + + n + + l + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_UNPACK_ROW_LENGTH if it is greater than 0, + the + width + argument to the pixel routine otherwise), + a + is the value of GL_UNPACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + In the case of 1-bit values, + the location of the next row is obtained by skipping + + + + + + k + = + + 8 + + a + + + + + + n + + l + + + + + 8 + + a + + + + + + + + + + components or indices. + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_UNPACK_IMAGE_HEIGHT + + + If greater than 0, + GL_UNPACK_IMAGE_HEIGHT defines the number of pixels in an image of + a three-dimensional texture volume. Where ``image'' is defined by all + pixel sharing the same third dimension index. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + h + + + + + + + a + s + + + + + + + + s + + n + + l + + h + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_UNPACK_ROW_LENGTH if it is greater than 0, + the + width + argument to glTexImage3D otherwise), + h + is the number of rows in an image (GL_UNPACK_IMAGE_HEIGHT if + it is greater than 0, the + height + argument to glTexImage3D otherwise), + a + is the value of GL_UNPACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS and GL_UNPACK_SKIP_IMAGES + + + These values are provided as a convenience to the programmer; + they provide no functionality that cannot be duplicated by + incrementing the pointer passed to + glTexImage1D, + glTexImage2D, + glTexSubImage1D or + glTexSubImage2D. + Setting GL_UNPACK_SKIP_PIXELS to + i + is equivalent to incrementing + the pointer by + + + + i + + n + + + components or indices, + where + n + is the number of components or indices in each pixel. + Setting GL_UNPACK_SKIP_ROWS to + j + is equivalent to incrementing + the pointer by + + + + j + + k + + + components or indices, + where + k + is the number of components or indices per row, + as just computed in the GL_UNPACK_ROW_LENGTH section. + Setting GL_UNPACK_SKIP_IMAGES to + k + is equivalent to incrementing + the pointer by + + + + k + + p + + , + where + p + is the number of components or indices + per image, as computed in the GL_UNPACK_IMAGE_HEIGHT section. + + + + + GL_UNPACK_ALIGNMENT + + + Specifies the alignment requirements for the start of each pixel row in memory. + The allowable values are + 1 (byte-alignment), + 2 (rows aligned to even-numbered bytes), + 4 (word-alignment), and + 8 (rows start on double-word boundaries). + + + + + + The following table gives the type, + initial value, + and range of valid values for each storage parameter + that can be set with glPixelStorei. + + + + + + + + + + + + + pname + + + Type + + + Initial Value + + + Valid Range + + + + + + + GL_PACK_ROW_LENGTH + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_IMAGE_HEIGHT + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_ROWS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_PIXELS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_IMAGES + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_ALIGNMENT + + + integer + + + 4 + + + 1, 2, 4, or 8 + + + + + GL_UNPACK_ROW_LENGTH + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_IMAGE_HEIGHT + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_ROWS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_PIXELS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_IMAGES + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_ALIGNMENT + + + integer + + + 4 + + + 1, 2, 4, or 8 + + + + + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_VALUE is generated if a negative row length, + pixel skip, + or row skip value is specified, + or if alignment is specified as other than 1, 2, 4, or 8. + + + Associated Gets + + glGet with argument GL_PACK_ROW_LENGTH + + + glGet with argument GL_PACK_IMAGE_HEIGHT + + + glGet with argument GL_PACK_SKIP_ROWS + + + glGet with argument GL_PACK_SKIP_PIXELS + + + glGet with argument GL_PACK_SKIP_IMAGES + + + glGet with argument GL_PACK_ALIGNMENT + + + glGet with argument GL_UNPACK_ROW_LENGTH + + + glGet with argument GL_UNPACK_IMAGE_HEIGHT + + + glGet with argument GL_UNPACK_SKIP_ROWS + + + glGet with argument GL_UNPACK_SKIP_PIXELS + + + glGet with argument GL_UNPACK_SKIP_IMAGES + + + glGet with argument GL_UNPACK_ALIGNMENT + + + + API Version Support + + + + + + glPixelStorei + + + + + + + See Also + + glReadPixels, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glPolygonOffset.xml b/Source/Bind/Specifications/Docs/ES30/glPolygonOffset.xml new file mode 100644 index 00000000..eb4eb759 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glPolygonOffset.xml @@ -0,0 +1,135 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glPolygonOffset + 3G + + + glPolygonOffset + set the scale and units used to calculate depth values + + C Specification + + + void glPolygonOffset + GLfloat factor + GLfloat units + + + + Parameters + + + factor + + + Specifies a scale factor that is used to create a variable + depth offset for each polygon. The initial value is 0. + + + + + units + + + Is multiplied by an implementation-specific value to + create a constant depth offset. The initial value is 0. + + + + + + Description + + When GL_POLYGON_OFFSET_FILL is enabled, each + fragment's depth value will be offset after it is interpolated + from the depth values of the appropriate vertices. + The value of the offset is + + + + + factor + × + DZ + + + + + r + × + units + + + , + where + + + DZ + + is a measurement of the change in depth relative to the screen + area of the polygon, and + r + is the smallest value that is guaranteed to + produce a resolvable offset for a given implementation. + The offset is added before the depth test is performed and before + the value is written into the depth buffer. + + + glPolygonOffset is useful for applying decals. + + + Associated Gets + + glIsEnabled with argument + GL_POLYGON_OFFSET_FILL. + + + glGet with argument GL_POLYGON_OFFSET_FACTOR or + GL_POLYGON_OFFSET_UNITS. + + + + API Version Support + + + + + + glPolygonOffset + + + + + + + See Also + + glDepthFunc, + glEnable, + glGet, + glIsEnabled + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glProgramBinary.xml b/Source/Bind/Specifications/Docs/ES30/glProgramBinary.xml new file mode 100644 index 00000000..3d77f9b8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glProgramBinary.xml @@ -0,0 +1,152 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glProgramBinary + 3G + + + glProgramBinary + load a program object with a program binary + + C Specification + + + void glProgramBinary + GLuint program + GLenum binaryFormat + const void *binary + GLsizei length + + + + Parameters + + + program + + + Specifies the name of a program object into which to load a program binary. + + + + + binaryFormat + + + Specifies the format of the binary data in binary. + + + + + binary + + + Specifies the address of an array containing the binary to be loaded into program. + + + + + length + + + Specifies the number of bytes contained in binary. + + + + + + Description + + glProgramBinary loads a program object with a program binary previously + returned from glGetProgramBinary. + binaryFormat and binary must be those returned + by a previous call to glGetProgramBinary, + and length must be the length returned by + glGetProgramBinary, or by + glGetProgramiv when called with + pname set to GL_PROGRAM_BINARY_LENGTH. + If these conditions are not met, loading the program binary will fail and program's + GL_LINK_STATUS will be set to GL_FALSE. + + + A program object's program binary is replaced by calls to + glLinkProgram or + glProgramBinary. When linking success or failure is concerned, glProgramBinary + can be considered to perform an implicit linking operation. + glLinkProgram and glProgramBinary + both set the program object's GL_LINK_STATUS to GL_TRUE + or GL_FALSE. + + + A successful call to glProgramBinary will reset all uniform variables to their + initial values, GL_FALSE for booleans and zero for all others. Additionally, all vertex shader input + and fragment shader output assignments that were in effect when the program was linked before saving are + restored with glProgramBinary is called. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the + name of an existing program object. + + + GL_INVALID_ENUM is generated if binaryFormat is not a + value recognized by the implementation. + + + Notes + + A program binary may fail to load if the implementation determines that there has been a + change in hardware or software configuration from when the program binary was produced such + as having been compiled with an incompatible or outdated version of the compiler. + + + Associated Gets + + glGetProgramiv with argument GL_PROGRAM_BINARY_LENGTH + + + glGet with argument GL_NUM_PROGRAM_BINARY_FORMATS + + + glGet with argument GL_PROGRAM_BINARY_FORMATS + + + + API Version Support + + + + + + glProgramBinary + + + + + + + See Also + + glGetProgramiv, + glGetProgramBinary + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glProgramParameteri.xml b/Source/Bind/Specifications/Docs/ES30/glProgramParameteri.xml new file mode 100644 index 00000000..6d214a7b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glProgramParameteri.xml @@ -0,0 +1,123 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glProgramParameteri + 3G + + + glProgramParameteri + specify a parameter for a program object + + C Specification + + + void glProgramParameteri + GLuint program + GLenum pname + GLint value + + + + Parameters + + + program + + + Specifies the name of a program object whose parameter to modify. + + + + + pname + + + Specifies the name of the parameter to modify. + + + + + value + + + Specifies the new value of the parameter specified by pname for program. + + + + + + Description + + glProgramParameteri specifies a new value for the parameter nameed by + pname for the program object program. + + + If pname is GL_PROGRAM_BINARY_RETRIEVABLE_HINT, + value should be GL_FALSE or GL_TRUE + to indicate to the implementation the intention of the application to retrieve the program's + binary representation with glGetProgramBinary. + The implementation may use this information to store information that may be useful for a future + query of the program's binary. It is recommended to set GL_PROGRAM_BINARY_RETRIEVABLE_HINT + for the program to GL_TRUE before calling + glLinkProgram, and + using the program at run-time if the binary is to be retrieved later. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the + name of an existing program object. + + + GL_INVALID_ENUM is generated if pname is not + GL_PROGRAM_BINARY_RETRIEVABLE_HINT. + + + GL_INVALID_VALUE is generated if value is not + GL_FALSE or GL_TRUE. + + + Associated Gets + + glGetProgramiv. + + + + API Version Support + + + + + + glProgramParameteri + + + + + + + See Also + + glGetProgramiv, + glGetProgramBinary, + glProgramBinary + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glReadBuffer.xml b/Source/Bind/Specifications/Docs/ES30/glReadBuffer.xml new file mode 100644 index 00000000..26cf8a41 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glReadBuffer.xml @@ -0,0 +1,112 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glReadBuffer + 3G + + + glReadBuffer + select a color buffer source for pixels + + C Specification + + + void glReadBuffer + GLenum mode + + + + Parameters + + + mode + + + Specifies a color buffer. + Accepted values are + GL_BACK, + GL_NONE, and + GL_COLOR_ATTACHMENTi. + + + + + + Description + + glReadBuffer specifies a color buffer as the source for subsequent + glReadPixels, , glCopyTexImage2D, + glCopyTexSubImage2D, and + glCopyTexSubImage3D commands. + mode accepts one of the following values: + GL_NONE, + GL_BACK names the back buffer of the default framebuffer, and + GL_COLOR_ATTACHMENTi names a color attachment of the current framebuffer, + + + Errors + + GL_INVALID_ENUM is generated if mode is not GL_BACK, + GL_NONE, or GL_COLOR_ATTACHMENTi, where i is less than + GL_MAX_COLOR_ATTACHMENTS. + + + GL_INVALID_OPERATION is generated if the current framebuffer is the default framebufer and + mode is not GL_NONE or GL_BACK. + + + GL_INVALID_OPERATION is generated if the current framebuffer is a named framebufer and + mode is not GL_NONE or GL_COLOR_ATTACHMENTi. + + + Associated Gets + + glGet with argument GL_READ_BUFFER + + + + API Version Support + + + + + + glReadBuffer + + + + + + + See Also + + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawBuffers, + glReadPixels + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glReadPixels.xml b/Source/Bind/Specifications/Docs/ES30/glReadPixels.xml new file mode 100644 index 00000000..c40f592a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glReadPixels.xml @@ -0,0 +1,635 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glReadPixels + 3G + + + glReadPixels + read a block of pixels from the frame buffer + + C Specification + + + void glReadPixels + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + GLvoid * data + + + + Parameters + + + x + y + + + Specify the window coordinates of the first pixel + that is read from the frame buffer. + This location is the lower left corner of a rectangular block of pixels. + + + + + width + height + + + Specify the dimensions of the pixel rectangle. + width and height of one correspond to a single pixel. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RGBA, and + GL_RGBA_INTEGER. + An implementation-chosen format will also be accepted. + This can be queried with glGet and + GL_IMPLEMENTATION_COLOR_READ_FORMAT. + + + + + type + + + Specifies the data type of the pixel data. + Must be one of + GL_UNSIGNED_BYTE, + GL_UNSIGNED_INT, + GL_INT, or + GL_FLOAT. + An implementation-chosen type will also be accepted. + This can be queried with glGet and + GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + + + data + + + Returns the pixel data. + + + + + + Description + + glReadPixels returns pixel data from the frame buffer, + starting with the pixel whose lower left corner + is at location (x, y), + into client memory starting at location data. + Several parameters control the processing of the pixel data before + it is placed into client memory. + These parameters are set with glPixelStorei. + This reference page describes the effects on glReadPixels of most, + but not all of the parameters specified by these three commands. + + + If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target + (see glBindBuffer) while a block of pixels is + requested, data is treated as a byte offset into the buffer object's data store + rather than a pointer to client memory. + + + glReadPixels returns values from each pixel with lower left corner at + + + + + x + + + i + + + y + + + j + + + + for + + + + 0 + <= + i + < + width + + + and + + + + 0 + <= + j + < + height + + . + This pixel is said to be the + ith + pixel in the + jth + row. + Pixels are returned in row order from the lowest to the highest row, + left to right in each row. + + + format specifies the format for the returned pixel values; + accepted values are + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA + + + Finally, the indices or components + are converted to the proper format, + as specified by type. + If type is GL_FLOAT, then each integer index is converted to + single-precision floating-point format. + + + If format is + GL_RED, + GL_RG, + GL_RGB, or + GL_RGBA, and type is not GL_FLOAT, + each component is multiplied by the multiplier shown in the following table. + If type is GL_FLOAT, then each component is passed as is + (or converted to the client's single-precision floating-point format if + it is different from the one used by the GL). + + + + + + + + + + + + type + + + Index Mask + + + Component Conversion + + + + + + + GL_UNSIGNED_BYTE + + + + + + 2 + 8 + + - + 1 + + + + + + + + + + 2 + 8 + + - + 1 + + + + c + + + + + + + GL_BYTE + + + + + + 2 + 7 + + - + 1 + + + + + + + + + + + + 2 + 8 + + - + 1 + + + + c + - + 1 + + + 2 + + + + + + + GL_HALF_FLOAT + + + none + + + c + + + + + GL_FLOAT + + + none + + + c + + + + + GL_UNSIGNED_SHORT_5_6_5 + + + + + + 2 + N + + - + 1 + + + + + + + + + + 2 + N + + - + 1 + + + + c + + + + + + + GL_UNSIGNED_SHORT_4_4_4_4 + + + + + + 2 + N + + - + 1 + + + + + + + + + + 2 + N + + - + 1 + + + + c + + + + + + + GL_UNSIGNED_SHORT_5_5_5_1 + + + + + + 2 + N + + - + 1 + + + + + + + + + + 2 + N + + - + 1 + + + + c + + + + + + + GL_UNSIGNED_INT_2_10_10_10_REV + + + + + + 2 + N + + - + 1 + + + + + + + + + + 2 + N + + - + 1 + + + + c + + + + + + + GL_UNSIGNED_INT_10F_11F_11F_REV + + + -- + + + Special + + + + + GL_UNSIGNED_INT_5_9_9_9_REV + + + -- + + + Special + + + + + + + Return values are placed in memory as follows. + If format is + GL_RED, or + GL_RED_INTEGER, + a single value is returned and the data for the + ith + pixel in the + jth + row + is placed in location + + + + + j + + + width + + + i + + . + GL_RG and GL_RG_INTEGER return two values, + GL_RGB and GL_RGB_INTEGER return three values, + GL_RGBA and GL_RGBA_INTEGER return four values for each pixel, + with all values corresponding to a single pixel occupying contiguous space + in data. + See glPixelStorei for a description of parameters which affect + the packing of data into memory. + + + Notes + + Values for pixels that lie outside the window + connected to the current GL context are undefined. + + + If an error is generated, + no change is made to the contents of data. + + + Only two format/type parameter pairs are + accepted. For normalized fixed point rendering surfaces, GL_RGBA/GL_UNSIGNED_BYTE is + accepted. For signed integer rendering surfaces, GL_RGBA_INTEGER/GL_INT is accepted. + For unsigned integer rendering surfaces, GL_RGBA_INTEGER/GL_UNSIGNED_INT is accepted. + The other acceptable pair can be discovered by querying + GL_IMPLEMENTATION_COLOR_READ_FORMAT and + GL_IMPLEMENTATION_COLOR_READ_TYPE. The implementation chosen format may also vary depending on the + format of the currently bound rendering surface. + + + Errors + + GL_INVALID_ENUM is generated if format or type is not an + accepted value. + + + GL_INVALID_VALUE is generated if either width or height is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer + object such that the memory writes required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if GL_READ_BUFFER is GL_NONE or + if GL_READ_FRAMEBUFFER_BINDING is non-zero and the read buffer selects an attachment that has no image attached. + + + GL_INVALID_OPERATION is generated if GL_READ_FRAMEBUFFER_BINDING + is non-zero, the read framebuffer is complete, and the value of GL_SAMPLE_BUFFERS + for the read framebuffer is greater than zero. + + + GL_INVALID_OPERATION is generated if the readbuffer of the currently bound framebuffer is + a fixed point normalized surface and format + and type are neither GL_RGBA and + GL_UNSIGNED_BYTE, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_OPERATION is generated if the readbuffer of the currently bound framebuffer is + a floating point surface and format + and type are neither GL_RGBA and + GL_FLOAT, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_OPERATION is generated if the readbuffer of the currently bound framebuffer is + a signed integer surface and format + and type are neither GL_RGBA_INTEGER and + GL_INT, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_OPERATION is generated if the readbuffer of the currently bound framebuffer is + an unsigned integer surface and format + and type are neither GL_RGBA_INTEGER and + GL_UNSIGNED_INT, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if + the currently bound framebuffer is not framebuffer complete (i.e. the + return value from glCheckFramebufferStatus + is not GL_FRAMEBUFFER_COMPLETE). + + + Associated Gets + + glGet with argument GL_PIXEL_PACK_BUFFER_BINDING + + + + API Version Support + + + + + + glReadPixels + + + + + + + See Also + + glPixelStorei, + glReadBuffer + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glReleaseShaderCompiler.xml b/Source/Bind/Specifications/Docs/ES30/glReleaseShaderCompiler.xml new file mode 100644 index 00000000..f869179e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glReleaseShaderCompiler.xml @@ -0,0 +1,64 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glReleaseShaderCompiler + 3G + + + glReleaseShaderCompiler + release resources consumed by the implementation's shader compiler + + C Specification + + + void glReleaseShaderCompiler + void + + + + Description + + glReleaseShaderCompiler provides a hint to the implementation that it + may free internal resources associated with its shader compiler. glCompileShader + may subsequently be called and the implementation may at that time reallocate resources + previously freed by the call to glReleaseShaderCompiler. + + + + API Version Support + + + + + + glReleaseShaderCompiler + + + + + + + See Also + + glCompileShader, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glRenderbufferStorage.xml b/Source/Bind/Specifications/Docs/ES30/glRenderbufferStorage.xml new file mode 100644 index 00000000..366fe8a2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glRenderbufferStorage.xml @@ -0,0 +1,136 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glRenderbufferStorage + 3G + + + glRenderbufferStorage + establish data storage, format and dimensions of a renderbuffer object's image + + C Specification + + + void glRenderbufferStorage + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies a binding to which the target of the allocation and must be GL_RENDERBUFFER. + + + + + internalformat + + + Specifies the internal format to use for the renderbuffer object's image. + + + + + width + + + Specifies the width of the renderbuffer, in pixels. + + + + + height + + + Specifies the height of the renderbuffer, in pixels. + + + + + + Description + + glRenderbufferStorage is equivalent to calling + glRenderbufferStorageMultisample with the + samples set to zero. + + + The target of the operation, specified by target must be GL_RENDERBUFFER. + internalformat specifies the internal format to be used for the renderbuffer object's storage and + must be a color-renderable, depth-renderable, or stencil-renderable format, as shown in Table 1 below. + width and height are the dimensions, in pixels, of the renderbuffer. + Both width and height must be less than or equal to the value of + GL_MAX_RENDERBUFFER_SIZE. + + + Upon success, glRenderbufferStorage deletes any existing data store for the renderbuffer + image and the contents of the data store after calling glRenderbufferStorage are undefined. + + + + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + GL_INVALID_VALUE is generated if either of width or height is negative, + or greater than the value of GL_MAX_RENDERBUFFER_SIZE. + + + GL_INVALID_ENUM is generated if internalformat is not a color-renderable, depth-renderable, + or stencil-renderable format. + + + GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store of the requested size. + + + + API Version Support + + + + + + glRenderbufferStorage + + + + + + + See Also + + glGenRenderbuffers, + glBindRenderbuffer, + glRenderbufferStorageMultisample, + glFramebufferRenderbuffer, + glDeleteRenderbuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glRenderbufferStorageMultisample.xml b/Source/Bind/Specifications/Docs/ES30/glRenderbufferStorageMultisample.xml new file mode 100644 index 00000000..8cb29f07 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glRenderbufferStorageMultisample.xml @@ -0,0 +1,166 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glRenderbufferStorageMultisample + 3G + + + glRenderbufferStorageMultisample + establish data storage, format, dimensions and sample count of a renderbuffer object's image + + C Specification + + + void glRenderbufferStorageMultisample + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies a binding to which the target of the allocation and must be GL_RENDERBUFFER. + + + + + samples + + + Specifies the number of samples to be used for the renderbuffer object's storage. + + + + + internalformat + + + Specifies the internal format to use for the renderbuffer object's image. + + + + + width + + + Specifies the width of the renderbuffer, in pixels. + + + + + height + + + Specifies the height of the renderbuffer, in pixels. + + + + + + Description + + glRenderbufferStorageMultisample establishes the data storage, format, dimensions and number of + samples of a renderbuffer object's image. + + + The target of the operation, specified by target must be GL_RENDERBUFFER. + internalformat specifies the internal format to be used for the renderbuffer object's storage and + must be a color-renderable, depth-renderable, or stencil-renderable format, as shown in Table 1 below. + width and height are the dimensions, in pixels, of the renderbuffer. + Both width and height must be less than or equal to the value of + GL_MAX_RENDERBUFFER_SIZE. samples specifies the number of samples to be used + for the renderbuffer object's image. If internalformat is a signed or unsigned integer format then + samples must be 0. Otherwise, samples must be must be less than or equal to + the maximum number of samples supported for internalformat. + (see glGetInternalformativ). + + + Upon success, glRenderbufferStorageMultisample deletes any existing data store for the renderbuffer + image and the contents of the data store after calling glRenderbufferStorageMultisample are undefined. + + + + + + Notes + + Since different implementations may support different sample counts for multisample + rendering, the actual number of samples allocated for the renderbuffer image is + implementation-dependent. However, the resulting value for GL_RENDERBUFFER_SAMPLES + is guaranteed to be greater than or equal to samples and no more than the + next larger sample count supported by the implementation. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + GL_INVALID_VALUE is generated if samples is greater than the maximum number of samples + supported for internalformat. + + + GL_INVALID_ENUM is generated if internalformat is not a color-renderable, depth-renderable, + or stencil-renderable format. + + + GL_INVALID_OPERATION is generated if internalformat is a signed or unsigned integer format + and samples is greater than 0. + + + GL_INVALID_VALUE is generated if either of width or height is negative, + or greater than the value of GL_MAX_RENDERBUFFER_SIZE. + + + GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store of the requested size. + + + + API Version Support + + + + + + glRenderbufferStorageMultisample + + + + + + + See Also + + glGenRenderbuffers, + glGetInternalformativ, + glBindRenderbuffer, + glRenderbufferStorage, + glFramebufferRenderbuffer, + glDeleteRenderbuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glResumeTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES30/glResumeTransformFeedback.xml new file mode 100644 index 00000000..b3df003d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glResumeTransformFeedback.xml @@ -0,0 +1,73 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glResumeTransformFeedback + 3G + + + glResumeTransformFeedback + resume transform feedback operations + + C Specification + + + void glResumeTransformFeedback + void + + + + Description + + glResumeTransformFeedback resumes transform feedback operations on the currently active transform feedback + object. When transform feedback operations are paused, transform feedback is still considered active and changing most + transform feedback state related to the object results in an error. However, a new transform feedback object may be bound + while transform feedback is paused. + + + Errors + + GL_INVALID_OPERATION is generated if the currently bound transform feedback object is not active or is not paused. + + + + API Version Support + + + + + + glResumeTransformFeedback + + + + + + + See Also + + glGenTransformFeedbacks, + glBindTransformFeedback, + glBeginTransformFeedback, + glPauseTransformFeedback, + glEndTransformFeedback, + glDeleteTransformFeedbacks + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glSampleCoverage.xml b/Source/Bind/Specifications/Docs/ES30/glSampleCoverage.xml new file mode 100644 index 00000000..090c94a2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glSampleCoverage.xml @@ -0,0 +1,135 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glSampleCoverage + 3G + + + glSampleCoverage + specify multisample coverage parameters + + C Specification + + + void glSampleCoverage + GLfloat value + GLboolean invert + + + + Parameters + + + value + + + Specify a single floating-point sample coverage value. The value is + clamped to the range + + + + 0 + 1 + + . + The initial value is 1.0. + + + + + invert + + + Specify a single boolean value representing if the coverage masks should be + inverted. GL_TRUE and GL_FALSE are accepted. The initial value + is GL_FALSE. + + + + + + Description + + Multisampling samples a pixel multiple times at various + implementation-dependent subpixel locations to generate antialiasing + effects. Multisampling transparently antialiases points, lines, polygons, + and images if it is enabled. + + + value is used in constructing a temporary mask used in determining which + samples will be used in resolving the final fragment color. This mask is + bitwise-anded with the coverage mask generated from the multisampling + computation. If the invert flag is set, the temporary mask is inverted + (all bits flipped) and then the bitwise-and is computed. + + + If an implementation does not have any multisample buffers available, or + multisampling is disabled, rasterization occurs with only a single sample + computing a pixel's final RGB color. + + + Provided an implementation supports multisample buffers, and multisampling + is enabled, then a pixel's final color is generated by combining several + samples per pixel. Each sample contains color, depth, and stencil + information, allowing those operations to be performed on each sample. + + + Associated Gets + + glGet with argument GL_SAMPLE_COVERAGE_VALUE + + + glGet with argument GL_SAMPLE_COVERAGE_INVERT + + + glIsEnabled with argument GL_MULTISAMPLE + + + glIsEnabled with argument GL_SAMPLE_ALPHA_TO_COVERAGE + + + glIsEnabled with argument GL_SAMPLE_COVERAGE + + + + API Version Support + + + + + + glSampleCoverage + + + + + + + See Also + + glEnable + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glSamplerParameter.xml b/Source/Bind/Specifications/Docs/ES30/glSamplerParameter.xml new file mode 100644 index 00000000..57d18575 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glSamplerParameter.xml @@ -0,0 +1,1081 @@ + %mathent; ]> + + + + + + + 2010-2014 + KhronosGroup + + + + glSamplerParameter + 3G + + + glSamplerParameter + set sampler parameters + + C Specification + + + void glSamplerParameterf + GLuint sampler + GLenum pname + GLfloat param + + + + + void glSamplerParameteri + GLuint sampler + GLenum pname + GLint param + + + + + + void glSamplerParameterfv + GLuint sampler + GLenum pname + const GLfloat * params + + + + + void glSamplerParameteriv + GLuint sampler + GLenum pname + const GLint * params + + + + Parameters + + + sampler + + + Specifies the sampler object whose parameter to modify. + + + + + pname + + + Specifies the symbolic name of a single-valued sampler parameter. + pname can be one of the following: + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, + GL_TEXTURE_WRAP_R, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_COMPARE_MODE, or + GL_TEXTURE_COMPARE_FUNC. + + + + + param + + + For the scalar commands, specifies the value of + pname. + + + + + params + + + For the vector commands + (glSamplerParameter*v), specifies a + pointer to an array where the value or values of + pname are stored. + + + + + + Description + + glSamplerParameter assigns the value or values in params to the sampler parameter + specified as pname. + sampler specifies the sampler object to be modified, and must be the name of a sampler object previously + returned from a call to glGenSamplers. + The following symbols are accepted in pname: + + + + GL_TEXTURE_MIN_FILTER + + + The texture minifying function is used whenever the pixel being textured + maps to an area greater than one texture element. + There are six defined minifying functions. + Two of them use the nearest one or nearest four texture elements + to compute the texture value. + The other four use mipmaps. + + + A mipmap is an ordered set of arrays representing the same image + at progressively lower resolutions. + If the texture has dimensions + + + + 2 + n + + × + 2 + m + + + , + there are + + + + + max + + + n + m + + + + + 1 + + + mipmaps. + The first mipmap is the original texture, + with dimensions + + + + 2 + n + + × + 2 + m + + + . + Each subsequent mipmap has dimensions + + + + 2 + + + k + - + 1 + + + + × + 2 + + + l + - + 1 + + + + + , + where + + + + 2 + k + + × + 2 + l + + + + are the dimensions of the previous mipmap, + until either + + + + k + = + 0 + + + or + + + + l + = + 0 + + . + At that point, + subsequent mipmaps have dimension + + + + 1 + × + 2 + + + l + - + 1 + + + + + + or + + + + 2 + + + k + - + 1 + + + + × + 1 + + + until the final mipmap, + which has dimension + + + + 1 + × + 1 + + . + To define the mipmaps, call glTexStorage2D, glTexImage2D, + glTexStorage2D, glTexImage3D, + or glCopyTexImage2D + with the level argument indicating the order of the mipmaps. + Level 0 is the original texture; + level + + + + max + + + n + m + + + + is the final + + + + 1 + × + 1 + + + mipmap. + + + params supplies a function for minifying the texture as one of the + following: + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the center of the pixel being textured. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the center of the pixel being textured. + + + + + GL_NEAREST_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element nearest to the center of the pixel) + to produce a texture value. + + + + + GL_LINEAR_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest + to the center of the pixel) + to produce a texture value. + + + + + GL_NEAREST_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element nearest to the center of the pixel) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + GL_LINEAR_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest + to the center of the pixel) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + + + As more texture elements are sampled in the minification process, + fewer aliasing artifacts will be apparent. + While the GL_NEAREST and GL_LINEAR minification functions can be + faster than the other four, + they sample only one or four texture elements to determine the texture value + of the pixel being rendered and can produce moire patterns + or ragged transitions. + The initial value of GL_TEXTURE_MIN_FILTER is + GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MAG_FILTER + + + The texture magnification function is used when the pixel being textured + maps to an area less than or equal to one texture element. + It sets the texture magnification function to either GL_NEAREST + or GL_LINEAR (see below). GL_NEAREST is generally faster + than GL_LINEAR, + but it can produce textured images with sharper edges + because the transition between texture elements is not as smooth. + The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR. + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the center of the pixel being textured. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the center of the pixel being textured. + + + + + + + + + + + + + GL_TEXTURE_MIN_LOD + + + Sets the minimum level-of-detail parameter. This floating-point value + limits the selection of highest resolution mipmap (lowest mipmap + level). The initial value is -1000. + + + + + + + + + GL_TEXTURE_MAX_LOD + + + Sets the maximum level-of-detail parameter. This floating-point value + limits the selection of the lowest resolution mipmap (highest mipmap + level). The initial value is 1000. + + + + + + + + + GL_TEXTURE_WRAP_S + + + Sets the wrap parameter for texture coordinate + s + to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. GL_CLAMP_TO_EDGE causes + s + coordinates to be clamped to the + range + + + + + + + 1 + + 2N + + + + + + 1 + - + + + + 1 + + 2N + + + + + + + , + where + N + is the size + of the texture in the direction of clamping. GL_REPEAT causes the + integer part of the + s + coordinate to be ignored; the GL uses only the + fractional part, thereby creating a repeating pattern. + GL_MIRRORED_REPEAT causes the + s + coordinate to be set to the + fractional part of the texture coordinate if the integer part of + s + is + even; if the integer part of + s + is odd, then the + s + texture coordinate is + set to + + + + 1 + - + + frac + + + s + + + + , + where + + + + frac + + + s + + + + represents the fractional part of + s. + Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT. + + + + + + + + + GL_TEXTURE_WRAP_T + + + Sets the wrap parameter for texture coordinate + t + to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT. + + + + + GL_TEXTURE_WRAP_R + + + Sets the wrap parameter for texture coordinate + r + to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT. + + + + + GL_TEXTURE_COMPARE_MODE + + + Specifies the texture comparison mode for currently bound textures. + That is, a texture whose base internal format is GL_DEPTH_COMPONENT or + GL_DEPTH_STENCIL; see + glTexImage2D) + Permissible values are: + + + GL_COMPARE_REF_TO_TEXTURE + + + Specifies that the interpolated and clamped + r + texture coordinate should + be compared to the value in the currently bound texture. See the + discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison + is evaluated. The result of the comparison is assigned to the red channel. + + + + + GL_NONE + + + Specifies that the red channel should be assigned the + appropriate value from the currently bound texture. + + + + + + + + + GL_TEXTURE_COMPARE_FUNC + + + Specifies the comparison operator used when GL_TEXTURE_COMPARE_MODE is + set to GL_COMPARE_REF_TO_TEXTURE. Permissible values are: + + + + + + + + Texture Comparison Function + + + Computed result + + + + + + + GL_LEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + <= + + D + t + + + + + + + r + > + + D + t + + + + + + + + + + + + + + GL_GEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + >= + + D + t + + + + + + + r + < + + D + t + + + + + + + + + + + + + + GL_LESS + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + < + + D + t + + + + + + + r + >= + + D + t + + + + + + + + + + + + + + GL_GREATER + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + > + + D + t + + + + + + + r + <= + + D + t + + + + + + + + + + + + + + GL_EQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + = + + D + t + + + + + + + r + + + D + t + + + + + + + + + + + + + + GL_NOTEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + + + D + t + + + + + + + r + = + + D + t + + + + + + + + + + + + + + GL_ALWAYS + + + + + + result + = + 1.0 + + + + + + + + GL_NEVER + + + + + + result + = + 0.0 + + + + + + + + + where r + is the current interpolated texture coordinate, and + + + D + t + + + is the texture value sampled from the currently bound texture. + result + is assigned to + + + R + t + + . + + + + + + Notes + + If a sampler object is bound to a texture unit and that unit is used to sample from a texture, the parameters in the sampler + are used to sample from the texture, rather than the equivalent parameters in the texture object bound to that unit. This + introduces the possibility of sampling from the same texture object with different sets of sampler state, which may lead to + a condition where a texture is incomplete with respect to one sampler object and not with respect to + another. Thus, completeness can be considered a function of a sampler object and a texture object bound to a single + texture unit, rather than a property of the texture object itself. + + + The results of a texture lookup are undefined if: + + + + The sampler used in a texture lookup function is not one of the shadow sampler types, the texture object's base + internal format is GL_DEPTH_COMPONENT or GL_DEPTH_STENCIL, and the + GL_TEXTURE_COMPARE_MODE is not GL_NONE. + + + + + The sampler used in a texture lookup function is one of the shadow sampler types, the texture object's base internal format + is GL_DEPTH_COMPONENT or GL_DEPTH_STENCIL, and the + GL_TEXTURE_COMPARE_MODE is GL_NONE. + + + + + The sampler used in a texture lookup function is one of the shadow sampler types, and the texture object's base + internal format is not GL_DEPTH_COMPONENT or GL_DEPTH_STENCIL. + + + + + + Errors + + GL_INVALID_OPERATION is generated if sampler is not the name of a sampler object previously + returned from a call to glGenSamplers. + + + GL_INVALID_ENUM is generated if params should have a defined + constant value (based on the value of pname) and does not. + + + Associated Gets + + glGetSamplerParameter + + + + API Version Support + + + + + + glSamplerParameterf + + + + glSamplerParameteri + + + + + + + See Also + + glGenSamplers, + glBindSampler, + glDeleteSamplers, + glIsSampler, + glBindTexture, + glTexParameter + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glScissor.xml b/Source/Bind/Specifications/Docs/ES30/glScissor.xml new file mode 100644 index 00000000..fdaaf9c1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glScissor.xml @@ -0,0 +1,129 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glScissor + 3G + + + glScissor + define the scissor box + + C Specification + + + void glScissor + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + x + y + + + Specify the lower left corner of the scissor box. + Initially (0, 0). + + + + + width + height + + + Specify the width and height of the scissor box. + When a GL context is first attached to a window, + width and height are set to the dimensions of that + window. + + + + + + Description + + glScissor defines a rectangle, called the scissor box, + in window coordinates. + The first two arguments, + x and y, + specify the lower left corner of the box. + width and height specify the width and height of the box. + + + To enable and disable the scissor test, call + glEnable and glDisable with argument + GL_SCISSOR_TEST. The test is initially disabled. + While the test is enabled, only pixels that lie within the scissor box + can be modified by drawing commands. + Window coordinates have integer values at the shared corners of + frame buffer pixels. + glScissor(0,0,1,1) allows modification of only the lower left + pixel in the window, and glScissor(0,0,0,0) doesn't allow + modification of any pixels in the window. + + + When the scissor test is disabled, + it is as though the scissor box includes the entire window. + + + Errors + + GL_INVALID_VALUE is generated if either width or height is negative. + + + Associated Gets + + glGet with argument GL_SCISSOR_BOX + + + glIsEnabled with argument GL_SCISSOR_TEST + + + + API Version Support + + + + + + glScissor + + + + + + + See Also + + glEnable, + glViewport + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glShaderBinary.xml b/Source/Bind/Specifications/Docs/ES30/glShaderBinary.xml new file mode 100644 index 00000000..a066713a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glShaderBinary.xml @@ -0,0 +1,146 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glShaderBinary + 3G + + + glShaderBinary + load pre-compiled shader binaries + + C Specification + + + void glShaderBinary + GLsizei count + const GLuint *shaders + GLenum binaryFormat + const void *binary + GLsizei length + + + + Parameters + + + count + + + Specifies the number of shader object handles contained in shaders. + + + + + shaders + + + Specifies the address of an array of shader handles into which to load pre-compiled shader binaries. + + + + + binaryFormat + + + Specifies the format of the shader binaries contained in binary. + + + + + binary + + + Specifies the address of an array of bytes containing pre-compiled binary shader code. + + + + + length + + + Specifies the length of the array whose address is given in binary. + + + + + + Description + + glShaderBinary loads pre-compiled shader binary code into the count + shader objects whose handles are given in shaders. binary + points to length bytes of binary shader code stored in client memory. + binaryFormat specifies the format of the pre-compiled code. + + + The binary image contained in binary will be decoded according to the extension + specification defining the specified binaryFormat token. OpenGL ES + does not define any specific binary formats, but it does provide a mechanism to obtain token + vaues for such formats provided by such extensions. + + + Depending on the types of the shader objects in shaders, glShaderBinary + will individually load binary vertex or fragment shaders, or load an executable binary that contains an optimized + pair of vertex and fragment shaders stored in the same binary. + + + Errors + + GL_INVALID_OPERATION is generated if more than one of the handles in + shaders refers to the same shader object. + + + GL_INVALID_ENUM is generated if binaryFormat is not an + accepted value. + + + GL_INVALID_VALUE is generated if the data pointed to by binary + does not match the format specified by binaryFormat. + + + Associated Gets + + glGet with parameter GL_NUM_SHADER_BINARY_FORMATS. + + + glGet with parameter GL_SHADER_BINARY_FORMATS. + + + + API Version Support + + + + + + glShaderBinary + + + + + + + See Also + + glGetProgramiv, + glGetProgramBinary, + glProgramBinary + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glShaderSource.xml b/Source/Bind/Specifications/Docs/ES30/glShaderSource.xml new file mode 100644 index 00000000..55b3fb44 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glShaderSource.xml @@ -0,0 +1,144 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glShaderSource + 3G + + + glShaderSource + Replaces the source code in a shader object + + C Specification + + + void glShaderSource + GLuint shader + GLsizei count + const GLchar **string + const GLint *length + + + + Parameters + + + shader + + Specifies the handle of the shader object + whose source code is to be replaced. + + + + count + + Specifies the number of elements in the + string and + length + arrays. + + + + string + + Specifies an array of pointers to strings + containing the source code to be loaded into the + shader. + + + + length + + Specifies an array of string lengths. + + + + + Description + glShaderSource sets the source code + in shader to the source code in the array + of strings specified by string. Any + source code previously stored in the shader object is completely + replaced. The number of strings in the array is specified by + count. If length + is NULL, each string is assumed to be null + terminated. If length is a value other + than NULL, it points to an array containing + a string length for each of the corresponding elements of + string. Each element in the + length array may contain the length of + the corresponding string (the null character is not counted as + part of the string length) or a value less than 0 to indicate + that the string is null terminated. The source code strings are + not scanned or parsed at this time; they are simply copied into + the specified shader object. + + Notes + The GL copies the shader source code strings when + glShaderSource is called, so an application + may free its copy of the source code strings immediately after + the function returns. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + count is less than 0. + + + Associated Gets + glGetShaderiv + with arguments shader and + GL_SHADER_SOURCE_LENGTH + + glGetShaderSource + with argument shader + + glIsShader + + + API Version Support + + + + + + glShaderSource + + + + + + + See Also + glCompileShader, + glCreateShader, + glDeleteShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glStencilFunc.xml b/Source/Bind/Specifications/Docs/ES30/glStencilFunc.xml new file mode 100644 index 00000000..8ac3ae8e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glStencilFunc.xml @@ -0,0 +1,311 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilFunc + 3G + + + glStencilFunc + set front and back function and reference value for stencil testing + + C Specification + + + void glStencilFunc + GLenum func + GLint ref + GLuint mask + + + + Parameters + + + func + + + Specifies the test function. + Eight symbolic constants are valid: + GL_NEVER, + GL_LESS, + GL_LEQUAL, + GL_GREATER, + GL_GEQUAL, + GL_EQUAL, + GL_NOTEQUAL, and + GL_ALWAYS. The initial value is GL_ALWAYS. + + + + + ref + + + Specifies the reference value for the stencil test. + Stencil comparison operations and queries of + ref clamp its value to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. The + initial value is 0. + + + + + mask + + + Specifies a mask that is ANDed with both the reference value + and the stored stencil value when the test is done. The initial value + is all 1's. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + Stencil planes are first drawn into using GL drawing primitives, then + geometry and images are rendered using the stencil planes to mask out + portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the reference value + and the value in the stencil buffer. + To enable and disable the test, call glEnable and glDisable + with argument GL_STENCIL_TEST. + To specify actions based on the outcome of the stencil test, call + glStencilOp or + glStencilOpSeparate. + + + There can be two separate sets of func, ref, and + mask parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilFunc sets both front + and back stencil state to the same values. Use glStencilFuncSeparate + to set front and back stencil state to different values. + + + func is a symbolic constant that determines the stencil comparison function. + It accepts one of eight values, + shown in the following list. + ref is an integer reference value that is used in the stencil comparison. + Stencil comparison operations and queries clamp the value to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + mask is bitwise ANDed with both the reference value + and the stored stencil value, + with the ANDed values participating in the comparison. + + + If stencil represents the value stored in the corresponding + stencil buffer location, + the following list shows the effect of each comparison function + that can be specified by func. + Only if the comparison succeeds is the pixel passed through + to the next stage in the rasterization process + (see glStencilOp). + All tests treat stencil values as unsigned integers in the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + + + The following values are accepted by func: + + + + GL_NEVER + + + Always fails. + + + + + GL_LESS + + + Passes if ( ref & mask ) < ( stencil & mask ). + + + + + GL_LEQUAL + + + Passes if ( ref & mask ) <= ( stencil & mask ). + + + + + GL_GREATER + + + Passes if ( ref & mask ) > ( stencil & mask ). + + + + + GL_GEQUAL + + + Passes if ( ref & mask ) >= ( stencil & mask ). + + + + + GL_EQUAL + + + Passes if ( ref & mask ) = ( stencil & mask ). + + + + + GL_NOTEQUAL + + + Passes if ( ref & mask ) != ( stencil & mask ). + + + + + GL_ALWAYS + + + Always passes. + + + + + + Notes + + Initially, the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur and it is as if + the stencil test always passes. + + + glStencilFunc is the same as + calling glStencilFuncSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if func is not one of the eight + accepted values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + + API Version Support + + + + + + glStencilFunc + + + + + + + See Also + + glDepthFunc, + glEnable, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glStencilFuncSeparate.xml b/Source/Bind/Specifications/Docs/ES30/glStencilFuncSeparate.xml new file mode 100644 index 00000000..da2082b4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glStencilFuncSeparate.xml @@ -0,0 +1,320 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilFuncSeparate + 3G + + + glStencilFuncSeparate + set front and/or back function and reference value for stencil testing + + C Specification + + + void glStencilFuncSeparate + GLenum face + GLenum func + GLint ref + GLuint mask + + + + Parameters + + + face + + + Specifies whether front and/or back stencil state is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + func + + + Specifies the test function. + Eight symbolic constants are valid: + GL_NEVER, + GL_LESS, + GL_LEQUAL, + GL_GREATER, + GL_GEQUAL, + GL_EQUAL, + GL_NOTEQUAL, and + GL_ALWAYS. The initial value is GL_ALWAYS. + + + + + ref + + + Specifies the reference value for the stencil test. + Stencil comparison operations and queries of + ref clamp its value to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. The + initial value is 0. + + + + + mask + + + Specifies a mask that is ANDed with both the reference value + and the stored stencil value when the test is done. The initial value + is all 1's. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the reference value + and the value in the stencil buffer. + To enable and disable the test, call glEnable and glDisable + with argument GL_STENCIL_TEST. + To specify actions based on the outcome of the stencil test, call + glStencilOp or + glStencilOpSeparate. + + + There can be two separate sets of func, ref, and + mask parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilFunc sets both front + and back stencil state to the same values, as if + glStencilFuncSeparate were called + with face set to GL_FRONT_AND_BACK. + + + func is a symbolic constant that determines the stencil comparison function. + It accepts one of eight values, + shown in the following list. + ref is an integer reference value that is used in the stencil comparison. + Stencil comparison operations and queries clamp the value to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + mask is bitwise ANDed with both the reference value + and the stored stencil value, + with the ANDed values participating in the comparison. + + + If stencil represents the value stored in the corresponding + stencil buffer location, + the following list shows the effect of each comparison function + that can be specified by func. + Only if the comparison succeeds is the pixel passed through + to the next stage in the rasterization process + (see glStencilOp). + All tests treat stencil values as unsigned integers in the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + + + The following values are accepted by func: + + + + GL_NEVER + + + Always fails. + + + + + GL_LESS + + + Passes if ( ref & mask ) < ( stencil & mask ). + + + + + GL_LEQUAL + + + Passes if ( ref & mask ) <= ( stencil & mask ). + + + + + GL_GREATER + + + Passes if ( ref & mask ) > ( stencil & mask ). + + + + + GL_GEQUAL + + + Passes if ( ref & mask ) >= ( stencil & mask ). + + + + + GL_EQUAL + + + Passes if ( ref & mask ) = ( stencil & mask ). + + + + + GL_NOTEQUAL + + + Passes if ( ref & mask ) != ( stencil & mask ). + + + + + GL_ALWAYS + + + Always passes. + + + + + + Notes + + Initially, the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur and it is as if + the stencil test always passes. + + + Errors + + GL_INVALID_ENUM is generated if func is not one of the eight + accepted values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + + API Version Support + + + + + + glStencilFuncSeparate + + + + + + + See Also + + glDepthFunc, + glEnable, + glStencilFunc, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glStencilMask.xml b/Source/Bind/Specifications/Docs/ES30/glStencilMask.xml new file mode 100644 index 00000000..697ba6ce --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glStencilMask.xml @@ -0,0 +1,118 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilMask + 3G + + + glStencilMask + control the front and back writing of individual bits in the stencil planes + + C Specification + + + void glStencilMask + GLuint mask + + + + Parameters + + + mask + + + Specifies a bit mask to enable and disable writing of individual bits + in the stencil planes. + Initially, the mask is all 1's. + + + + + + Description + + glStencilMask controls the writing of individual bits in the stencil planes. + The least significant + n + bits of mask, + where + n + is the number of bits in the stencil buffer, + specify a mask. + Where a 1 appears in the mask, + it's possible to write to the corresponding bit in the stencil buffer. + Where a 0 appears, + the corresponding bit is write-protected. + Initially, all bits are enabled for writing. + + + There can be two separate mask writemasks; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilMask sets both front + and back stencil writemasks to the same values. Use glStencilMaskSeparate + to set front and back stencil writemasks to different values. + + + Notes + + glStencilMask is the same as + calling glStencilMaskSeparate + with face set to GL_FRONT_AND_BACK. + + + Associated Gets + + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + or GL_STENCIL_BITS + + + + API Version Support + + + + + + glStencilMask + + + + + + + See Also + + glColorMask, + glDepthMask, + glStencilFunc, + glStencilFuncSeparate, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glStencilMaskSeparate.xml b/Source/Bind/Specifications/Docs/ES30/glStencilMaskSeparate.xml new file mode 100644 index 00000000..4f74f279 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glStencilMaskSeparate.xml @@ -0,0 +1,130 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilMaskSeparate + 3G + + + glStencilMaskSeparate + control the front and/or back writing of individual bits in the stencil planes + + C Specification + + + void glStencilMaskSeparate + GLenum face + GLuint mask + + + + Parameters + + + face + + + Specifies whether the front and/or back stencil writemask is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + mask + + + Specifies a bit mask to enable and disable writing of individual bits + in the stencil planes. + Initially, the mask is all 1's. + + + + + + Description + + glStencilMaskSeparate controls the writing of individual bits in the stencil planes. + The least significant + n + bits of mask, + where + n + is the number of bits in the stencil buffer, + specify a mask. + Where a 1 appears in the mask, + it's possible to write to the corresponding bit in the stencil buffer. + Where a 0 appears, + the corresponding bit is write-protected. + Initially, all bits are enabled for writing. + + + There can be two separate mask writemasks; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilMask sets both front + and back stencil writemasks to the same values, as if + glStencilMaskSeparate were called + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if face is not one of the accepted tokens. + + + Associated Gets + + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + or GL_STENCIL_BITS + + + + API Version Support + + + + + + glStencilMaskSeparate + + + + + + + See Also + + glColorMask, + glDepthMask, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glStencilOp.xml b/Source/Bind/Specifications/Docs/ES30/glStencilOp.xml new file mode 100644 index 00000000..7c93ea89 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glStencilOp.xml @@ -0,0 +1,287 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilOp + 3G + + + glStencilOp + set front and back stencil test actions + + C Specification + + + void glStencilOp + GLenum sfail + GLenum dpfail + GLenum dppass + + + + Parameters + + + sfail + + + Specifies the action to take when the stencil test fails. + Eight symbolic constants are accepted: + GL_KEEP, + GL_ZERO, + GL_REPLACE, + GL_INCR, + GL_INCR_WRAP, + GL_DECR, + GL_DECR_WRAP, and + GL_INVERT. The initial value is GL_KEEP. + + + + + dpfail + + + Specifies the stencil action when the stencil test passes, + but the depth test fails. + dpfail accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + dppass + + + Specifies the stencil action when both the stencil test and the depth + test pass, or when the stencil test passes and either there is no + depth buffer or depth testing is not enabled. + dppass accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the value in the stencil buffer and a + reference value. To enable and disable the test, call glEnable + and glDisable with argument + GL_STENCIL_TEST; to control it, call + glStencilFunc or + glStencilFuncSeparate. + + + There can be two separate sets of sfail, dpfail, and + dppass parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilOp sets both front + and back stencil state to the same values. Use glStencilOpSeparate + to set front and back stencil state to different values. + + + glStencilOp takes three arguments that indicate what happens + to the stored stencil value while stenciling is enabled. + If the stencil test fails, + no change is made to the pixel's color or depth buffers, + and sfail specifies what happens to the stencil buffer contents. + The following eight actions are possible. + + + + GL_KEEP + + + Keeps the current value. + + + + + GL_ZERO + + + Sets the stencil buffer value to 0. + + + + + GL_REPLACE + + + Sets the stencil buffer value to ref, + as specified by glStencilFunc. + + + + + GL_INCR + + + Increments the current stencil buffer value. + Clamps to the maximum representable unsigned value. + + + + + GL_INCR_WRAP + + + Increments the current stencil buffer value. + Wraps stencil buffer value to zero when incrementing the maximum + representable unsigned value. + + + + + GL_DECR + + + Decrements the current stencil buffer value. + Clamps to 0. + + + + + GL_DECR_WRAP + + + Decrements the current stencil buffer value. + Wraps stencil buffer value to the maximum representable unsigned value when + decrementing a stencil buffer value of zero. + + + + + GL_INVERT + + + Bitwise inverts the current stencil buffer value. + + + + + + Stencil buffer values are treated as unsigned integers. + When incremented and decremented, + values are clamped to 0 and + + + + 2 + n + + - + 1 + + , + where + n + is the value returned by querying GL_STENCIL_BITS. + + + The other two arguments to glStencilOp specify stencil buffer actions + that depend on whether subsequent depth buffer tests succeed (dppass) + or fail (dpfail) (see + glDepthFunc). + The actions are specified using the same eight symbolic constants as sfail. + Note that dpfail is ignored when there is no depth buffer, + or when the depth buffer is not enabled. + In these cases, sfail and dppass specify stencil action when the + stencil test fails and passes, + respectively. + + + Notes + + Initially the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur + and it is as if the stencil tests always pass, + regardless of any call to glStencilOp. + + + glStencilOp is the same as + calling glStencilOpSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if sfail, + dpfail, or dppass is any value other than the defined constant values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + + API Version Support + + + + + + glStencilOp + + + + + + + See Also + + glDepthFunc, + glEnable, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glStencilOpSeparate.xml b/Source/Bind/Specifications/Docs/ES30/glStencilOpSeparate.xml new file mode 100644 index 00000000..99991999 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glStencilOpSeparate.xml @@ -0,0 +1,299 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilOpSeparate + 3G + + + glStencilOpSeparate + set front and/or back stencil test actions + + C Specification + + + void glStencilOpSeparate + GLenum face + GLenum sfail + GLenum dpfail + GLenum dppass + + + + Parameters + + + face + + + Specifies whether front and/or back stencil state is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + sfail + + + Specifies the action to take when the stencil test fails. + Eight symbolic constants are accepted: + GL_KEEP, + GL_ZERO, + GL_REPLACE, + GL_INCR, + GL_INCR_WRAP, + GL_DECR, + GL_DECR_WRAP, and + GL_INVERT. The initial value is GL_KEEP. + + + + + dpfail + + + Specifies the stencil action when the stencil test passes, + but the depth test fails. + dpfail accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + dppass + + + Specifies the stencil action when both the stencil test and the depth + test pass, or when the stencil test passes and either there is no + depth buffer or depth testing is not enabled. + dppass accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the value in the stencil buffer and a + reference value. To enable and disable the test, call glEnable + and glDisable with argument + GL_STENCIL_TEST; to control it, call + glStencilFunc or + glStencilFuncSeparate. + + + There can be two separate sets of sfail, dpfail, and + dppass parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilOp sets both front + and back stencil state to the same values, as if + glStencilOpSeparate were called + with face set to GL_FRONT_AND_BACK. + + + glStencilOpSeparate takes three arguments that indicate what happens + to the stored stencil value while stenciling is enabled. + If the stencil test fails, + no change is made to the pixel's color or depth buffers, + and sfail specifies what happens to the stencil buffer contents. + The following eight actions are possible. + + + + GL_KEEP + + + Keeps the current value. + + + + + GL_ZERO + + + Sets the stencil buffer value to 0. + + + + + GL_REPLACE + + + Sets the stencil buffer value to ref, + as specified by glStencilFunc. + + + + + GL_INCR + + + Increments the current stencil buffer value. + Clamps to the maximum representable unsigned value. + + + + + GL_INCR_WRAP + + + Increments the current stencil buffer value. + Wraps stencil buffer value to zero when incrementing the maximum + representable unsigned value. + + + + + GL_DECR + + + Decrements the current stencil buffer value. + Clamps to 0. + + + + + GL_DECR_WRAP + + + Decrements the current stencil buffer value. + Wraps stencil buffer value to the maximum representable unsigned value when + decrementing a stencil buffer value of zero. + + + + + GL_INVERT + + + Bitwise inverts the current stencil buffer value. + + + + + + Stencil buffer values are treated as unsigned integers. + When incremented and decremented, + values are clamped to 0 and + + + + 2 + n + + - + 1 + + , + where + n + is the value returned by querying GL_STENCIL_BITS. + + + The other two arguments to glStencilOpSeparate specify stencil buffer actions + that depend on whether subsequent depth buffer tests succeed (dppass) + or fail (dpfail) (see + glDepthFunc). + The actions are specified using the same eight symbolic constants as sfail. + Note that dpfail is ignored when there is no depth buffer, + or when the depth buffer is not enabled. + In these cases, sfail and dppass specify stencil action when the + stencil test fails and passes, + respectively. + + + Notes + + Initially the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur + and it is as if the stencil test always passes. + + + Errors + + GL_INVALID_ENUM is generated if face is any value + other than GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. + + + GL_INVALID_ENUM is generated if sfail, + dpfail, or dppass is any value other than the eight defined constant values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + + API Version Support + + + + + + glStencilOpSeparate + + + + + + + See Also + + glDepthFunc, + glEnable, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glTexImage2D.xml b/Source/Bind/Specifications/Docs/ES30/glTexImage2D.xml new file mode 100644 index 00000000..1e976ffc --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glTexImage2D.xml @@ -0,0 +1,595 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexImage2D + 3G + + + glTexImage2D + specify a two-dimensional texture image + + C Specification + + + void glTexImage2D + GLenum target + GLint level + GLint internalFormat + GLsizei width + GLsizei height + GLint border + GLenum format + GLenum type + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalFormat + + + 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. + + + + + width + + + Specifies the width of the texture image. + All implementations support texture images that are at least 2048 texels + wide. + + + + + height + + + Specifies the height of the texture image. + All implementations support texture images that are at least 2048 texels + high. + + + + + border + + + This value must be 0. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_DEPTH_COMPONENT, + GL_DEPTH_STENCIL, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_HALF_FLOAT, + GL_FLOAT, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_INT_2_10_10_10_REV, + GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_5_9_9_9_REV, + GL_UNSIGNED_INT_24_8, and + GL_FLOAT_32_UNSIGNED_INT_24_8_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + To define texture images, call glTexImage2D. + The arguments describe the parameters of the texture image, + such as height, width, width of the border, level-of-detail number + (see glTexParameter), + and number of color components provided. + The last three arguments describe how the image is represented in memory. + + + If target is GL_TEXTURE_2D + or one of the GL_TEXTURE_CUBE_MAP + targets, data is read from data as a sequence of signed or unsigned + bytes, shorts, or longs, or single-precision floating-point values, + depending on type. These values are grouped into sets of one, two, + three, or four values, depending on format, to form elements. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + 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. + + + format determines the composition of each element in data. + It can assume one of these symbolic values: + + + + GL_RED + + + 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. + + + + + GL_RED_INTEGER + + + 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. + + + + + GL_RG + + + 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. + + + + + GL_RG + + + Each element is a red/green double. + The GL assembles them into an RGBA element by attaching 0 for blue, and 1 for alpha. + + + + + GL_RGB + + + 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. + + + + + GL_RGB_INTEGER + + + Each element is an RGB triple. + The GL assembles them into an RGBA element by attaching 1 for alpha. + + + + + GL_RGBA + + + 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]. + + + + + GL_RGBA_INTEGER + + + Each element contains all four components. + + + + + GL_DEPTH_COMPONENT + + + Each element is a single depth value. + The GL converts it to floating point, and clamps to the range [0,1]. + + + + + GL_DEPTH_STENCIL + + + Each element is a pair of depth and stencil values. The depth component of + the pair is interpreted as in GL_DEPTH_COMPONENT. The stencil + component is interpreted based on specified the depth + stencil internal format. + + + + + GL_LUMINANCE_ALPHA + + + 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. + + + + + GL_LUMINANCE + + + 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. + + + + + GL_ALPHA + + + 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. + + + + + + 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 internalFormat. 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. + + + internalFormat may be one of the unsized (base) internal formats shown, together with valid + format and type combinations, in Table 1, below + + + + + + internalFormat may also be one of the sized internal formats shown, together with valid + format and type combinations, in Table 2, below + + + + + + If the internalFormat parameter is + GL_SRGB8, or + GL_SRGB8_ALPHA8, 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 + + c + s + + + to a linear component + + c + l + + + is: + + + + + + c + l + + = + + { + + + + + + + c + s + + 12.92 + + + + + + if + + + + c + s + + + 0.04045 + + + + + + + ( + + + + c + s + + + + 0.055 + + 1.055 + + ) + + 2.4 + + + + + + if + + + + c + s + + > + 0.04045 + + + + + + + + + + Assume + + c + s + + + is the sRGB component in the range [0,1]. + + + A one-component texture image uses only the red component of the RGBA + color extracted from data. + 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. + + + Image-based shadowing can be enabled by comparing texture r coordinates to + depth texture values to generate a boolean result. + See glTexParameter for details on texture comparison. + + + Notes + + The glPixelStorei mode affects texture images. + + + data may be a null pointer. + In this case, texture memory is + allocated to accommodate a texture of width width and height height. + 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. + + + glTexImage2D specifies the two-dimensional texture for the texture object bound to the current texture unit, + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if target is one of the six cube map 2D image targets + and the width and height parameters are not equal. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_VALUE is generated if width is less than 0 + or greater than GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater than + + + + log + 2 + + + + max + + + , + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if internalFormat is not one of the + accepted resolution and format symbolic constants. + + + GL_INVALID_VALUE is generated if width or height is less than 0 + or greater than GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_OPERATION is generated if the combination of internalFormat, + format and type is not one of those in the tables above. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glTexImage2D + + + + + + + See Also + + glActiveTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage3D, + glTexStorage2D, + glTexStorage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glTexImage3D.xml b/Source/Bind/Specifications/Docs/ES30/glTexImage3D.xml new file mode 100644 index 00000000..7eac8573 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glTexImage3D.xml @@ -0,0 +1,615 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexImage3D + 3G + + + glTexImage3D + specify a three-dimensional texture image + + C Specification + + + void glTexImage3D + GLenum target + GLint level + GLint internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLenum format + GLenum type + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be one of GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level + n + is the + + + n + th + + + mipmap reduction image. + + + + + internalFormat + + + 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. + + + + + width + + + Specifies the width of the texture image. + All implementations support 3D texture images that are at least 256 texels + wide. + + + + + height + + + Specifies the height of the texture image. + All implementations support 3D texture images that are at least 256 texels + high. + + + + + depth + + + Specifies the depth of the texture image, or the number of layers in a texture array. + All implementations support 3D texture images that are at least 256 texels + deep, and texture arrays that are at least 256 layers deep. + + + + + border + + + This value must be 0. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_DEPTH_COMPONENT, + GL_DEPTH_STENCIL, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA, + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_HALF_FLOAT, + GL_FLOAT, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_INT_2_10_10_10_REV, + GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_5_9_9_9_REV, + GL_UNSIGNED_INT_24_8, and + GL_FLOAT_32_UNSIGNED_INT_24_8_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + To define texture images, call glTexImage3D. + The arguments describe the parameters of the texture image, + such as height, + width, depth, + width of the border, + level-of-detail number + (see glTexParameter), + and number of color components provided. + The last three arguments describe how the image is represented in memory. + + + If target is GL_TEXTURE_3D, + data is read from data as a sequence of signed or unsigned bytes, + shorts, + or longs, + or single-precision floating-point values, + depending on type. + These values are grouped into sets of one, + two, + three, + or four values, + depending on format, + to form elements. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + 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. + + + format determines the composition of each element in data. + It can assume one of these symbolic values: + + + + GL_RED + + + 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. + + + + + GL_RED_INTEGER + + + 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. + + + + + GL_RG + + + 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. + + + + + GL_RG + + + Each element is a red/green double. + The GL assembles them into an RGBA element by attaching 0 for blue, and 1 for alpha. + + + + + GL_RGB + + + 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. + + + + + GL_RGB_INTEGER + + + Each element is an RGB triple. + The GL assembles them into an RGBA element by attaching 1 for alpha. + + + + + GL_RGBA + + + 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]. + + + + + GL_RGBA_INTEGER + + + Each element contains all four components. + + + + + GL_DEPTH_COMPONENT + + + Each element is a single depth value. + The GL converts it to floating point, and clamps to the range [0,1]. + + + + + GL_DEPTH_STENCIL + + + Each element is a pair of depth and stencil values. The depth component of + the pair is interpreted as in GL_DEPTH_COMPONENT. The stencil + component is interpreted based on specified the depth + stencil internal format. + + + + + GL_LUMINANCE_ALPHA + + + 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. + + + + + GL_LUMINANCE + + + 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. + + + + + GL_ALPHA + + + 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. + + + + + + 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 internalFormat. 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. + + + internalFormat may be one of the unsized (base) internal formats shown, together with valid + format and type combinations, in Table 1, below + + + + + + internalFormat may also be one of the sized internal formats shown, together with valid + format and type combinations, in Table 2, below + + + + + + If the internalFormat parameter is + GL_SRGB, + GL_SRGB8, or + GL_SRGB8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component + + + c + s + + + to a linear component + + + c + l + + + is: + + + + + + c + l + + = + + { + + + + + + c + s + + 12.92 + + + + + + if + + + + c + s + + + 0.04045 + + + + + + + ( + + + + c + s + + + + 0.055 + + 1.055 + + ) + + 2.4 + + + + + + if + + + + c + s + + > + 0.04045 + + + + + + + + + + Assume + + c + s + + + is the sRGB component in the range [0,1]. + + + A one-component texture image uses only the red component of the RGBA + color extracted from data. + A two-component image uses the R and A values. + A three-component image uses the R, G, and B values. + A four-component image uses all of the RGBA components. + + + Notes + + The glPixelStorei mode affects texture images. + + + data may be a null pointer. + In this case texture memory is + allocated to accommodate a texture of width width, height height, + and depth depth. + 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. + + + glTexImage3D specifies the two-dimensional array or three-dimensional texture for the + texture object bound to the current texture unit, specified with + glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D + or GL_TEXTURE_2D_ARRAY. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. Format constants other than GL_STENCIL_INDEX and GL_DEPTH_COMPONENT + are accepted. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater than + + + + log + 2 + + + + max + + + , + where max is the returned value of GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if internalFormat is not one of the + accepted resolution and format symbolic constants. + + + GL_INVALID_VALUE is generated if width, height, + or depth is less than 0 or greater than GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if border is not 0 or 1. + + + GL_INVALID_OPERATION is generated if the combination of internalFormat, + format and type is not one of those in the tables above. + + + GL_INVALID_OPERATION is generated if target is GL_TEXTURE_3D and + format is GL_DEPTH_COMPONENT, or GL_DEPTH_STENCIL. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glTexImage3D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glTexParameter.xml b/Source/Bind/Specifications/Docs/ES30/glTexParameter.xml new file mode 100644 index 00000000..851d2f99 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glTexParameter.xml @@ -0,0 +1,1213 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexParameter + 3G + + + glTexParameter + set texture parameters + + C Specification + + + void glTexParameterf + GLenum target + GLenum pname + GLfloat param + + + + + void glTexParameteri + GLenum target + GLenum pname + GLint param + + + + + + void glTexParameterfv + GLenum target + GLenum pname + const GLfloat * params + + + + + void glTexParameteriv + GLenum target + GLenum pname + const GLint * params + + + + Parameters + + + target + + + Specifies the target texture, + which must be either GL_TEXTURE_2D, + GL_TEXTURE_3D, + GL_TEXTURE_2D_ARRAY, + or GL_TEXTURE_CUBE_MAP. + + + + + pname + + + Specifies the symbolic name of a single-valued texture parameter. + pname can be one of the following: + GL_TEXTURE_BASE_LEVEL, + GL_TEXTURE_COMPARE_FUNC, + GL_TEXTURE_COMPARE_MODE, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_MAX_LEVEL, + GL_TEXTURE_SWIZZLE_R, + GL_TEXTURE_SWIZZLE_G, + GL_TEXTURE_SWIZZLE_B, + GL_TEXTURE_SWIZZLE_A, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, or + GL_TEXTURE_WRAP_R. + + + + + param + + + Specifies the value of pname. + + + + + params + + + For the vector commands, specifies a pointer to an array + where the value or values of + pname are stored. + + + + + + Description + + glTexParameter assigns the value or values in params to the texture parameter + specified as pname. + target defines the target texture, + either GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, + GL_TEXTURE_2D_ARRAY, or GL_TEXTURE_3D. + The following symbols are accepted in pname: + + + + GL_TEXTURE_BASE_LEVEL + + + Specifies the index of the lowest defined mipmap level. This is an + integer value. The initial value is 0. + + + + + + + + + GL_TEXTURE_COMPARE_FUNC + + + Specifies the comparison operator used when GL_TEXTURE_COMPARE_MODE is + set to GL_COMPARE_REF_TO_TEXTURE. Permissible values are: + + + + + + + + Texture Comparison Function + + + Computed result + + + + + + + GL_LEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + <= + + D + t + + + + + + + r + > + + D + t + + + + + + + + + + + + + + GL_GEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + >= + + D + t + + + + + + + r + < + + D + t + + + + + + + + + + + + + + GL_LESS + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + < + + D + t + + + + + + + r + >= + + D + t + + + + + + + + + + + + + + GL_GREATER + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + > + + D + t + + + + + + + r + <= + + D + t + + + + + + + + + + + + + + GL_EQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + = + + D + t + + + + + + + r + + + D + t + + + + + + + + + + + + + + GL_NOTEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + + + D + t + + + + + + + r + = + + D + t + + + + + + + + + + + + + + GL_ALWAYS + + + + + + result + = + 1.0 + + + + + + + + GL_NEVER + + + + + + result + = + 0.0 + + + + + + + + + where r + is the current interpolated texture coordinate, and + + + D + t + + + is the depth texture value sampled from the currently bound depth texture. + result + is assigned to the the red channel. + + + + + GL_TEXTURE_COMPARE_MODE + + + Specifies the texture comparison mode for currently bound depth textures. + That is, a texture whose internal format is GL_DEPTH_COMPONENT_*; see + glTexImage2D) + Permissible values are: + + + GL_COMPARE_REF_TO_TEXTURE + + + Specifies that the interpolated and clamped + r + texture coordinate should + be compared to the value in the currently bound depth texture. See the + discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison + is evaluated. The result of the comparison is assigned to the red channel. + + + + + GL_NONE + + + Specifies that the red channel should be assigned the + appropriate value from the currently bound depth texture. + + + + + + + + + GL_TEXTURE_MIN_FILTER + + + The texture minifying function is used whenever the level-of-detail function + used when sampling from the texture determines that the texture should be minified. + There are six defined minifying functions. + Two of them use either the nearest texture elements or a weighted average of multiple texture elements + to compute the texture value. + The other four use mipmaps. + + + A mipmap is an ordered set of arrays representing the same image + at progressively lower resolutions. + If the texture has dimensions + + + + 2 + n + + × + 2 + m + + + , + there are + + + + + max + + + n + m + + + + + 1 + + + mipmaps. + The first mipmap is the original texture, + with dimensions + + + + 2 + n + + × + 2 + m + + + . + Each subsequent mipmap has dimensions + + + + 2 + + + k + - + 1 + + + + × + 2 + + + l + - + 1 + + + + + , + where + + + + 2 + k + + × + 2 + l + + + + are the dimensions of the previous mipmap, + until either + + + + k + = + 0 + + + or + + + + l + = + 0 + + . + At that point, + subsequent mipmaps have dimension + + + + 1 + × + 2 + + + l + - + 1 + + + + + + or + + + + 2 + + + k + - + 1 + + + + × + 1 + + + until the final mipmap, + which has dimension + + + + 1 + × + 1 + + . + To define the mipmaps, call glTexImage2D, + glTexImage3D, + or glCopyTexImage2D + with the level argument indicating the order of the mipmaps. + Level 0 is the original texture; + level + + + + max + + + n + m + + + + is the final + + + + 1 + × + 1 + + + mipmap. + + + params supplies a function for minifying the texture as one of the + following: + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the specified texture coordinates. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the specified texture coordinates. + These can include items wrapped or repeated from other parts of a texture, + depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, + and on the exact mapping. + + + + + GL_NEAREST_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element closest to the specified texture coordinates) + to produce a texture value. + + + + + GL_LINEAR_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest to the specified texture coordinates) + to produce a texture value. + + + + + GL_NEAREST_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element closest to the specified texture coordinates ) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + GL_LINEAR_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the texture elements that are closest to the specified texture coordinates) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + + + As more texture elements are sampled in the minification process, + fewer aliasing artifacts will be apparent. + While the GL_NEAREST and GL_LINEAR minification functions can be + faster than the other four, + they sample only one or multiple texture elements to determine the texture value + of the pixel being rendered and can produce moire patterns + or ragged transitions. + The initial value of GL_TEXTURE_MIN_FILTER is + GL_NEAREST_MIPMAP_LINEAR. + + + + + + + + + GL_TEXTURE_MAG_FILTER + + + The texture magnification function is used whenever the level-of-detail function + used when sampling from the texture determines that the texture should be magified. + It sets the texture magnification function to either GL_NEAREST + or GL_LINEAR (see below). GL_NEAREST is generally faster + than GL_LINEAR, + but it can produce textured images with sharper edges + because the transition between texture elements is not as smooth. + The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR. + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the specified texture coordinates. + + + + + GL_LINEAR + + + Returns the weighted average of the texture elements + that are closest to the specified texture coordinates. + These can include items wrapped or repeated from other parts of a texture, + depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, + and on the exact mapping. + + + + + + + + + + + + + GL_TEXTURE_MIN_LOD + + + Sets the minimum level-of-detail parameter. This floating-point value + limits the selection of highest resolution mipmap (lowest mipmap + level). The initial value is -1000. + + + + + + + + + GL_TEXTURE_MAX_LOD + + + Sets the maximum level-of-detail parameter. This floating-point value + limits the selection of the lowest resolution mipmap (highest mipmap + level). The initial value is 1000. + + + + + + + + + GL_TEXTURE_MAX_LEVEL + + + Sets the index of the highest defined mipmap level. This is an integer + value. The initial value is 1000. + + + + + + + + + GL_TEXTURE_SWIZZLE_R + + + Sets the swizzle that will be applied to the r + component of a texel before it is returned to the shader. Valid values for param are GL_RED, + GL_GREEN, GL_BLUE, GL_ALPHA, GL_ZERO and + GL_ONE. + If GL_TEXTURE_SWIZZLE_R is GL_RED, the value for + r will be taken from the first + channel of the fetched texel. + If GL_TEXTURE_SWIZZLE_R is GL_GREEN, the value for + r will be taken from the second + channel of the fetched texel. + If GL_TEXTURE_SWIZZLE_R is GL_BLUE, the value for + r will be taken from the third + channel of the fetched texel. + If GL_TEXTURE_SWIZZLE_R is GL_ALPHA, the value for + r will be taken from the fourth + channel of the fetched texel. + If GL_TEXTURE_SWIZZLE_R is GL_ZERO, the value for + r will be subtituted with + 0. + If GL_TEXTURE_SWIZZLE_R is GL_ONE, the value for + r will be subtituted with + 1 for integer texture components, otherwise + 1.0. + The initial value is GL_RED. + + + + + + + + + GL_TEXTURE_SWIZZLE_G + + + Sets the swizzle that will be applied to the g + component of a texel before it is returned to the shader. Valid values for param and their effects are similar to + those of GL_TEXTURE_SWIZZLE_R. + The initial value is GL_GREEN. + + + + + + + + + GL_TEXTURE_SWIZZLE_B + + + Sets the swizzle that will be applied to the b + component of a texel before it is returned to the shader. Valid values for param and their effects are similar to + those of GL_TEXTURE_SWIZZLE_R. + The initial value is GL_BLUE. + + + + + + + + + GL_TEXTURE_SWIZZLE_A + + + Sets the swizzle that will be applied to the a + component of a texel before it is returned to the shader. Valid values for param and their effects are similar to + those of GL_TEXTURE_SWIZZLE_R. + The initial value is GL_ALPHA. + + + + + + + + + + + GL_TEXTURE_WRAP_S + + + Sets the wrap parameter for texture coordinate + s + to either GL_CLAMP_TO_EDGE, + GL_MIRRORED_REPEAT, or + GL_REPEAT. GL_CLAMP_TO_EDGE causes + s + coordinates to be clamped to the + range + + + + + + + 1 + 2N + + + + + 1 + - + + + + 1 + 2N + + + + + + , + where + N + is the size + of the texture in the direction of clamping. + GL_REPEAT causes the + integer part of the + s + coordinate to be ignored; the GL uses only the + fractional part, thereby creating a repeating pattern. + GL_MIRRORED_REPEAT causes the + s + coordinate to be set to the + fractional part of the texture coordinate if the integer part of + s + is + even; if the integer part of + s + is odd, then the + s + texture coordinate is + set to + + + + 1 + - + + frac + + + s + + + + , + where + + + + frac + + + s + + + + represents the fractional part of + s. + Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT. + + + + + + + + + GL_TEXTURE_WRAP_T + + + Sets the wrap parameter for texture coordinate + t + to either GL_CLAMP_TO_EDGE, + GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT. + + + + + + + + + GL_TEXTURE_WRAP_R + + + Sets the wrap parameter for texture coordinate + r + to either GL_CLAMP_TO_EDGE, + GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT. + + + + + + Notes + + Suppose that a program attempts to sample from a texture and + has set GL_TEXTURE_MIN_FILTER to one of the functions that requires a + mipmap. If either the dimensions of the texture images currently defined + (with previous calls to glTexStorage2D, + glTexImage2D, + glTexStorage3D, + glTexImage3D, + or glCopyTexImage2D) do not + follow the proper sequence for mipmaps (described above), or there are + fewer texture images defined than are needed, or the set of texture images + have differing numbers of texture components, then the texture is considered incomplete. + + + Linear filtering accesses the four nearest texture elements only in 2D + textures. In 1D textures, linear filtering accesses the two nearest + texture elements. In 3D textures, linear filtering accesses the eight nearest + texture elements. + + + glTexParameter specifies the texture parameters for the texture object bound to the + active texture unit, specified by calling glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not + one of the accepted defined values. + + + GL_INVALID_ENUM is generated if params should have a defined + constant value (based on the value of pname) and does not. + + + Associated Gets + + glGetTexParameter + + + + API Version Support + + + + + + glTexParameterf + + + + glTexParameterfv + + + + glTexParameteri + + + + glTexParameteriv + + + + + + + See Also + + glActiveTexture, + glBindTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glSamplerParameter, + glTexStorage2D, + glTexImage2D, + glTexStorage3D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glTexStorage2D.xml b/Source/Bind/Specifications/Docs/ES30/glTexStorage2D.xml new file mode 100644 index 00000000..9bc050ec --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glTexStorage2D.xml @@ -0,0 +1,220 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + glTexStorage2D + 3G + + + glTexStorage2D + simultaneously specify storage for all levels of a two-dimensional texture + + C Specification + + + void glTexStorage2D + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specify the target of the operation. target must be + one of GL_TEXTURE_2D, + or GL_TEXTURE_CUBE_MAP. + + + + + levels + + + Specify the number of texture levels. + + + + + internalformat + + + Specifies the sized internal format to be used to store texture image data. + + + + + width + + + Specifies the width of the texture, in texels. + + + + + height + + + Specifies the height of the texture, in texels. + + + + + + Description + + glTexStorage2D specifies the storage requirements for all levels + of a two-dimensional texture simultaneously. Once a texture is specified with this + command, the format and dimensions of all levels become immutable. + The contents of the image may still be modified, however, its storage requirements + may not change. Such a texture is referred to as an immutable-format + texture. + + + The behavior of glTexStorage2D depends on the target parameter. + When target is GL_TEXTURE_2D, + calling glTexStorage2D is equivalent, assuming no errors are generated, + to executing the following pseudo-code: + + for (i = 0; i < levels; i++) + { + glTexImage2D(target, i, internalformat, width, height, 0, format, type, NULL); + width = max(1, (width / 2)); + height = max(1, (height / 2)); + } + + When target is GL_TEXTURE_CUBE_MAP, glTexStorage2D + is equivalent to: + + for (i = 0; i < levels; i++) + { + for (face in (+X, -X, +Y, -Y, +Z, -Z)) + { + glTexImage2D(face, i, internalformat, width, height, 0, format, type, NULL); + } + width = max(1, (width / 2)); + height = max(1, (height / 2)); + } + + Since no texture data is actually provided, the values used in the pseudo-code + for format and type are + irrelevant and may be considered to be any values that are legal for the + chosen internalformat enumerant. internalformat + must be one of the sized internal formats given in Table 1, or one of the compressed internal + formats given in Table 2 below. Upon success, + the value of GL_TEXTURE_IMMUTABLE_FORMAT becomes + GL_TRUE. The value of GL_TEXTURE_IMMUTABLE_FORMAT + may be discovered by calling glGetTexParameter + with pname set to GL_TEXTURE_IMMUTABLE_FORMAT. + No further changes to the dimensions or format of the texture object may be + made. Using any command that might alter the dimensions or format of the + texture object (such as glTexImage2D or + another call to glTexStorage2D) will result in the + generation of a GL_INVALID_OPERATION error, even if it + would not, in fact, alter the dimensions or format of the object. + + + + + + + + + Errors + + GL_INVALID_OPERATION is generated if the default texture object is curently bound to target. + + + GL_INVALID_OPERATION is generated if the texture object curently bound to target + already has GL_TEXTURE_IMMUTABLE_FORMAT set to GL_TRUE. + + + GL_INVALID_ENUM is generated if internalformat is not a + valid sized internal format. + + + GL_INVALID_ENUM is generated if target is not + one of the accepted target enumerants. + + + GL_INVALID_VALUE is generated if width, height or + levels are less than 1. + + + + GL_INVALID_OPERATION is generated if levels is greater than + + + + + + + log + 2 + + + + max + + + width + , +   + height + + + + + + + + + 1 + + + . + + + + API Version Support + + + + + + glTexStorage2D + + + + + + + See Also + + glTexImage2D, + glCompressedTexImage2D, + glTexStorage3D. + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glTexStorage3D.xml b/Source/Bind/Specifications/Docs/ES30/glTexStorage3D.xml new file mode 100644 index 00000000..f1069ffe --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glTexStorage3D.xml @@ -0,0 +1,262 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + glTexStorage3D + 3G + + + glTexStorage3D + simultaneously specify storage for all levels of a three-dimensional or two-dimensional array texture + + C Specification + + + void glTexStorage3D + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + + + + Parameters + + + target + + + Specify the target of the operation. target must be + one of GL_TEXTURE_3D, or GL_TEXTURE_2D_ARRAY. + + + + + levels + + + Specify the number of texture levels. + + + + + internalformat + + + Specifies the sized internal format to be used to store texture image data. + + + + + width + + + Specifies the width of the texture, in texels. + + + + + height + + + Specifies the height of the texture, in texels. + + + + + depth + + + Specifies the depth of the texture, in texels. + + + + + + Description + + glTexStorage3D specifies the storage requirements for all levels + of a three-dimensional or two-dimensional array texture simultaneously. Once a texture is specified with this + command, the format and dimensions of all levels become immutable. + The contents of the image may still be modified, however, its storage requirements + may not change. Such a texture is referred to as an immutable-format + texture. + + + The behavior of glTexStorage3D depends on the target parameter. + When target is GL_TEXTURE_3D, + calling glTexStorage3D is equivalent, assuming no errors are generated, + to executing the following pseudo-code: + + for (i = 0; i < levels; i++) + { + glTexImage3D(target, i, internalformat, width, height, depth, 0, format, type, NULL); + width = max(1, (width / 2)); + height = max(1, (height / 2)); + depth = max(1, (depth / 2)); + } + + When target is GL_TEXTURE_2D_ARRAY, glTexStorage3D + is equivalent to: + + for (i = 0; i < levels; i++) + { + glTexImage3D(target, i, internalformat, width, height, depth, 0, format, type, NULL); + width = max(1, (width / 2)); + height = max(1, (height / 2)); + } + + Since no texture data is actually provided, the values used in the pseudo-code + for format and type are + irrelevant and may be considered to be any values that are legal for the + chosen internalformat enumerant. internalformat + must be one of the sized internal formats given in Table 1, or one of the compressed internal + formats given in Table 2 below. Upon success, + the value of GL_TEXTURE_IMMUTABLE_FORMAT becomes + GL_TRUE. The value of GL_TEXTURE_IMMUTABLE_FORMAT + may be discovered by calling glGetTexParameter + with pname set to GL_TEXTURE_IMMUTABLE_FORMAT. + No further changes to the dimensions or format of the texture object may be + made. Using any command that might alter the dimensions or format of the + texture object (such as glTexImage3D or + another call to glTexStorage3D) will result in the + generation of a GL_INVALID_OPERATION error, even if it + would not, in fact, alter the dimensions or format of the object. + + + + + + + + + Errors + + GL_INVALID_OPERATION is generated if the default texture object is curently bound to target. + + + GL_INVALID_OPERATION is generated if the texture object curently bound to target + already has GL_TEXTURE_IMMUTABLE_FORMAT set to GL_TRUE. + + + GL_INVALID_ENUM is generated if internalformat is not a + valid sized internal format. + + + GL_INVALID_ENUM is generated if target is not + one of the accepted target enumerants. + + + GL_INVALID_VALUE is generated if width, height, + depth or levels are less than 1. + + + GL_INVALID_OPERATION is generated if target is GL_TEXTURE_3D + and levels is greater than + + + + + + + log + 2 + + + + max + + + width + , +   + height + , +   + depth + + + + + + + + + 1 + + + . + + + GL_INVALID_OPERATION is generated if target is GL_TEXTURE_2D_ARRAY + and levels is greater than + + + + + + + log + 2 + + + + max + + + width + , +   + height + + + + + + + + + 1 + + + . + + + + API Version Support + + + + + + glTexStorage3D + + + + + + + See Also + + glTexImage3D, + glCompressedTexImage3D, + glTexStorage2D. + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES30/glTexSubImage2D.xml new file mode 100644 index 00000000..ab40c27c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glTexSubImage2D.xml @@ -0,0 +1,373 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexSubImage2D + 3G + + + glTexSubImage2D + specify a two-dimensional texture subimage + + C Specification + + + void glTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_DEPTH_COMPONENT, + GL_DEPTH_STENCIL, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_HALF_FLOAT, + GL_FLOAT, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_INT_2_10_10_10_REV, + GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_5_9_9_9_REV, + GL_UNSIGNED_INT_24_8, and + GL_FLOAT_32_UNSIGNED_INT_24_8_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glTexSubImage2D redefines a contiguous subregion of an existing two-dimensional + texture image. + The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive, + and y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive. + This region may not include any texels outside the range of the + texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glPixelStorei modes affect texture images. + + + glTexSubImage2D specifies a two-dimensional subtexture for the texture object bound to the + current texture unit, specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + 0 + + + , + + + + + + xoffset + + + width + + + > + + w + + + , + + + + yoffset + < + + 0 + + + , + or + + + + + + yoffset + + + height + + + > + + h + + + , + where + w + is the GL_TEXTURE_WIDTH, and + h + is the GL_TEXTURE_HEIGHT + of the texture image being modified. + + + GL_INVALID_VALUE is generated if width or height is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage2D or + glTexStorage2D operation. + + + GL_INVALID_OPERATION is generated if the combination of internalFormat of the + previously specified texture array, format and type is not valid. See + glTexImage2D. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glTexSubImage2D + + + + + + + See Also + + glActiveTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexStorage2D, + glTexStorage3D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glTexSubImage3D.xml b/Source/Bind/Specifications/Docs/ES30/glTexSubImage3D.xml new file mode 100644 index 00000000..fbeaac45 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glTexSubImage3D.xml @@ -0,0 +1,422 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexSubImage3D + 3G + + + glTexSubImage3D + specify a three-dimensional texture subimage + + C Specification + + + void glTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + zoffset + + + Specifies a texel offset in the z direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + depth + + + Specifies the depth of the texture subimage. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_DEPTH_COMPONENT, + GL_DEPTH_STENCIL, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_HALF_FLOAT, + GL_FLOAT, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_INT_2_10_10_10_REV, + GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_5_9_9_9_REV, + GL_UNSIGNED_INT_24_8, and + GL_FLOAT_32_UNSIGNED_INT_24_8_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glTexSubImage3D redefines a contiguous subregion of an existing three-dimensional + or two-dimensional array texture image. + The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive, + y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive, + and z indices zoffset and + + + + zoffset + + + depth + - + 1 + + , + inclusive. + This region may not include any texels outside the range of the + texture array as it was originally specified. + It is not an error to specify a subtexture with zero width, height, or + depth but such a specification has no effect. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + The glPixelStorei modes affect texture images. + + + glTexSubImage3D specifies a three-dimensional subtexture for the texture object bound to the + current texture unit, specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D or + GL_TEXTURE_2D_ARRAY. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + 0 + + + , + + + + + + xoffset + + + width + + + > + + w + + + , + + + + yoffset + < + + 0 + + + , + or + + + + + + yoffset + + + height + + + > + + h + + + , + or + + + + zoffset + < + + 0 + + + , + or + + + + + + zoffset + + + depth + + + > + + d + + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + d + is the GL_TEXTURE_DEPTH of the texture image being modified. + + + GL_INVALID_VALUE is generated if width, height, or depth + is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage3D or + glTexStorage3D operation. + + + GL_INVALID_OPERATION is generated if the combination of internalFormat of the + previously specified texture array, format and type is not valid. See + glTexImage3D. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glTexSubImage3D + + + + + + + See Also + + glActiveTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexStorage2D, + glTexStorage3D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glTransformFeedbackVaryings.xml b/Source/Bind/Specifications/Docs/ES30/glTransformFeedbackVaryings.xml new file mode 100644 index 00000000..c01fdcd4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glTransformFeedbackVaryings.xml @@ -0,0 +1,159 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glTransformFeedbackVaryings + 3G + + + glTransformFeedbackVaryings + specify values to record in transform feedback buffers + + C Specification + + + void glTransformFeedbackVaryings + GLuint program + GLsizei count + const char ** varyings + GLenum bufferMode + + + + Parameters + + + program + + + The name of the target program object. + + + + + count + + + The number of varying variables used for transform feedback. + + + + + varyings + + + An array of count zero-terminated strings specifying the + names of the varying variables to use for transform feedback. + + + + + bufferMode + + + Identifies the mode used to capture the varying variables when transform feedback is active. + bufferMode must be GL_INTERLEAVED_ATTRIBS or GL_SEPARATE_ATTRIBS. + + + + + + Description + + The names of the vertex shader outputs to be recorded in transform feedback mode + are specified using glTransformFeedbackVaryings .Transform feedback + records the values of the selected vertex shader outputs. + + + The state set by glTranformFeedbackVaryings is stored and takes effect + next time glLinkProgram is called + on program. When glLinkProgram + is called, program is linked so that the values of the specified varying variables + for the vertices of each primitive generated by the GL are written to a single buffer + object if bufferMode is GL_INTERLEAVED_ATTRIBS or multiple + buffer objects if bufferMode is GL_SEPARATE_ATTRIBS. + + + In addition to the errors generated by glTransformFeedbackVaryings, the + program program will fail to link if: + + + + Any variable name specified in the varyings array is not declared as an output + in the vertex shader. + + + + + Any two entries in the varyings array specify the same varying variable. + + + + + The total number of components to capture in any varying variable in varyings + is greater than the constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS + and the buffer mode is GL_SEPARATE_ATTRIBS. + + + + + The total number of components to capture is greater than the constant + GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS and the buffer + mode is GL_INTERLEAVED_ATTRIBS. + + + + + + Errors + + GL_INVALID_VALUE is generated if program is not + the name of a program object. + + + GL_INVALID_VALUE is generated if bufferMode is GL_SEPARATE_ATTRIBS + and count is greater than the implementation-dependent limit GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS. + + + Associated Gets + + glGetTransformFeedbackVarying + + + + API Version Support + + + + + + glTransformFeedbackVaryings + + + + + + + See Also + + glBeginTransformFeedback, + glEndTransformFeedback, + glGetTransformFeedbackVarying + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glUniform.xml b/Source/Bind/Specifications/Docs/ES30/glUniform.xml new file mode 100644 index 00000000..80369824 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glUniform.xml @@ -0,0 +1,681 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glUniform + 3G + + + glUniform + glUniform1f + glUniform2f + glUniform3f + glUniform4f + glUniform1i + glUniform2i + glUniform3i + glUniform4i + glUniform1ui + glUniform2ui + glUniform3ui + glUniform4ui + glUniform1fv + glUniform2fv + glUniform3fv + glUniform4fv + glUniform1iv + glUniform2iv + glUniform3iv + glUniform4iv + glUniform1uiv + glUniform2uiv + glUniform3uiv + glUniform4uiv + glUniformMatrix2fv + glUniformMatrix3fv + glUniformMatrix4fv + glUniformMatrix2x3fv + glUniformMatrix3x2fv + glUniformMatrix2x4fv + glUniformMatrix4x2fv + glUniformMatrix3x4fv + glUniformMatrix4x3fv + Specify the value of a uniform variable for the current program object + + C Specification + + + void glUniform1f + GLint location + GLfloat v0 + + + void glUniform2f + GLint location + GLfloat v0 + GLfloat v1 + + + void glUniform3f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glUniform4f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glUniform1i + GLint location + GLint v0 + + + void glUniform2i + GLint location + GLint v0 + GLint v1 + + + void glUniform3i + GLint location + GLint v0 + GLint v1 + GLint v2 + + + void glUniform4i + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + void glUniform1ui + GLint location + GLuint v0 + + + void glUniform2ui + GLint location + GLuint v0 + GLuint v1 + + + void glUniform3ui + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + + + void glUniform4ui + GLint location + GLint v0 + GLuint v1 + GLuint v2 + GLuint v3 + + + + void glUniform1fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform2fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform3fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform4fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform1iv + GLint location + GLsizei count + const GLint *value + + + void glUniform2iv + GLint location + GLsizei count + const GLint *value + + + void glUniform3iv + GLint location + GLsizei count + const GLint *value + + + void glUniform4iv + GLint location + GLsizei count + const GLint *value + + + void glUniform1uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform2uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform3uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform4uiv + GLint location + GLsizei count + const GLuint *value + + + + void glUniformMatrix2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix2x3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3x2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix2x4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4x2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3x4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4x3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + Parameters + + + location + + Specifies the location of the uniform variable + to be modified. + + + + count + + + For the vector (glUniform*v) commands, + specifies the number of elements that are to be modified. + This should be 1 if the targeted uniform variable is not an + array, and 1 or more if it is an array. + + + For the matrix (glUniformMatrix*) + commands, specifies the number of matrices that are to be + modified. This should be 1 if the targeted uniform variable + is not an array of matrices, and 1 or more if it is an array + of matrices. + + + + + transpose + + + For the matrix commands, specifies whether to transpose the + matrix as the values are loaded into the uniform variable. + + + + + + v0, + v1, + v2, + v3 + + + + For the scalar commands, specifies the new values to be used + for the specified uniform variable. + + + + + value + + + For the vector and matrix commands, specifies a pointer to + an array of count values that will be + used to update the specified uniform variable. + + + + + + Description + glUniform* modifies the value of a + uniform variable or a uniform variable array in the default + uniform block. The location of + the uniform variable to be modified is specified by + location, which should be a value + returned by + glGetUniformLocation. + glUniform operates on the program object + that was made part of current state by calling + glUseProgram. + + The commands glUniform{1|2|3|4}{f|i|ui} + are used to change the value of the uniform variable specified + by location using the values passed as + arguments. The number specified in the command should match the + number of components in the data type of the specified uniform + variable (e.g., 1 for float, int, unsigned int, bool; + 2 for vec2, ivec2, uvec2, bvec2, etc.). The suffix + f indicates that floating-point values are + being passed; the suffix i indicates that + integer values are being passed; the suffix ui indicates that + unsigned integer values are being passed, and this type should also match + the data type of the specified uniform variable. The + i variants of this function should be used + to provide values for uniform variables defined as int, ivec2, + ivec3, ivec4, or arrays of these. The + ui variants of this function should be used + to provide values for uniform variables defined as unsigned int, uvec2, + uvec3, uvec4, or arrays of these. The f + variants should be used to provide values for uniform variables + of type float, vec2, vec3, vec4, or arrays of these. Either the + i, ui or f variants + may be used to provide values for uniform variables of type + bool, bvec2, bvec3, bvec4, or arrays of these. The uniform + variable will be set to false if the input value is 0 or 0.0f, + and it will be set to true otherwise. + + All active uniform variables defined in a program object + are initialized to 0 when the program object is linked + successfully. They retain the values assigned to them by a call + to glUniform until the next successful + link operation occurs on the program object, when they are once + again initialized to 0. + + The commands glUniform{1|2|3|4}{f|i|ui}v + can be used to modify a single uniform variable or a uniform + variable array. These commands pass a count and a pointer to the + values to be loaded into a uniform variable or a uniform + variable array. A count of 1 should be used if modifying the + value of a single uniform variable, and a count of 1 or greater + can be used to modify an entire array or part of an array. When + loading n elements starting at an arbitrary + position m in a uniform variable array, + elements m + n - 1 in + the array will be replaced with the new values. If + m + n - 1 is + larger than the size of the uniform variable array, values for + all array elements beyond the end of the array will be ignored. + The number specified in the name of the command indicates the + number of components for each element in + value, and it should match the number of + components in the data type of the specified uniform variable + (e.g., 1 for float, int, bool; + 2 for vec2, ivec2, bvec2, etc.). The data + type specified in the name of the command must match the data + type for the specified uniform variable as described previously + for glUniform{1|2|3|4}{f|i|ui}. + + For uniform variable arrays, each element of the array is + considered to be of the type indicated in the name of the + command (e.g., glUniform3f or + glUniform3fv can be used to load a uniform + variable array of type vec3). The number of elements of the + uniform variable array to be modified is specified by + count + + The commands + glUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv + are used to modify a matrix or an array of matrices. The numbers in the + command name are interpreted as the dimensionality of the matrix. + The number 2 indicates a 2 × 2 matrix + (i.e., 4 values), the number 3 indicates a + 3 × 3 matrix (i.e., 9 values), and the number + 4 indicates a 4 × 4 matrix (i.e., 16 + values). Non-square matrix dimensionality is explicit, with the first + number representing the number of columns and the second number + representing the number of rows. For example, + 2x4 indicates a 2 × 4 matrix with 2 columns + and 4 rows (i.e., 8 values). + If transpose is + GL_FALSE, each matrix is assumed to be + supplied in column major order. If + transpose is + GL_TRUE, each matrix is assumed to be + supplied in row major order. The count + argument indicates the number of matrices to be passed. A count + of 1 should be used if modifying the value of a single matrix, + and a count greater than 1 can be used to modify an array of + matrices. + + Notes + glUniform1i and + glUniform1iv are the only two functions + that may be used to load uniform variables defined as sampler + types. Loading samplers with any other function will result in a + GL_INVALID_OPERATION error. + + If count is greater than 1 and the + indicated uniform variable is not an array, a + GL_INVALID_OPERATION error is generated and the + specified uniform variable will remain unchanged. + + Other than the preceding exceptions, if the type and size + of the uniform variable as defined in the shader do not match + the type and size specified in the name of the command used to + load its value, a GL_INVALID_OPERATION error will + be generated and the specified uniform variable will remain + unchanged. + + If location is a value other than + -1 and it does not represent a valid uniform variable location + in the current program object, an error will be generated, and + no changes will be made to the uniform variable storage of the + current program object. If location is + equal to -1, the data passed in will be silently ignored and the + specified uniform variable will not be changed. + + Errors + GL_INVALID_OPERATION is generated if there + is no current program object. + + GL_INVALID_OPERATION is generated if the + size of the uniform variable declared in the shader does not + match the size indicated by the glUniform + command. + + GL_INVALID_OPERATION is generated if one of + the signed or unsigned integer variants of this function is used to load a uniform + variable of type float, vec2, vec3, vec4, or an array of these, + or if one of the floating-point variants of this function is + used to load a uniform variable of type int, ivec2, ivec3, + ivec4, unsigned int, uvec2, uvec3, + uvec4, or an array of these. + + GL_INVALID_OPERATION is generated if one of + the signed integer variants of this function is used to load a uniform + variable of type unsigned int, uvec2, uvec3, + uvec4, or an array of these. + + GL_INVALID_OPERATION is generated if one of + the unsigned integer variants of this function is used to load a uniform + variable of type int, ivec2, ivec3, + ivec4, or an array of these. + + GL_INVALID_OPERATION is generated if + location is an invalid uniform location + for the current program object and + location is not equal to -1. + + GL_INVALID_VALUE is generated if + count is less than 0. + + GL_INVALID_OPERATION is generated if + count is greater than 1 and the indicated + uniform variable is not an array variable. + + GL_INVALID_OPERATION is generated if a + sampler is loaded using a command other than + glUniform1i and + glUniform1iv. + + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveUniform + with the handle of a program object and the index of an active uniform variable + + glGetUniform + with the handle of a program object and the location of a + uniform variable + + glGetUniformLocation + with the handle of a program object and the name of a uniform + variable + + + API Version Support + + + + + + glUniform1f + + + + glUniform2f + + + + glUniform3f + + + + glUniform4f + + + + glUniform1i + + + + glUniform2i + + + + glUniform3i + + + + glUniform4i + + + + glUniform1ui + + + + glUniform2ui + + + + glUniform3ui + + + + glUniform4ui + + + + glUniform1fv + + + + glUniform2fv + + + + glUniform3fv + + + + glUniform4fv + + + + glUniform1iv + + + + glUniform2iv + + + + glUniform3iv + + + + glUniform4iv + + + + glUniform1uiv + + + + glUniform2uiv + + + + glUniform3uiv + + + + glUniform4uiv + + + + glUniformMatrix2fv + + + + glUniformMatrix3fv + + + + glUniformMatrix4fv + + + + glUniformMatrix2x3fv + + + + glUniformMatrix3x2fv + + + + glUniformMatrix2x4fv + + + + glUniformMatrix4x2fv + + + + glUniformMatrix3x4fv + + + + glUniformMatrix4x3fv + + + + + + + See Also + glLinkProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glUniformBlockBinding.xml b/Source/Bind/Specifications/Docs/ES30/glUniformBlockBinding.xml new file mode 100644 index 00000000..2a406aa9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glUniformBlockBinding.xml @@ -0,0 +1,123 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glUniformBlockBinding + 3G + + + glUniformBlockBinding + assign a binding point to an active uniform block + + C Specification + + + void glUniformBlockBinding + GLuint program + GLuint uniformBlockIndex + GLuint uniformBlockBinding + + + + Parameters + + + program + + + The name of a program object containing the active uniform block whose binding to assign. + + + + + uniformBlockIndex + + + The index of the active uniform block within program whose binding to assign. + + + + + uniformBlockBinding + + + Specifies the binding point to which to bind the uniform block with index uniformBlockIndex within program. + + + + + + Description + + Binding points for active uniform blocks are assigned using glUniformBlockBinding. Each of a program's active uniform + blocks has a corresponding uniform buffer binding point. program is the name of a program object for which the command + glLinkProgram has been issued in the past. + + + If successful, glUniformBlockBinding specifies that program will use the data store of the + buffer object bound to the binding point uniformBlockBinding to extract the values of the uniforms in the + uniform block identified by uniformBlockIndex. + + + When a program object is linked or re-linked, the uniform buffer object binding point assigned to each of its active uniform blocks is reset to zero. + + + Errors + + GL_INVALID_VALUE is generated if uniformBlockIndex is not an active uniform block index of program. + + + GL_INVALID_VALUE is generated if uniformBlockBinding is greater than or equal to the value of GL_MAX_UNIFORM_BUFFER_BINDINGS. + + + GL_INVALID_VALUE is generated if program is not the name of a program object generated by the GL. + + + Associated Gets + + glGet with argument GL_MAX_UNIFORM_BUFFER_BINDINGS + + + glGetActiveUniformBlockiv with argument GL_UNIFORM_BLOCK_BINDING + + + + API Version Support + + + + + + glUniformBlockBinding + + + + + + + See Also + + glLinkProgram, + glBindBufferBase, + glBindBufferRange, + glGetActiveUniformBlockiv + + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glUseProgram.xml b/Source/Bind/Specifications/Docs/ES30/glUseProgram.xml new file mode 100644 index 00000000..c6aa30c2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glUseProgram.xml @@ -0,0 +1,187 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glUseProgram + 3G + + + glUseProgram + Installs a program object as part of current rendering state + + C Specification + + + void glUseProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object + whose executables are to be used as part of current + rendering state. + + + + + Description + glUseProgram installs the program + object specified by program as part of + current rendering state. One or more executables are created in + a program object by successfully attaching shader objects to it + with + glAttachShader, + successfully compiling the shader objects with + glCompileShader, + and successfully linking the program object with + glLinkProgram. + + + A program object will contain an executable that will run + on the vertex processor if it contains a shader + object of type GL_VERTEX_SHADER that has + been successfully compiled and linked. + Similarly, a program object will contain an executable that will run on the + fragment processor if it contains a shader object of type + GL_FRAGMENT_SHADER that has been + successfully compiled and linked. + + While a program object is in use, applications are free to + modify attached shader objects, compile attached shader objects, + attach additional shader objects, and detach or delete shader + objects. None of these operations will affect the executables + that are part of the current state. However, relinking the + program object that is currently in use will install the program + object as part of the current rendering state if the link + operation was successful (see + glLinkProgram + ). If the program object currently in use is relinked + unsuccessfully, its link status will be set to + GL_FALSE, but the executables and + associated state will remain part of the current state until a + subsequent call to glUseProgram removes it + from use. After it is removed from use, it cannot be made part + of current state until it has been successfully relinked. + + If program is zero, then the current rendering + state refers to an invalid program object and the + results of shader execution are undefined. However, this is not an error. + + + Notes + Like buffer and texture objects, the name space for + program objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + + Errors + GL_INVALID_VALUE is generated if + program is neither 0 nor a value + generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program could not be made part of current + state. + + GL_INVALID_OPERATION is generated if + transform feedback mode is active and not paused. + + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with a valid program object and the index of an active attribute + variable + + glGetActiveUniform + with a valid program object and the index of an active uniform + variable + + glGetAttachedShaders + with a valid program object + + glGetAttribLocation + with a valid program object and the name of an attribute + variable + + glGetProgramiv + with a valid program object and the parameter to be queried + + glGetProgramInfoLog + with a valid program object + + glGetUniform + with a valid program object and the location of a uniform + variable + + glGetUniformLocation + with a valid program object and the name of a uniform + variable + + glIsProgram + + + API Version Support + + + + + + glUseProgram + + + + + + + See Also + glAttachShader, + glBindAttribLocation, + glCompileShader, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glValidateProgram, + glVertexAttrib + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glValidateProgram.xml b/Source/Bind/Specifications/Docs/ES30/glValidateProgram.xml new file mode 100644 index 00000000..2e7d1d10 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glValidateProgram.xml @@ -0,0 +1,145 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glValidateProgram + 3G + + + glValidateProgram + Validates a program object + + C Specification + + + void glValidateProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object to + be validated. + + + + + Description + glValidateProgram checks to see + whether the executables contained in + program can execute given the current + OpenGL state. The information generated by the validation + process will be stored in program's + information log. The validation information may consist of an + empty string, or it may be a string containing information about + how the current program object interacts with the rest of + current OpenGL state. This provides a way for OpenGL + implementers to convey more information about why the current + program is inefficient, suboptimal, failing to execute, and so + on. + + The status of the validation operation will be stored as + part of the program object's state. This value will be set to + GL_TRUE if the validation succeeded, and + GL_FALSE otherwise. It can be queried by + calling + glGetProgramiv + with arguments program and + GL_VALIDATE_STATUS. If validation is + successful, program is guaranteed to + execute given the current state. Otherwise, + program is guaranteed to not execute. + + This function is typically useful only during application + development. The informational string stored in the information + log is completely implementation dependent; therefore, an + application should not expect different OpenGL implementations + to produce identical information strings. + + Notes + This function mimics the validation operation that OpenGL + implementations must perform when rendering commands are issued + while programmable shaders are part of current state. The error + GL_INVALID_OPERATION will be generated by + any command that triggers the rendering of geometry if: + + + + any two active samplers in the current program + object are of different types, but refer to the same + texture image unit, + + + the number of active samplers in the program exceeds the maximum + number of texture image units allowed. + + + + It may be difficult or cause a performance degradation for + applications to catch these errors when rendering commands are + issued. Therefore, applications are advised to make calls to + glValidateProgram to detect these issues + during application development. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + Associated Gets + glGetProgramiv + with arguments program and + GL_VALIDATE_STATUS + + glGetProgramInfoLog + with argument program + + glIsProgram + + + API Version Support + + + + + + glValidateProgram + + + + + + + See Also + glLinkProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glVertexAttrib.xml b/Source/Bind/Specifications/Docs/ES30/glVertexAttrib.xml new file mode 100644 index 00000000..12e55c89 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glVertexAttrib.xml @@ -0,0 +1,332 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glVertexAttrib + 3G + + + glVertexAttrib + Specifies the value of a generic vertex attribute + + C Specification + + + void glVertexAttrib1f + GLuint index + GLfloat v0 + + + void glVertexAttrib2f + GLuint index + GLfloat v0 + GLfloat v1 + + + void glVertexAttrib3f + GLuint index + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glVertexAttrib4f + GLuint index + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glVertexAttribI4i + GLuint index + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + void glVertexAttribI4ui + GLuint index + GLuint v0 + GLuint v1 + GLuint v2 + GLuint v3 + + + + void glVertexAttrib1fv + GLuint index + const GLfloat *v + + + void glVertexAttrib2fv + GLuint index + const GLfloat *v + + + void glVertexAttrib3fv + GLuint index + const GLfloat *v + + + void glVertexAttrib4fv + GLuint index + const GLfloat *v + + + void glVertexAttribI4iv + GLuint index + const GLint *v + + + void glVertexAttribI4uiv + GLuint index + const GLuint *v + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + + v0, + v1, + v2, + v3 + + + + For the scalar commands, specifies the new values to be used + for the specified vertex attribute. + + + + + v + + + For the vector commands + (glVertexAttrib*v), specifies a pointer + to an array of values to be used for the generic vertex + attribute. + + + + + + Description + The glVertexAttrib family of entry points + allows an application to pass generic vertex attributes in + numbered locations. + + Generic attributes are defined as four-component values + that are organized into an array. The first entry of this array + is numbered 0, and the size of the array is specified by the + implementation-dependent constant + GL_MAX_VERTEX_ATTRIBS. Individual elements + of this array can be modified with a + glVertexAttrib call that specifies the + index of the element to be modified and a value for that + element. + + These commands can be used to specify one, two, three, or + all four components of the generic vertex attribute specified by + index. A 1 in the + name of the command indicates that only one value is passed, and + it will be used to modify the first component of the generic + vertex attribute. The second and third components will be set to + 0, and the fourth component will be set to 1. Similarly, a + 2 in the name of the command indicates that + values are provided for the first two components, the third + component will be set to 0, and the fourth component will be set + to 1. A 3 in the name of the command + indicates that values are provided for the first three + components and the fourth component will be set to 1, whereas a + 4 in the name indicates that values are + provided for all four components. + + The letters f, i, + and ui indicate + whether the arguments are of type float, int, or unsigned int. When + v is appended to the name, the commands can + take a pointer to an array of such values. + + Additional capitalized letters can indicate further alterations + to the default behavior of the glVertexAttrib function: + + + The commands containing I indicate that + the arguments are extended to full signed or unsigned integers. + + + OpenGL ES Shading Language attribute variables are allowed to + be of type mat2, mat3, or mat4. Attributes of these types may be + loaded using the glVertexAttrib entry + points. Matrices must be loaded into successive generic + attribute slots in column major order, with one column of the + matrix in each generic attribute slot. + + A user-defined attribute variable declared in a vertex + shader can be bound to a generic attribute index by calling + glBindAttribLocation. + This allows an application to use more descriptive variable + names in a vertex shader. A subsequent change to the specified + generic vertex attribute will be immediately reflected as a + change to the corresponding attribute variable in the vertex + shader. + + The binding between a generic vertex attribute index and a + user-defined attribute variable in a vertex shader is part of + the state of a program object, but the current value of the + generic vertex attribute is not. The value of each generic + vertex attribute is part of current state, and it is maintained + even if a different program object is used. + + An application may freely modify generic vertex attributes + that are not bound to a named vertex shader attribute variable. + These values are simply maintained as part of current state and + will not be accessed by the vertex shader. If a generic vertex + attribute bound to an attribute variable in a vertex shader is + not updated while the vertex shader is executing, the vertex + shader will repeatedly use the current value for the generic + vertex attribute. + + Notes + Generic vertex attributes can be updated at any time. + + It is possible for an application to bind more than one + attribute name to the same generic vertex attribute index. This + is referred to as aliasing, and it is allowed only if just one + of the aliased attribute variables is active in the vertex + shader, or if no path through the vertex shader consumes more + than one of the attributes aliased to the same location. OpenGL + implementations are not required to do error checking to detect + aliasing, they are allowed to assume that aliasing will not + occur, and they are allowed to employ optimizations that work + only in the absence of aliasing. + + The resulting attribute values are undefined if the base + type of the shader attribute at slot index + does not match the type of glUniform command used. + If the attribute is floating point, the glUniform*f[v] commands + should be used. If the attribute is unsigned integer, + the glUniformI4ui* commands should be used. If the attribute is + a signed integer, the glUniformI4i* commands should be used. + + + + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with argument program and the index of an active + attribute variable + + glGetAttribLocation + with argument program and an attribute + variable name + + glGetVertexAttrib + with arguments GL_CURRENT_VERTEX_ATTRIB and + index + + + API Version Support + + + + + + glVertexAttrib1f + + + + glVertexAttrib2f + + + + glVertexAttrib3f + + + + glVertexAttrib4f + + + + glVertexAttribI4i + + + + glVertexAttribI4ui + + + + glVertexAttrib1fv + + + + glVertexAttrib2fv + + + + glVertexAttrib3fv + + + + glVertexAttrib4fv + + + + glVertexAttribI4iv + + + + glVertexAttribI4uiv + + + + + + + See Also + glBindAttribLocation, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glVertexAttribDivisor.xml b/Source/Bind/Specifications/Docs/ES30/glVertexAttribDivisor.xml new file mode 100644 index 00000000..e0a9fc8d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glVertexAttribDivisor.xml @@ -0,0 +1,99 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glVertexAttribDivisor + 3G + + + glVertexAttribDivisor + modify the rate at which generic vertex attributes advance during instanced rendering + + C Specification + + + void glVertexAttribDivisor + GLuint index + GLuint divisor + + + + Parameters + + + index + + + Specify the index of the generic vertex attribute. + + + + + divisor + + + Specify the number of instances that will pass between updates of the generic attribute at slot index. + + + + + + Description + + glVertexAttribDivisor modifies the rate at which generic vertex attributes advance when rendering + multiple instances of primitives in a single draw call (see glDrawArraysInstanced and + glDrawElementsInstanced). If divisor is zero, the attribute at slot + index advances once per vertex. If divisor is non-zero, the attribute advances + once per divisor instances of the set(s) of vertices being rendered. An attribute + is referred to as instanced if its GL_VERTEX_ATTRIB_ARRAY_DIVISOR value is non-zero. + + + index must be less than the value of GL_MAX_VERTEX_ATTRIBUTES. + + + Errors + + GL_INVALID_VALUE is generated if index is greater + than or equal to the value of GL_MAX_VERTEX_ATTRIBUTES. + + + + API Version Support + + + + + + glVertexAttribDivisor + + + + + + + See Also + + glDrawArraysInstanced, + glDrawElementsInstanced, + glVertexAttribPointer, + glEnableVertexAttribArray, + glDisableVertexAttribArray + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glVertexAttribPointer.xml b/Source/Bind/Specifications/Docs/ES30/glVertexAttribPointer.xml new file mode 100644 index 00000000..21f18b8b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glVertexAttribPointer.xml @@ -0,0 +1,262 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glVertexAttribPointer + 3G + + + glVertexAttribPointer + define an array of generic vertex attribute data + + C Specification + + + void glVertexAttribPointer + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + const GLvoid * pointer + + + void glVertexAttribIPointer + GLuint index + GLint size + GLenum type + GLsizei stride + const GLvoid * pointer + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + size + + Specifies the number of components per + generic vertex attribute. Must + be 1, 2, 3, 4. The initial value is 4. + + + + type + + Specifies the data type of each component in + the array. The symbolic constants + GL_BYTE, + GL_UNSIGNED_BYTE, + GL_SHORT, + GL_UNSIGNED_SHORT, + GL_INT, and + GL_UNSIGNED_INT are accepted by both functions. Additionally + GL_HALF_FLOAT, + GL_FLOAT, + GL_FIXED, + GL_INT_2_10_10_10_REV, and + GL_UNSIGNED_INT_2_10_10_10_REV are accepted by glVertexAttribPointer. + The initial value is GL_FLOAT. + + + + normalized + + For glVertexAttribPointer, specifies whether fixed-point data values + should be normalized (GL_TRUE) + or converted directly as fixed-point values + (GL_FALSE) when they are + accessed. This parameter is ignored if type is GL_FIXED. + + + + stride + + Specifies the byte offset between consecutive + generic vertex attributes. If stride + is 0, the generic vertex attributes are + understood to be tightly packed in the + array. The initial value is 0. + + + + pointer + + Specifies a pointer to the first generic vertex attribute in the array. If a non-zero buffer is currently + bound to the GL_ARRAY_BUFFER target, pointer specifies an offset of + into the array in the data store of that buffer. The initial value is 0. + + + + + Description + + glVertexAttribPointer and glVertexAttribIPointer specify the + location and data format of the array of generic vertex attributes at index index + to use when rendering. size specifies the number of components per attribute and + must be 1, 2, 3 or 4. type specifies the data type + of each component, and stride specifies the byte stride from one attribute to the next, + allowing vertices and attributes to be packed into a single array or stored in separate arrays. + + + For glVertexAttribPointer, if normalized is set to GL_TRUE, + it indicates that values stored in an integer format are to be mapped to the range [-1,1] (for signed values) or [0,1] (for + unsigned values) when they are accessed and converted to floating point. Otherwise, values will + be converted to floats directly without normalization. + + + For glVertexAttribIPointer, only the integer types GL_BYTE, + GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, + GL_INT, GL_UNSIGNED_INT are accepted. Values are always left as integer values. + + + If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target + (see glBindBuffer), + pointer is treated as a byte offset into the buffer object's data store and + the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as generic vertex attribute array + state (GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) for index index. + + + Client vertex arrays (a binding of zero to the GL_ARRAY_BUFFER target) are only valid in + conjunction with the zero named vertex array object. This is provided for backwards compatibility with OpenGL ES 2.0. + + + When a generic vertex attribute array is specified, + size, type, + normalized, + stride, and + pointer are saved as vertex array + state, in addition to the current vertex array buffer object binding. + + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray with index. + If enabled, the generic vertex attribute array is used when glDrawArrays, + glDrawArraysInstanced, glDrawElements, + glDrawElementsIntanced, or glDrawRangeElements + is called. + + + Notes + + Each generic vertex attribute array is initially disabled and isn't accessed when + glDrawElements, glDrawRangeElements, + glDrawArrays, glDrawArraysInstanced, or glDrawElementsInstanced + is called. + + + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_VALUE is generated if + size is not 1, 2, 3 or 4. + + GL_INVALID_ENUM is generated if + type is not an accepted value. + + GL_INVALID_VALUE is generated if + stride is negative. + + GL_INVALID_OPERATION is generated if type + is GL_INT_2_10_10_10_REV or GL_UNSIGNED_INT_2_10_10_10_REV + and size is not 4. + + GL_INVALID_OPERATION is generated a non-zero vertex array + object is bound, zero is bound to the GL_ARRAY_BUFFER buffer object + binding point and the pointer argument is not NULL. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_SIZE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_TYPE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_NORMALIZED + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_STRIDE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + + glGet with argument + GL_ARRAY_BUFFER_BINDING + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + + API Version Support + + + + + + glVertexAttribPointer + + + + glVertexAttribIPointer + + + + + + + See Also + + glBindAttribLocation, + glBindBuffer, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glDrawRangeElements, + glEnableVertexAttribArray, + glDrawArraysInstanced, + glDrawElementsIntanced, + glVertexAttrib + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glViewport.xml b/Source/Bind/Specifications/Docs/ES30/glViewport.xml new file mode 100644 index 00000000..1597b310 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glViewport.xml @@ -0,0 +1,207 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glViewport + 3G + + + glViewport + set the viewport + + C Specification + + + void glViewport + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + x + y + + + Specify the lower left corner of the viewport rectangle, + in pixels. The initial value is (0,0). + + + + + width + height + + + Specify the width and height + of the viewport. + When a GL context is first attached to a window, + width and height are set to the dimensions of that + window. + + + + + + Description + + glViewport specifies the affine transformation of + x + and + y + from + normalized device coordinates to window coordinates. + Let + + + + x + nd + + y + nd + + + + be normalized device coordinates. + Then the window coordinates + + + + x + w + + y + w + + + + are computed as follows: + + + + + + x + w + + = + + + + x + nd + + + + 1 + + + + + + width + 2 + + + + + x + + + + + + + + + y + w + + = + + + + y + nd + + + + 1 + + + + + + height + 2 + + + + + y + + + + + + Viewport width and height are silently clamped + to a range that depends on the implementation. + To query this range, call glGet with argument + GL_MAX_VIEWPORT_DIMS. + + + Errors + + GL_INVALID_VALUE is generated if either width or height is negative. + + + Associated Gets + + glGet with argument GL_VIEWPORT + + + glGet with argument GL_MAX_VIEWPORT_DIMS + + + + API Version Support + + + + + + glViewport + + + + + + + See Also + + glDepthRangef + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/glWaitSync.xml b/Source/Bind/Specifications/Docs/ES30/glWaitSync.xml new file mode 100644 index 00000000..46aa1ff9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/glWaitSync.xml @@ -0,0 +1,112 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glWaitSync + 3G + + + glWaitSync + instruct the GL server to block until the specified sync object becomes signaled + + C Specification + + + void glWaitSync + GLsync sync + GLbitfield flags + GLuint64 timeout + + + + Parameters + + + sync + + + Specifies the sync object whose status to wait on. + + + + + flags + + + A bitfield controlling the command flushing behavior. flags must be zero. + + + + + timeout + + + Specifies the timeout that the server should wait before continuing. timeout must be GL_TIMEOUT_IGNORED. + + + + + + Description + + glWaitSync causes the GL server to block and wait until sync becomes signaled. sync + is the name of an existing sync object upon which to wait. flags and timeout are currently not used and + must be set to zero and the special value GL_TIMEOUT_IGNORED, respectivelyflags and + timeout are placeholders for anticipated future extensions of sync object capabilities. They must have these reserved values in + order that existing code calling glWaitSync operate properly in the presence of such extensions.. glWaitSync will always wait no longer than an implementation-dependent timeout. The + duration of this timeout in nanoseconds may be queried by calling glGet with the + parameter GL_MAX_SERVER_WAIT_TIMEOUT. There is currently no way to determine whether glWaitSync unblocked + because the timeout expired or because the sync object being waited on was signaled. + + + If an error occurs, glWaitSync does not cause the GL server to block. + + + Errors + + GL_INVALID_OPERATION is generated if sync is not the name of a sync object. + + + GL_INVALID_VALUE is generated if flags is not zero. + + + GL_INVALID_VALUE is generated if timeout is not GL_TIMEOUT_IGNORED. + + + + API Version Support + + + + + + glWaitSync + + + + + + + See Also + + glFenceSync, + glClientWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/gl_FragCoord.xml b/Source/Bind/Specifications/Docs/ES30/gl_FragCoord.xml new file mode 100644 index 00000000..1d90c5e9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/gl_FragCoord.xml @@ -0,0 +1,64 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_FragCoord + 3G + + + gl_FragCoord + contains the window-relative coordinates of the current fragment + + + Declaration + + in highp + vec4 + gl_FragCoord + + + Description + + Available only in the fragment language, gl_FragCoord is an input variable that contains the + window relative coordinate (x, y, z, 1/w) values for the fragment. If multi-sampling, + this value can be for any location within the pixel, or one of the fragment samples. + This value is the result of fixed functionality that interpolates primitives after vertex + processing to generate fragments. The z component is the depth value that would be used for the + fragment's depth if no shader contained any writes to gl_FragDepth. + + + Version Support + + + + + + gl_FragCoord + + + + + + + See Also + + gl_FragDepth + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/gl_FragDepth.xml b/Source/Bind/Specifications/Docs/ES30/gl_FragDepth.xml new file mode 100644 index 00000000..cf75ea2a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/gl_FragDepth.xml @@ -0,0 +1,67 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_FragDepth + 3G + + + gl_FragDepth + establishes a depth value for the current fragment + + + Declaration + + out highp + float + gl_FragDepth + + + Description + + Available only in the fragment language, gl_FragDepth is an output variable + that is used to establish the depth value for the current fragment. If depth buffering is enabled + and no shader writes to gl_FragDepth, then the fixed varname value for + depth will be used (this value is contained in the z component of gl_FragCoord) + otherwise, the value written to gl_FragDepth is used. + If a shader statically assigns to gl_FragDepth, then the value of the fragment's depth + may be undefined for executions of the shader that take that path. That is, if the set of linked fragment + shaders statically contain a write to gl_FragDepth, then it is responsible for always + writing it. + + + Version Support + + + + + + gl_FragDepth + + + + + + + See Also + + gl_FragCoord + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/gl_FrontFacing.xml b/Source/Bind/Specifications/Docs/ES30/gl_FrontFacing.xml new file mode 100644 index 00000000..7b46b604 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/gl_FrontFacing.xml @@ -0,0 +1,116 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_FrontFacing + 3G + + + gl_FrontFacing + indicates whether a primitive is front or back facing + + + Declaration + + in + bool + gl_FrontFacing + + + Description + + Available only in the fragment language, gl_FrontFacing is an input variable + whose value is true if the fragment belongs to a front-facing primitive and + false otherwise. The determination of whether a triangle primitive is front-facing is made by + examining the sign of the area of the triangle, including a possible reversal of this sign + as controlled by glFrontFace. One way to compute this area is: + + + + a=12 + + + + j=0 + + + n-1 + + + + x + w + i + + + y + w + i+1 + + - + + x + w + i+1 + + + y + w + i + + + + + where + + + x + w + i + + and + + + y + w + i + + are + the x and y window coordinates of the ith vertex of the n-vertex polygon. + + + Version Support + + + + + + gl_FrontFacing + + + + + + + See Also + + gl_FragCoord + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/gl_InstanceID.xml b/Source/Bind/Specifications/Docs/ES30/gl_InstanceID.xml new file mode 100644 index 00000000..77135d35 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/gl_InstanceID.xml @@ -0,0 +1,63 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_InstanceID + 3G + + + gl_InstanceID + contains the index of the current primitive in an instanced draw command + + + Declaration + + in highp + int + gl_InstanceID + + + Description + + gl_InstanceID is a vertex language input variable that + holds the integer index of the current primitive in an instanced draw + command such as glDrawArraysInstanced. If the current + primitive does not originate from an instanced draw command, the value + of gl_InstanceID is zero. + + + Version Support + + + + + + gl_InstanceID + + + + + + + See Also + + gl_VertexID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/gl_PointCoord.xml b/Source/Bind/Specifications/Docs/ES30/gl_PointCoord.xml new file mode 100644 index 00000000..c776cabc --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/gl_PointCoord.xml @@ -0,0 +1,68 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_PointCoord + 3G + + + gl_PointCoord + contains the coordinate of a fragment within a point + + + Declaration + + in mediump + vec2 + gl_PointCoord + + + Description + + gl_PointCoord is a fragment language input variable that contains + the two-dimensional coordinates indicating where within a point primitive the current + fragment is located. If the current primitive is not a point, then values read + from gl_PointCoord are undefined. + + + gl_PointCoord.s ranges from 0.0 to 1.0 across the point horizontally + from left to right. gl_PointCoord.t varies + from 0.0 to 1.0 vertically from top to bottom. + + + Version Support + + + + + + gl_PointCoord + + + + + + + See Also + + gl_FragCoord, + gl_FragDepth + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/gl_PointSize.xml b/Source/Bind/Specifications/Docs/ES30/gl_PointSize.xml new file mode 100644 index 00000000..1e8f4c71 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/gl_PointSize.xml @@ -0,0 +1,62 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_PointSize + 3G + + + gl_PointSize + contains size of rasterized points, in pixels + + + Declaration + + out highp + float + gl_PointSize + + + Description + + The variable gl_PointSize is intended for a vertex shader to write + the size of the point to be rasterized. It is measured in pixels. + If gl_PointSize is not written to, its value is undefined in subsequent + pipeline stages. + + + Version Support + + + + + + gl_PointSize + + + + + + + See Also + + gl_Position + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/gl_Position.xml b/Source/Bind/Specifications/Docs/ES30/gl_Position.xml new file mode 100644 index 00000000..c8528a35 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/gl_Position.xml @@ -0,0 +1,64 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_Position + 3G + + + gl_Position + contains the position of the current vertex + + + Declaration + + out highp + vec4 + gl_Position + + + Description + + The variable gl_Position is intended for writing the homogeneous + vertex position. It can be written at any time during vertexshader execution. This value + will be used by primitive assembly, clipping, culling, and other fixed functionality + operations, if present, that operate on primitives after vertex processing has occurred. + Its value is undefined after the vertex processing stage if the vertex shader executable + does not write gl_Position. + + + Version Support + + + + + + gl_Position + + + + + + + See Also + + gl_PointSize + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES30/gl_VertexID.xml b/Source/Bind/Specifications/Docs/ES30/gl_VertexID.xml new file mode 100644 index 00000000..9fa95026 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES30/gl_VertexID.xml @@ -0,0 +1,63 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_VertexID + 3G + + + gl_VertexID + contains the index of the current vertex + + + Declaration + + in highp + int + gl_VertexID + + + Description + + gl_VertexID is a vertex language input variable that holds an + integer index for the vertex. The index is impliclty generated by glDrawArrays + and other commands that do not reference the content of the GL_ELEMENT_ARRAY_BUFFER, or + explicitly generated from the content of the GL_ELEMENT_ARRAY_BUFFER + by commands such as glDrawElements. + + + Version Support + + + + + + gl_VertexID + + + + + + + See Also + + gl_InstanceID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glActiveShaderProgram.xml b/Source/Bind/Specifications/Docs/ES31/glActiveShaderProgram.xml new file mode 100644 index 00000000..80ae8945 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glActiveShaderProgram.xml @@ -0,0 +1,101 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glActiveShaderProgram + 3G + + + glActiveShaderProgram + set the active program object for a program pipeline object + + + C Specification + + + void glActiveShaderProgram + GLuint pipeline + GLuint program + + + + Parameters + + + pipeline + + + Specifies the program pipeline object to set the active program object for. + + + + + program + + + Specifies the program object to set as the active program pipeline object pipeline. + + + + + + Description + + glActiveShaderProgram sets the linked program named by program + to be the active program for the program pipeline object pipeline. The active + program in the active program pipeline object is the target of calls to glUniform + when no program has been made current through a call to glUseProgram. + + + Errors + + GL_INVALID_OPERATION is generated if pipeline is not + a name previously returned from a call to glGenProgramPipelines + or if such a name has been deleted by a call to + glDeleteProgramPipelines. + + + GL_INVALID_OPERATION is generated if program refers + to a program object that has not been successfully linked. + + + + API Version Support + + + + + + glActiveShaderProgram + + + + + + + See Also + + glGenProgramPipelines, + glDeleteProgramPipelines, + glIsProgramPipeline, + glUseProgram, + glUniform + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glActiveTexture.xml b/Source/Bind/Specifications/Docs/ES31/glActiveTexture.xml new file mode 100644 index 00000000..2f1a4df1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glActiveTexture.xml @@ -0,0 +1,117 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glActiveTexture + 3G + + + glActiveTexture + select active texture unit + + + C Specification + + + void glActiveTexture + GLenum texture + + + + Parameters + + + texture + + + Specifies which texture unit to make active. The number + of texture units is implementation-dependent, but must be at least + 32. texture must be one of + GL_TEXTUREi, + where i ranges from zero to the + value of + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS + minus one. The initial value is + GL_TEXTURE0. + + + + + + Description + + glActiveTexture selects which texture unit subsequent texture state calls will + affect. The number of texture units an implementation supports is + implementation-dependent, but must be at least 32. + + + Errors + + GL_INVALID_ENUM is generated if texture is not one of + GL_TEXTUREi, where + i ranges from zero to the value of + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS minus + one. + + + Associated Gets + + glGet with argument GL_ACTIVE_TEXTURE, or GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. + + + + API Version Support + + + + + + glActiveTexture + + + + + + + See Also + + glGenTextures, + glBindTexture, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDeleteTextures + glIsTexture, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glAttachShader.xml b/Source/Bind/Specifications/Docs/ES31/glAttachShader.xml new file mode 100644 index 00000000..03b54130 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glAttachShader.xml @@ -0,0 +1,150 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glAttachShader + 3G + + + glAttachShader + Attaches a shader object to a program object + + + C Specification + + + void glAttachShader + GLuint program + GLuint shader + + + + Parameters + + + program + + Specifies the program object to which a shader + object will be attached. + + + + + shader + + Specifies the shader object that is to be attached. + + + + + Description + In order to create a complete shader program, there must be a way to + specify the list of things that will be linked together. Program + objects provide this mechanism. Shaders that are to be linked + together in a program object must first be attached to that + program object. glAttachShader attaches the + shader object specified by shader to the + program object specified by program. This + indicates that shader will be included in + link operations that will be performed on + program. + + All operations that can be performed on a shader object + are valid whether or not the shader object is attached to a + program object. It is permissible to attach a shader object to a + program object before source code has been loaded into the + shader object or before the shader object has been compiled. It + is not permissible to attach multiple shader objects of the same + type. + It is permissible to attach a shader object to more than + one program object. If a shader object is deleted while it is + attached to a program object, it will be flagged for deletion, + and deletion will not occur until + glDetachShader + is called to detach it from all program objects to which it is + attached. + + Errors + GL_INVALID_VALUE is generated if either + program or shader + is not a value generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + shader is already attached to + program. + + GL_INVALID_OPERATION is generated if + a shader of the same type as shader is + already attached to program. + + + Associated Gets + + glGetAttachedShaders + with the handle of a valid program object + + + glGetShaderInfoLog + + + glGetShaderSource + + + glIsProgram + + + glIsShader + + + + API Version Support + + + + + + glAttachShader + + + + + + + See Also + + glCompileShader, + glCreateShader, + glDeleteShader, + glDetachShader, + glLinkProgram, + glShaderSource + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBeginQuery.xml b/Source/Bind/Specifications/Docs/ES31/glBeginQuery.xml new file mode 100644 index 00000000..b7f37e8e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBeginQuery.xml @@ -0,0 +1,181 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glBeginQuery + 3G + + + glBeginQuery + delimit the boundaries of a query object + + + C Specification + + + void glBeginQuery + GLenum target + GLuint id + + + + + void glEndQuery + GLenum target + + + + Parameters for <function>glBeginQuery</function> + + + target + + + Specifies the target type of query object established between + glBeginQuery and the subsequent glEndQuery. + The symbolic constant must be one of GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, + or GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN. + + + + + id + + + Specifies the name of a query object. + + + + + + Parameters for <function>glEndQuery</function> + + + target + + + Specifies the target type of query object to be concluded. + The symbolic constant must be one of GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, + or GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN. + + + + + + Description + + glBeginQuery and glEndQuery delimit the + boundaries of a query object. query must be a name previously returned from a call to + glGenQueries. If a query object with name id + does not yet exist it is created with the type determined by target. target must + be one of GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, + or GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN. The behavior of the query + object depends on its type and is as follows. + + + If target is GL_ANY_SAMPLES_PASSED, id must be an unused name, + or the name of an existing boolean occlusion query object. + When glBeginQuery is executed, the query object's samples-passed flag is reset to GL_FALSE. + Subsequent rendering causes the flag to be set to GL_TRUE if any sample passes the depth test. When + glEndQuery is executed, the samples-passed flag is assigned to the query object's result value. This value can + be queried by calling glGetQueryObjectuiv with pname + GL_QUERY_RESULT. + + + If target is GL_ANY_SAMPLES_PASSED_CONSERVATIVE, id must be an unused name, + or the name of an existing boolean occlusion query object. + When glBeginQuery is executed, the query object's samples-passed flag is reset to GL_FALSE. + Subsequent rendering causes the flag to be set to GL_TRUE if any sample passes the depth test. The implementation + may choose to use a less precision version of the test, which can additionally set the samples-passed flag to GL_TRUE + in some other implementation-dependent cases. When glEndQuery is executed, the samples-passed flag is assigned to + the query object's result value. This value can be queried by calling glGetQueryObjectuiv + with pname GL_QUERY_RESULT. + + + If target is GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, id must be + an unused name, or the name of an existing primitive query object previously bound to the GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN + query binding. When glBeginQuery is executed, the query object's primitives-written counter is reset to 0. Subsequent + rendering will increment the counter once for every vertex that is written into the bound transform feedback buffer(s). If transform feedback + mode is not activated between the call to glBeginQuery and glEndQuery, the counter will not be + incremented. When glEndQuery is executed, the primitives-written counter is assigned to + the query object's result value. This value can be queried by calling glGetQueryObjectuiv with pname + GL_QUERY_RESULT. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_OPERATION is generated if glBeginQuery is executed while + a query object of the same target is already active. Note: GL_ANY_SAMPLES_PASSED + and GL_ANY_SAMPLES_PASSED_CONSERVATIVE alias to the same target for the purposes of this error. + + + GL_INVALID_OPERATION is generated if glEndQuery + is executed when a query object of the same target is not active. + + + GL_INVALID_OPERATION is generated if id is 0. + + + GL_INVALID_OPERATION is generated if id not a name returned from a previous call to + glGenQueries, or if such a name has since been deleted with glDeleteQueries. + + + GL_INVALID_OPERATION is generated if id is the name of an already active query object. + + + GL_INVALID_OPERATION is generated if id refers to an existing query object whose type + does not does not match target. + + + + API Version Support + + + + + + glBeginQuery + + + + glEndQuery + + + + + + + See Also + + glDeleteQueries, + glGenQueries, + glGetQueryiv, + glGetQueryObjectuiv, + glIsQuery + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBeginTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES31/glBeginTransformFeedback.xml new file mode 100644 index 00000000..be2c3c35 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBeginTransformFeedback.xml @@ -0,0 +1,130 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBeginTransformFeedback + 3G + + + glBeginTransformFeedback + start transform feedback operation + + + C Specification + + + void glBeginTransformFeedback + GLenum primitiveMode + + + + + void glEndTransformFeedback + void + + + + Parameters for <function>glBeginTransformFeedback</function> + + + primitiveMode + + + Specify the output type of the primitives that will be recorded into the + buffer objects that are bound for transform feedback. + + + + + + Description + + Transform feedback mode captures the values of varying variables written by the vertex shader. + Transform feedback is said to be active after a call to glBeginTransformFeedback + until a subsequent call to glEndTransformFeedback. + Transform feedback commands must be paired. An implicit glResumeTransformFeedback + is performed by glEndTransformFeedback if the transform feedback is paused. + Transform feedback is restricted to non-indexed GL_POINTS, GL_LINES, and + GL_TRIANGLES. + + + While transform feedback is active the mode parameter to + glDrawArrays must exactly match the + primitiveMode specified by glBeginTransformFeedback. + + + Errors + + GL_INVALID_OPERATION is generated if glBeginTransformFeedback is executed + while transform feedback is active. + + + GL_INVALID_ENUM is generated by glBeginTransformFeedback if primitiveMode + is not one of GL_POINTS, GL_LINES, or GL_TRIANGLES. + + + GL_INVALID_OPERATION is generated if glEndTransformFeedback is executed + while transform feedback is not active. + + + GL_INVALID_OPERATION is generated by glDrawArrays + and glDrawArraysInstanced if transform feedback is active + and mode does not exactly match primitiveMode. + + + GL_INVALID_OPERATION is generated by glDrawElements, + glDrawElementsInstanced, and + glDrawRangeElements if transform feedback is active and not paused. + + + GL_INVALID_OPERATION is generated by glBeginTransformFeedback if any binding + point used in transform feedback mode does not have a buffer object bound. In interleaved mode, only the first buffer + object binding point is ever written to. + + + GL_INVALID_OPERATION is generated by glBeginTransformFeedback if no binding + points would be used, either because no program object is active of because the active program object has specified + no varying variables to record. + + + + API Version Support + + + + + + glBeginTransformFeedback + + + + glEndTransformFeedback + + + + + + + See Also + + glPauseTransformFeedback, + glResumeTransformFeedback + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindAttribLocation.xml b/Source/Bind/Specifications/Docs/ES31/glBindAttribLocation.xml new file mode 100644 index 00000000..20bc62cd --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindAttribLocation.xml @@ -0,0 +1,213 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glBindAttribLocation + 3G + + + glBindAttribLocation + Associates a generic vertex attribute index with a named attribute variable + + + C Specification + + + void glBindAttribLocation + GLuint program + GLuint index + const GLchar *name + + + + Parameters + + + program + + Specifies the handle of the program object in + which the association is to be made. + + + + index + + Specifies the index of the generic vertex + attribute to be bound. + + + + name + + Specifies a null terminated string containing + the name of the vertex shader attribute variable to + which index is to be + bound. + + + + + Description + glBindAttribLocation is used to + associate a user-defined attribute variable in the program + object specified by program with a + generic vertex attribute index. The name of the user-defined + attribute variable is passed as a null terminated string in + name. The generic vertex attribute index + to be bound to this variable is specified by + index. When + program is made part of current state, + values provided via the generic vertex attribute + index will modify the value of the + user-defined attribute variable specified by + name. + + If name refers to a matrix + attribute variable, index refers to the + first column of the matrix. Other matrix columns are then + automatically bound to locations index+1 + for a matrix of type mat2; index+1 and + index+2 for a matrix of type mat3; and + index+1, index+2, + and index+3 for a matrix of type + mat4. + + This command makes it possible for vertex shaders to use + descriptive names for attribute variables rather than generic + variables that are numbered from zero to the value of + GL_MAX_VERTEX_ATTRIBS minus one. The values sent + to each generic attribute index are part of current state. + If a different program object is made current by calling + glUseProgram, + the generic vertex attributes are tracked in such a way that the + same values will be observed by attributes in the new program + object that are also bound to + index. Attribute variable + name-to-generic attribute index bindings for a program object + can be explicitly assigned at any time by calling + glBindAttribLocation. Attribute bindings do + not go into effect until + glLinkProgram + is called. After a program object has been linked successfully, + the index values for generic attributes remain fixed (and their + values can be queried) until the next link command + occurs. + + Any attribute binding that occurs after the program object has been linked will not take effect + until the next time the program object is linked. + + Notes + glBindAttribLocation can be called + before any vertex shader objects are bound to the specified + program object. It is also permissible to bind a generic + attribute index to an attribute variable name that is never used + in a vertex shader. + + If name was bound previously, that + information is lost. Thus you cannot bind one user-defined + attribute variable to multiple indices, but you can bind + multiple user-defined attribute variables to the same + index. + + Applications are allowed to bind more than one + user-defined attribute variable to the same generic vertex + attribute index. This is called aliasing, + and it is allowed only if just one of the aliased attributes is + active in the executable program, or if no path through the + shader consumes more than one attribute of a set of attributes + aliased to the same location. The compiler and linker are + allowed to assume that no aliasing is done and are free to + employ optimizations that work only in the absence of aliasing. + OpenGL implementations are not required to do error checking to + detect aliasing. + + Active attributes that are not explicitly bound will be + bound by the linker when + glLinkProgram + is called. The locations assigned can be queried by calling + glGetAttribLocation. + + OpenGL copies the name string when + glBindAttribLocation is called, so an + application may free its copy of the name + string immediately after the function returns. + + Generic attribute locations may be specified in the shader source + text using a location layout qualifier. In this case, + the location of the attribute specified in the shader's source takes precedence + and may be queried by calling glGetAttribLocation. + + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_OPERATION is generated if + name starts with the reserved prefix + "gl_". + + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetActiveAttrib + with argument program + + glGetAttribLocation + with arguments program and + name + + glIsProgram + + + API Version Support + + + + + + glBindAttribLocation + + + + + + + See Also + glDisableVertexAttribArray, + glEnableVertexAttribArray, + glUseProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindBuffer.xml b/Source/Bind/Specifications/Docs/ES31/glBindBuffer.xml new file mode 100644 index 00000000..cf4a5867 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindBuffer.xml @@ -0,0 +1,264 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glBindBuffer + 3G + + + glBindBuffer + bind a named buffer object + + + C Specification + + + void glBindBuffer + GLenum target + GLuint buffer + + + + Parameters + + + target + + + Specifies the target to which the buffer object is bound. + The symbolic constant must be + GL_ARRAY_BUFFER, + GL_ATOMIC_COUNTER_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_DRAW_INDIRECT_BUFFER, + GL_DISPATCH_INDIRECT_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_SHADER_STORAGE_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + buffer + + + Specifies the name of a buffer object. + + + + + + Description + + glBindBuffer binds a buffer object to the specified buffer binding point. Calling glBindBuffer with + target set to one of the accepted symbolic constants and buffer set to the name + of a buffer object binds that buffer object name to the target. If no buffer object with name buffer + exists, one is created with that name. When a buffer object is bound to a target, the previous binding for that + target is automatically broken. + + + Buffer object names are unsigned integers. The value zero is reserved, but + there is no default buffer object for each buffer object target. Instead, buffer set to zero + effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target (if supported for that target). + Buffer object names and the corresponding buffer object contents are local to + the shared object space of the current + GL rendering context; + two rendering contexts share buffer object names only if they + explicitly enable sharing between contexts through the appropriate GL windows interfaces functions. + + + glGenBuffers may be used to generate a set of unused buffer object names. + + + The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with + GL_READ_WRITE access and GL_STATIC_DRAW usage. + + + While a non-zero buffer object name is bound, GL operations on the target to which it is + bound affect the bound buffer object, and queries of the target to which it is bound return state + from the bound buffer object. While buffer object name zero is bound, as in the initial state, + attempts to modify or query state on the target to which it is bound generates an + GL_INVALID_OPERATION error. + + + When a non-zero buffer object is bound to the GL_ARRAY_BUFFER target, + the vertex array pointer parameter is interpreted as an offset within the + buffer object measured in basic machine units. + + + When a non-zero buffer object is bound to the GL_DRAW_INDIRECT_BUFFER target, + parameters for draws issued through glDrawArraysIndirect + and glDrawElementsIndirect are sourced + from the specified offset in that buffer object's data store. + + + When a non-zero buffer object is bound to the GL_DISPATCH_INDIRECT_BUFFER target, + the parameters for compute dispatches issued through glDispatchComputeIndirect + are sourced from the specified offset in that buffer object's data store. + + + While a non-zero buffer object is bound to the GL_ELEMENT_ARRAY_BUFFER target, + the indices parameter of glDrawElements, + glDrawElementsInstanced, + glDrawRangeElements, + offset within the buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_PIXEL_PACK_BUFFER target, + the following commands are affected: glReadPixels. + The pointer parameter is interpreted as an offset within the buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target, + the following commands are affected: + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, and + glTexSubImage3D. The pointer parameter is + interpreted as an offset within the buffer object measured in basic machine units. + + + The buffer targets GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER + are provided to allow glCopyBufferSubData + to be used without disturbing the state of other bindings. However, glCopyBufferSubData + may be used with any pair of buffer binding points. + + + The GL_TRANSFORM_FEEDBACK_BUFFER buffer binding point may be passed to glBindBuffer, + but will not directly affect transform feedback state. Instead, the indexed GL_TRANSFORM_FEEDBACK_BUFFER + bindings must be used through a call to glBindBufferBase + or glBindBufferRange. This will affect the generic + GL_TRANSFORM_FEEDBACK_BUFFER binding. + + + Likewise, the GL_UNIFORM_BUFFER, GL_ATOMIC_COUNTER_BUFFER and GL_SHADER_STORAGE_BUFFER + buffer binding points may + be used, but do not directly affect uniform buffer, atomic counter buffer or shader storage buffer state, respectively. + glBindBufferBase + or glBindBufferRange must be used to bind a buffer to + an indexed uniform buffer, atomic counter buffer or shader storage buffer binding point. + + + A buffer object binding created with glBindBuffer remains active until a different + buffer object name is bound to the same target, or until the bound buffer object is + deleted with glDeleteBuffers. + + + Once created, a named buffer object may be re-bound to any target as often as needed. However, + the GL implementation may make choices about how to optimize the storage of a buffer object based + on its initial binding target. + + + Notes + + The GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, + GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_READ_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER and GL_UNIFORM_BUFFER + targets are available only if the GL ES version is 3.0 or greater. + + + The GL_ATOMIC_COUNTER_BUFFER, GL_DISPATCH_INDIRECT_BUFFER, + GL_DRAW_INDIRECT_BUFFER and GL_SHADER_STORAGE_BUFFER + targets are available only if the GL ES version is 3.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable + values. + + + Associated Gets + + glGet with argument GL_ARRAY_BUFFER_BINDING + + + glGet with argument GL_ATOMIC_COUNTER_BUFFER_BINDING + + + glGet with argument GL_COPY_READ_BUFFER_BINDING + + + glGet with argument GL_COPY_WRITE_BUFFER_BINDING + + + glGet with argument GL_DRAW_INDIRECT_BUFFER_BINDING + + + glGet with argument GL_DISPATCH_INDIRECT_BUFFER_BINDING + + + glGet with argument GL_ELEMENT_ARRAY_BUFFER_BINDING + + + glGet with argument GL_PIXEL_PACK_BUFFER_BINDING + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + glGet with argument GL_SHADER_STORAGE_BUFFER_BINDING + + + glGet with argument GL_TRANSFORM_FEEDBACK_BUFFER_BINDING + + + glGet with argument GL_UNIFORM_BUFFER_BINDING + + + + API Version Support + + + + + + glBindBuffer + + + + + + + See Also + + glGenBuffers, + glBindBufferBase, + glBindBufferRange, + glMapBufferRange, + glUnmapBuffer, + glDeleteBuffers, + glGet, + glIsBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindBufferBase.xml b/Source/Bind/Specifications/Docs/ES31/glBindBufferBase.xml new file mode 100644 index 00000000..e11087c0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindBufferBase.xml @@ -0,0 +1,134 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindBufferBase + 3G + + + glBindBufferBase + bind a buffer object to an indexed buffer target + + + C Specification + + + void glBindBufferBase + GLenum target + GLuint index + GLuint buffer + + + + Parameters + + + target + + + Specify the target of the bind operation. target must be + one of GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. + + + + + index + + + Specify the index of the binding point within the array specified by target. + + + + + buffer + + + The name of a buffer object to bind to the specified binding point. + + + + + + Description + + glBindBufferBase binds the buffer object buffer + to the binding point at index index of the array of targets specified + by target. Each target represents an indexed + array of buffer binding points, as well as a single general binding point that can be used by + other buffer manipulation functions such as glBindBuffer + or glMapBufferRange. In addition to binding + buffer to the indexed buffer binding target, glBindBufferBase + also binds buffer to the generic buffer binding point specified by target. + + + Notes + + Calling glBindBufferBase binds the entire buffer, even when the size of the buffer is + changed after the binding is established. The starting offset is zero, and the amount + of data that can be read from or written to the buffer is determined by the size of + the bound buffer at the time the binding is used. + + + The GL_ATOMIC_COUNTER_BUFFER and GL_SHADER_STORAGE_BUFFER + targets are available only if the GL ES version is 3.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. + + + GL_INVALID_VALUE is generated if index is greater + than or equal to the number of target-specific indexed binding points. + + + Associated Gets + + glGet with argument GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, + GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS or + GL_MAX_UNIFORM_BUFFER_BINDINGS. + + + + API Version Support + + + + + + glBindBufferBase + + + + + + + See Also + + glGenBuffers, + glDeleteBuffers, + glBindBuffer, + glBindBufferRange, + glMapBufferRange, + glUnmapBuffer, + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindBufferRange.xml b/Source/Bind/Specifications/Docs/ES31/glBindBufferRange.xml new file mode 100644 index 00000000..aa2c648d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindBufferRange.xml @@ -0,0 +1,173 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindBufferRange + 3G + + + glBindBufferRange + bind a range within a buffer object to an indexed buffer target + + + C Specification + + + void glBindBufferRange + GLenumtarget + GLuintindex + GLuintbuffer + GLintptroffset + GLsizeiptrsize + + + + Parameters + + + target + + + Specify the target of the bind operation. target must be + one of GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. + + + + + index + + + Specify the index of the binding point within the array specified by target. + + + + + buffer + + + The name of a buffer object to bind to the specified binding point. + + + + + offset + + + The starting offset in basic machine units into the buffer object buffer. + + + + + size + + + The amount of data in machine units that can be read from the buffet object while used as an indexed target. + + + + + + Description + + glBindBufferRange binds a range of the buffer object buffer + represented by offset and size to the + binding point at index index of the array of targets specified by target. + Each target represents an indexed array of buffer binding points, as well + as a single general binding point that can be used by other buffer manipulation functions such as + glBindBuffer or + glMapBufferRange. In addition to binding + a range of buffer to the indexed buffer binding target, glBindBufferBase + also binds the range to the generic buffer binding point specified by target. + + + offset specifies the offset in basic machine units into the buffer object + buffer and size specifies the amount of data that + can be read from the buffer object while used as an indexed target. + + + Notes + + The GL_ATOMIC_COUNTER_BUFFER and GL_SHADER_STORAGE_BUFFER + targets are available only if the GL ES version is 3.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. + + + GL_INVALID_VALUE is generated if index is greater + than or equal to the number of target-specific indexed binding points. + + + GL_INVALID_VALUE is generated if buffer is not + zero and size is less than or equal to zero. + + + GL_INVALID_VALUE is generated if target is + GL_ATOMIC_COUNTER_BUFFER or GL_TRANSFORM_FEEDBACK_BUFFER + and size or offset are not multiples of 4. + + + GL_INVALID_VALUE is generated if target is + GL_SHADER_STORAGE_BUFFER and offset is not a multiple of + GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT. + + + GL_INVALID_VALUE is generated if target is + GL_UNIFORM_BUFFER and offset is not a multiple of + GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT. + + + Associated Gets + + glGet with argument GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, + GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, + GL_MAX_UNIFORM_BUFFER_BINDINGS, GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT, + or GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT. + + + + API Version Support + + + + + + glBindBufferRange + + + + + + + See Also + + glGenBuffers, + glDeleteBuffers, + glBindBuffer, + glBindBufferBase, + glMapBufferRange, + glUnmapBuffer, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindFramebuffer.xml b/Source/Bind/Specifications/Docs/ES31/glBindFramebuffer.xml new file mode 100644 index 00000000..cba66768 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindFramebuffer.xml @@ -0,0 +1,109 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindFramebuffer + 3G + + + glBindFramebuffer + bind a framebuffer to a framebuffer target + + + C Specification + + + void glBindFramebuffer + GLenum target + GLuint framebuffer + + + + Parameters + + + target + + + Specifies the framebuffer target of the binding operation. + + + + + framebuffer + + + Specifies the name of the framebuffer object to bind. + + + + + + Description + + glBindFramebuffer binds the framebuffer object with name framebuffer to the framebuffer target specified + by target. target must be either GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. If a framebuffer object is bound to + GL_DRAW_FRAMEBUFFER or GL_READ_FRAMEBUFFER, it becomes the target for + rendering or readback operations, respectively, until it is deleted or another framebuffer is bound to the corresponding bind point. + Calling glBindFramebuffer with target set to GL_FRAMEBUFFER binds + framebuffer to both the read and draw framebuffer targets. + + + + glGenFramebuffers may be used to generate a set of unused framebuffer object names. + + + + The storage, dimensions, allocation, and format of the images attached to the default framebuffer are managed entirely + by the window system. In order that access to the default framebuffer is not lost, it is treated as a framebuffer object with the name of zero. + The default framebuffer is therefore rendered to and read from while zero is bound to the corresponding targets. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. + + + + API Version Support + + + + + + glBindFramebuffer + + + + + + + See Also + + glGenFramebuffers, + glDeleteFramebuffers, + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFramebufferTextureLayer, + glIsFramebuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindImageTexture.xml b/Source/Bind/Specifications/Docs/ES31/glBindImageTexture.xml new file mode 100644 index 00000000..beea9ca2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindImageTexture.xml @@ -0,0 +1,267 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindImageTexture + 3G + + + glBindImageTexture + bind a level of a texture to an image unit + + + C Specification + + + void glBindImageTexture + GLuint unit + GLuint texture + GLint level + GLboolean layered + GLint layer + GLenum access + GLenum format + + + + Parameters + + + unit + + + Specifies the index of the image unit to which to bind the texture + + + + + texture + + + Specifies the name of the texture to bind to the image unit. + + + + + level + + + Specifies the level of the texture that is to be bound. + + + + + layered + + + Specifies whether a layered texture binding is to be established. + + + + + layer + + + If layered is GL_FALSE, specifies the layer of texture to be bound to the image unit. Ignored otherwise. + + + + + access + + + Specifies a token indicating the type of access that will be performed on the image. + + + + + format + + + Specifies the format that the elements of the image will be treated as for the purposes of formatted loads and stores. + + + + + + Description + + glBindImageTexture binds a single level of a texture to an image unit for the purpose of + reading and writing it from shaders. unit specifies the zero-based index of the image + unit to which to bind the texture level. texture specifies the name of an existing texture + object to bind to the image unit. If texture is zero, then any existing binding to + the image unit is broken. level specifies the level of the texture to bind to the image + unit. + + + If texture is the name of a two-dimensional array texture, a cube map + texture, or a two-dimensional multisample array texture, then it is possible to bind either + the entire array, or only a single layer of the array to the image unit. In such cases, if layered + is GL_TRUE, the entire array is attached to the image unit and layer + is ignored. However, if layered is GL_FALSE then layer + specifies the layer of the array to attach to the image unit. + + + access specifies the access types to be performed by shaders and may be set to + GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE + to indicate read-only, write-only or read-write access, respectively. Violation of the access type specified in access + (for example, if a shader writes to an image bound with access set to GL_READ_ONLY) + will lead to undefined results, possibly including program termination. + + + format specifies the format that is to be used when performing formatted loads and stores into the + image from shaders. format must be compatible with the texture's internal format and must + be one of the formats listed in the following table. + + + Internal Image Formats + + + + + + + Image Unit Format + + + Format Qualifier + + + + + + GL_RGBA32Frgba32f + + + GL_RGBA16Frgba16f + + + GL_R32Fr32f + + + GL_RGBA32UIrgba32ui + + + GL_RGBA16UIrgba16ui + + + GL_RGBA8UIrgba8ui + + + GL_R32UIr32ui + + + GL_RGBA32Irgba32i + + + GL_RGBA16Irgba16i + + + GL_RGBA8Irgba8i + + + GL_R32Ir32i + + + GL_RGBA8rgba8 + + + GL_RGBA8_SNORMrgba8_snorm + + + +
+
+ + When a texture is bound to an image unit, the format parameter for the image + unit need not exactly match the texture internal format as long as the formats are + considered compatible as defined in the OpenGL ES Specification. The matching criterion used + for a given texture may be determined by calling glGetTexParameter + with value + set to GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, with return values of GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE + and GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS, specifying matches by size and class, respectively. + +
+ Notes + + The glBindImageTexture can only be used with immutable textures. This is intended to guide developers towards + immutable textures. + + + Errors + + GL_INVALID_VALUE is generated if unit greater than or equal to the + value of GL_MAX_IMAGE_UNITS. + + + GL_INVALID_VALUE is generated if texture is not the name of + an existing texture object. + + + GL_INVALID_VALUE is generated if level or layer + is less than zero. + + + GL_INVALID_ENUM is generated if access or format + is not one of the supported tokens. + + + Associated Gets + + glGet with argument GL_IMAGE_BINDING_NAME. + + + glGet with argument GL_IMAGE_BINDING_LEVEL. + + + glGet with argument GL_IMAGE_BINDING_LAYERED. + + + glGet with argument GL_IMAGE_BINDING_LAYER. + + + glGet with argument GL_IMAGE_BINDING_ACCESS. + + + glGet with argument GL_IMAGE_BINDING_FORMAT. + + + + API Version Support + + + + + + glBindImageTexture + + + + + + + See Also + + glGenTextures, + glTexStorage2D, + glTexStorage3D, + glBindTexture + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + +
diff --git a/Source/Bind/Specifications/Docs/ES31/glBindProgramPipeline.xml b/Source/Bind/Specifications/Docs/ES31/glBindProgramPipeline.xml new file mode 100644 index 00000000..63b1f00d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindProgramPipeline.xml @@ -0,0 +1,101 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindProgramPipeline + 3G + + + glBindProgramPipeline + bind a program pipeline to the current context + + + C Specification + + + void glBindProgramPipeline + GLuint pipeline + + + + Parameters + + + pipeline + + + Specifies the name of the pipeline object to bind to the context. + + + + + + Description + + glBindProgramPipeline binds a program pipeline object to the current + context. pipeline must be a name previously returned from a call + to glGenProgramPipelines. If + no program pipeline exists with name pipeline then a new pipeline object + is created with that name and initialized to the default state vector. + + + When a program pipeline object is bound using glBindProgramPipeline, any previous + binding is broken and is replaced with a binding to the specified pipeline object. If pipeline + is zero, the previous binding is broken and is not replaced, leaving no pipeline object bound. + If no current program object has been established by glUseProgram, + the program objects used for each stage and for uniform updates are taken from the bound program + pipeline object, if any. If there is a current program object established by glUseProgram, + the bound program pipeline object has no effect on rendering or uniform updates. When a bound program + pipeline object is used for rendering, individual shader executables are taken from its program objects. + + + Errors + + GL_INVALID_OPERATION is generated if pipeline is not zero or + a name previously returned from a call to glGenProgramPipelines + or if such a name has been deleted by a call to + glDeleteProgramPipelines. + + + + API Version Support + + + + + + glBindProgramPipeline + + + + + + + See Also + + glCreateShader, + glCreateProgram, + glCompileShader, + glLinkProgram, + glGenProgramPipelines, + glDeleteProgramPipelines, + glIsProgramPipeline + + + Copyright + + Copyright 2010 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES31/glBindRenderbuffer.xml new file mode 100644 index 00000000..ac8ced72 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindRenderbuffer.xml @@ -0,0 +1,97 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindRenderbuffer + 3G + + + glBindRenderbuffer + bind a renderbuffer to a renderbuffer target + + + C Specification + + + void glBindRenderbuffer + GLenum target + GLuint renderbuffer + + + + Parameters + + + target + + + Specifies the renderbuffer target of the binding operation. target must be GL_RENDERBUFFER. + + + + + renderbuffer + + + Specifies the name of the renderbuffer object to bind. + + + + + + Description + + glBindRenderbuffer binds the renderbuffer object with name renderbuffer to the renderbuffer target specified + by target. target must be GL_RENDERBUFFER. Calling + glBindRenderbuffer with renderbuffer set to a value of zero breaks the + existing binding of a renderbuffer object to target. + + + glGenRenderbuffers may be used to generate a set of unused renderbuffer object names. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + + API Version Support + + + + + + glBindRenderbuffer + + + + + + + See Also + + glGenRenderbuffers, + glDeleteRenderbuffers, + glRenderbufferStorage, + glRenderbufferStorageMultisample, + glIsRenderbuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindSampler.xml b/Source/Bind/Specifications/Docs/ES31/glBindSampler.xml new file mode 100644 index 00000000..2dea4474 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindSampler.xml @@ -0,0 +1,114 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindSampler + 3G + + + glBindSampler + bind a named sampler to a texturing target + + + C Specification + + + void glBindSampler + GLuint unit + GLuint sampler + + + + Parameters + + + unit + + + Specifies the index of the texture unit to which the sampler is bound. + + + + + sampler + + + Specifies the name of a sampler. + + + + + + Description + + glBindSampler binds sampler to the texture unit at index unit. + sampler must be zero or the name of a sampler object previously returned from a call to + glGenSamplers. unit must be less than the value + of GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. + + + When a sampler object is bound to a texture unit, its state supersedes that of + the texture object bound to that texture unit. If the sampler name zero is bound to + a texture unit, the currently bound texture's sampler state becomes active. A single + sampler object may be bound to multiple texture units simultaneously. + + + Errors + + GL_INVALID_VALUE is generated if unit is greater than or equal to the value of + GL_MAX_COMBIED_TEXTURE_IMAGE_UNITS. + + + GL_INVALID_OPERATION is generated if sampler is not zero or a name previously + returned from a call to glGenSamplers, or if such a name has + been deleted by a call to glDeleteSamplers. + + + Associated Gets + + glGet with argument GL_SAMPLER_BINDING + + + + API Version Support + + + + + + glBindSampler + + + + + + + See Also + + glGenSamplers, + glDeleteSamplers, + glGet, + glSamplerParameter, + glGetSamplerParameter, + glGenTextures, + glBindTexture, + glDeleteTextures + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindTexture.xml b/Source/Bind/Specifications/Docs/ES31/glBindTexture.xml new file mode 100644 index 00000000..7a3eab4e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindTexture.xml @@ -0,0 +1,165 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBindTexture + 3G + + + glBindTexture + bind a named texture to a texturing target + + + C Specification + + + void glBindTexture + GLenum target + GLuint texture + + + + Parameters + + + target + + + Specifies the target to which the texture is bound. + Must be either + GL_TEXTURE_2D, + GL_TEXTURE_3D, + GL_TEXTURE_2D_ARRAY, or + GL_TEXTURE_CUBE_MAP, + + + + + texture + + + Specifies the name of a texture. + + + + + + Description + + glBindTexture binds the texture object with name texture to the texture target specified + by target. Calling glBindTexture with + target set to + GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_2D_ARRAY, or + GL_TEXTURE_CUBE_MAP and texture set to the name of the new texture binds the + texture name to that target. When a texture is bound to a target, the previous binding for that target is automatically broken. + + + Texture names are unsigned integers. The value zero is reserved to + represent the default texture for each texture target. + Texture names and the corresponding texture contents are local to + the shared object space of the current GL rendering context; + two rendering contexts share texture names only if they + explicitly enable sharing between contexts through the appropriate GL windows interfaces functions. + + + You must use glGenTextures to generate a set of new texture names. + + + When a texture is first bound, it assumes the specified target: + A texture first bound to GL_TEXTURE_2D becomes two-dimensional texture, a + texture first bound to GL_TEXTURE_3D becomes three-dimensional texture, a + texture first bound to GL_TEXTURE_2D_ARRAY becomes two-dimensional arary texture, and a + texture first bound to GL_TEXTURE_CUBE_MAP becomes a cube-mapped texture. + The state of a two-dimensional texture immediately after it is first bound is equivalent to the state of the + default GL_TEXTURE_2D at GL initialization, and similarly for the other texture types. + + + While a texture is bound, GL operations on the target to which it is + bound affect the bound texture, and queries of the target to which it + is bound return state from the bound texture. + In effect, the texture targets become aliases for the textures currently + bound to them, and the texture name zero refers to the default textures + that were bound to them at initialization. + + + A texture binding created with glBindTexture remains active until a different + texture is bound to the same target, or until the bound texture is + deleted with glDeleteTextures. + + + Once created, a named texture may be re-bound to its same original target as often as needed. + It is usually much faster to use glBindTexture to bind an existing named + texture to one of the texture targets than it is to reload the texture image + using glTexImage2D, + glTexImage3D or another similar function. + + + Texture binding is affected by the setting of the state GL_ACTIVE_TEXTURE (see + glActiveTexture). + A texture object may be bound to more than one texture unit simultaneously. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable + values. + + + GL_INVALID_OPERATION is generated if texture was previously created with a target + that doesn't match that of target. + + + Associated Gets + + glGet with argument GL_TEXTURE_BINDING_2D, + GL_TEXTURE_BINDING_3D, GL_TEXTURE_BINDING_2D_ARRAY, or GL_TEXTURE_BINDING_CUBE_MAP. + + + + API Version Support + + + + + + glBindTexture + + + + + + + See Also + + glDeleteTextures, + glGenTextures, + glGet, + glGetTexParameter, + glIsTexture, + glTexImage2D, + glTexImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES31/glBindTransformFeedback.xml new file mode 100644 index 00000000..efeded3d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindTransformFeedback.xml @@ -0,0 +1,126 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glBindTransformFeedback + 3G + + + glBindTransformFeedback + bind a transform feedback object + + + C Specification + + + void glBindTransformFeedback + GLenum target + GLuint id + + + + Parameters + + + target + + + Specifies the target to which to bind the transform feedback object id. target + must be GL_TRANSFORM_FEEDBACK. + + + + + id + + + Specifies the name of a transform feedback object reserved by glGenTransformFeedbacks. + + + + + + Description + + glBindTransformFeedback binds the transform feedback object with name id to the current + GL state. id must be a name previously returned from a call to + glGenTransformFeedbacks. If id has not + previously been bound, a new transform feedback object with name id and initialized with with the + default transform state vector is created. + + + In the initial state, a default transform feedback object is bound and treated as + a transform feedback object with a name of zero. If the name zero is subsequently bound, the default + transform feedback object is again bound to the GL state. + + + While a transform feedback buffer object is bound, GL operations on the target + to which it is bound affect the bound transform feedback object, and queries of the + target to which a transform feedback object is bound return state from the bound + object. When buffer objects are bound for transform feedback, they are attached to + the currently bound transform feedback object. Buffer objects are used for transform feedback only if they are attached + to the currently bound transform feedback object. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TRANSFORM_FEEDBACK. + + + GL_INVALID_OPERATION is generated if the transform feedback operation is + active on the currently bound transform feedback object, and that operation is not paused. + + + GL_INVALID_OPERATION is generated if id is not + zero or the name of a transform feedback object returned from a previous call to + glGenTransformFeedbacks, or + if such a name has been deleted by glDeleteTransformFeedbacks. + + + Associated Gets + + glGet with argument GL_TRANSFORM_FEEDBACK_BINDING + + + + API Version Support + + + + + + glBindTransformFeedback + + + + + + + See Also + + glGenTransformFeedbacks, + glDeleteTransformFeedbacks, + glIsTransformFeedback, + glBeginTransformFeedback, + glPauseTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindVertexArray.xml b/Source/Bind/Specifications/Docs/ES31/glBindVertexArray.xml new file mode 100644 index 00000000..a0c238ab --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindVertexArray.xml @@ -0,0 +1,88 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBindVertexArray + 3G + + + glBindVertexArray + bind a vertex array object + + + C Specification + + + void glBindVertexArray + GLuint array + + + + Parameters + + + array + + + Specifies the name of the vertex array to bind. + + + + + + Description + + glBindVertexArray binds the vertex array object with name array. array + is the name of a vertex array object previously returned from a call to glGenVertexArrays, + or zero to bind the default vertex array object binding. + + + If no vertex array object with name array exists, one is created when array is first bound. If the bind + is successful no change is made to the state of the vertex array object, and any previous vertex array object binding is broken. + + + Errors + + GL_INVALID_OPERATION is generated if array is not zero or the name of a vertex array object + previously returned from a call to glGenVertexArrays. + + + + API Version Support + + + + + + glBindVertexArray + + + + + + + See Also + + glGenVertexArrays, + glDeleteVertexArrays + glVertexAttribPointer + glEnableVertexAttribArray + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBindVertexBuffer.xml b/Source/Bind/Specifications/Docs/ES31/glBindVertexBuffer.xml new file mode 100644 index 00000000..2c66bf64 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBindVertexBuffer.xml @@ -0,0 +1,132 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glBindVertexBuffer + 3G + + + glBindVertexBuffer + bind a buffer to a vertex buffer bind point + + + C Specification + + + void glBindVertexBuffer + GLuint bindingindex + GLuint buffer + GLintptr offset + GLintptr stride + + + + Parameters + + + bindingindex + + + The index of the vertex buffer binding point to which to bind the buffer. + + + + + buffer + + + The name of an existing buffer to bind to the vertex buffer binding point. + + + + + offset + + + The offset of the first element of the buffer. + + + + + stride + + + The distance between elements within the buffer. + + + + + + Description + + glBindVertexBuffer binds the buffer named buffer + to the vertex buffer binding point whose index is given by bindingindex. + offset and stride specify the offset of the first + element within the buffer and the distance between elements within the buffer, respectively, and + are both measured in basic machine units. bindingindex must be less than + the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. offset + and stride must be greater than or equal to zero. If buffer + is zero, then any buffer currently bound to the specified binding point is unbound. + + + Errors + + GL_INVALID_VALUE is generated if bindingindex is greater than + or equal to the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. + + + GL_INVALID_VALUE is generated if offset or stride + is less than zero. + + + GL_INVALID_VALUE is generated if buffer is not the name of an + existing buffer object. + + + GL_INVALID_OPERATION is generated if no vertex array object is bound. + + + Associated Gets + + glGet with argument GL_MAX_VERTEX_ATTRIB_BINDINGS. + + + + API Version Support + + + + + + glBindVertexBuffer + + + + + + + See Also + + glVertexAttribBinding, + glVertexAttribFormat, + glVertexAttribPointer, + glVertexBindingDivisor. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBlendColor.xml b/Source/Bind/Specifications/Docs/ES31/glBlendColor.xml new file mode 100644 index 00000000..a6ef265f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBlendColor.xml @@ -0,0 +1,103 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendColor + 3G + + + glBlendColor + set the blend color + + + C Specification + + + void glBlendColor + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + Parameters + + + red + green + blue + alpha + + + specify the components of GL_BLEND_COLOR + + + + + + Description + + The GL_BLEND_COLOR may be used to calculate the source and destination + blending factors. If destination framebuffer components use an unsigned normalized + fixed-point representation, the constant color components are clamped to the range + + + + 0 + 1 + + + when computing the blend factors. See glBlendFunc for a complete description of the + blending operations. + Initially the GL_BLEND_COLOR is set to (0, 0, 0, 0). + + + Associated Gets + + glGet with an argument of GL_BLEND_COLOR + + + + API Version Support + + + + + + glBlendColor + + + + + + + See Also + + glBlendEquation, + glBlendFunc, + glGet + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBlendEquation.xml b/Source/Bind/Specifications/Docs/ES31/glBlendEquation.xml new file mode 100644 index 00000000..7e92ef9f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBlendEquation.xml @@ -0,0 +1,784 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendEquation + 3G + + + glBlendEquation + specify the equation used for both the RGB blend equation and the Alpha blend equation + + + C Specification + + + void glBlendEquation + GLenum mode + + + + Parameters + + + mode + + + specifies how source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + + Description + + The blend equations determine how a new pixel (the ''source'' color) + is combined with a pixel already in the framebuffer (the ''destination'' + color). This function sets both the RGB blend equation and the alpha + blend equation to a single equation. + + + Calling this function is equivalent to calling glBlendEquationSeparate + with modeRGB and modeAlpha both set to the value of mode. + + + These equations use the source and destination blend factors + specified by either glBlendFunc or + glBlendFuncSeparate. + See glBlendFunc or glBlendFuncSeparate + for a description of the various blend factors. + + + In the equations that follow, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + , + respectively. + The result color is referred to as + + + + R + r + + G + r + + B + r + + A + r + + + . + The source and destination blend factors are denoted + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + , + respectively. + For these equations all color components are understood to have values + in the range + + + + 0 + 1 + + . + + + + + + + + + + Mode + + + RGB Components + + + Alpha Component + + + + + + + GL_FUNC_ADD + + + + + + Rr + = + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + GL_FUNC_SUBTRACT + + + + + + Rr + = + + R + s + + + s + R + + - + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + - + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + - + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + - + A + d + + + d + A + + + + + + + + + GL_FUNC_REVERSE_SUBTRACT + + + + + + Rr + = + + R + d + + + d + R + + - + R + s + + + s + R + + + + + + + + Gr + = + + G + d + + + d + G + + - + G + s + + + s + G + + + + + + + + Br + = + + B + d + + + d + B + + - + B + s + + + s + B + + + + + + + + + + Ar + = + + A + d + + + d + A + + - + A + s + + + s + A + + + + + + + + + GL_MIN + + + + + + Rr + = + + min + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + min + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + min + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + min + + + + A + s + + + + A + d + + + + + + + + + + + GL_MAX + + + + + + Rr + = + + max + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + max + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + max + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + max + + + + A + s + + + + A + d + + + + + + + + + + + + + + The results of these equations are clamped to the range + + + + 0 + 1 + + . + + + The GL_MIN and GL_MAX equations are useful for applications + that analyze image data (image thresholding against a constant color, + for example). + The GL_FUNC_ADD equation is useful + for antialiasing and transparency, among other things. + + + Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. + + + + + Notes + + The GL_MIN, and GL_MAX equations do not use + the source or destination factors, only the source and destination colors. + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of + GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, + GL_MAX, or GL_MIN. + + + Associated Gets + + glGet with an argument of GL_BLEND_EQUATION_RGB + + + glGet with an argument of GL_BLEND_EQUATION_ALPHA + + + + API Version Support + + + + + + glBlendEquation + + + + + + + See Also + + glBlendColor, + glBlendEquationSeparate + glBlendFunc + glBlendFuncSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBlendEquationSeparate.xml b/Source/Bind/Specifications/Docs/ES31/glBlendEquationSeparate.xml new file mode 100644 index 00000000..a6324c1f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBlendEquationSeparate.xml @@ -0,0 +1,792 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendEquationSeparate + 3G + + + glBlendEquationSeparate + set the RGB blend equation and the alpha blend equation separately + + + C Specification + + + void glBlendEquationSeparate + GLenum modeRGB + GLenum modeAlpha + + + + Parameters + + + modeRGB + + + specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + modeAlpha + + + specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + + Description + + The blend equations determines how a new pixel (the ''source'' color) + is combined with a pixel already in the framebuffer (the ''destination'' + color). This function specifies one blend equation for the RGB-color + components and one blend equation for the alpha component. + + + The blend equations use the source and destination blend factors + specified by either glBlendFunc or + glBlendFuncSeparate. + See glBlendFunc or glBlendFuncSeparate + for a description of the various blend factors. + + + In the equations that follow, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + , + respectively. + The result color is referred to as + + + + R + r + + G + r + + B + r + + A + r + + + . + The source and destination blend factors are denoted + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + , + respectively. + For these equations all color components are understood to have values + in the range + + + + 0 + 1 + + . + + + + + + + + + + Mode + + + RGB Components + + + Alpha Component + + + + + + + GL_FUNC_ADD + + + + + + Rr + = + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + GL_FUNC_SUBTRACT + + + + + + Rr + = + + R + s + + + s + R + + - + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + - + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + - + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + - + A + d + + + d + A + + + + + + + + + GL_FUNC_REVERSE_SUBTRACT + + + + + + Rr + = + + R + d + + + d + R + + - + R + s + + + s + R + + + + + + + + Gr + = + + G + d + + + d + G + + - + G + s + + + s + G + + + + + + + + Br + = + + B + d + + + d + B + + - + B + s + + + s + B + + + + + + + + + + Ar + = + + A + d + + + d + A + + - + A + s + + + s + A + + + + + + + + + GL_MIN + + + + + + Rr + = + + min + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + min + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + min + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + min + + + + A + s + + + + A + d + + + + + + + + + + + GL_MAX + + + + + + Rr + = + + max + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + max + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + max + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + max + + + + A + s + + + + A + d + + + + + + + + + + + + + + The results of these equations are clamped to the range + + + + 0 + 1 + + . + + + The GL_MIN and GL_MAX equations are useful for applications + that analyze image data (image thresholding against a constant color, + for example). + The GL_FUNC_ADD equation is useful + for antialiasing and transparency, among other things. + + + Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. + + + + + Notes + + The GL_MIN, and GL_MAX equations do not use + the source or destination factors, only the source and destination colors. + + + Errors + + GL_INVALID_ENUM is generated if either modeRGB or modeAlpha is not one of + GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, + GL_MAX, or GL_MIN. + + + Associated Gets + + glGet with an argument of GL_BLEND_EQUATION_RGB + + + glGet with an argument of GL_BLEND_EQUATION_ALPHA + + + + API Version Support + + + + + + glBlendEquationSeparate + + + + + + + See Also + + glGetString, + glBlendColor, + glBlendEquation, + glBlendFunc, + glBlendFuncSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBlendFunc.xml b/Source/Bind/Specifications/Docs/ES31/glBlendFunc.xml new file mode 100644 index 00000000..d4316c3d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBlendFunc.xml @@ -0,0 +1,1115 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendFunc + 3G + + + glBlendFunc + specify pixel arithmetic + + + C Specification + + + void glBlendFunc + GLenum sfactor + GLenum dfactor + + + + Parameters + + + sfactor + + + Specifies how the red, green, blue, + and alpha source blending factors are computed. + The initial value is GL_ONE. + + + + + dfactor + + + Specifies how the red, green, blue, + and alpha destination blending factors are computed. + The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA. + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, and + GL_ONE_MINUS_CONSTANT_ALPHA. + The initial value is GL_ZERO. + + + + + + Description + + Pixels can be drawn using a function that blends + the incoming (source) RGBA values with the RGBA values + that are already in the frame buffer (the destination values). + Blending is initially disabled. + Use glEnable and glDisable with argument GL_BLEND + to enable and disable blending. + + + glBlendFunc defines the operation of blending when it is enabled. + sfactor specifies which method is used to scale the + source color components. + dfactor specifies which method is used to scale the + destination color components. + Both parameters must be one of the following symbolic constants: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA, + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, + GL_ONE_MINUS_CONSTANT_ALPHA, + GL_SRC_ALPHA_SATURATE, + The possible methods are described in the following table. + Each method defines four scale factors, + one each for red, green, blue, and alpha. + In the table and in subsequent equations, source + and destination color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + , + and + + + + R + d + + G + d + + B + d + + A + d + + + , respectively. + The color specified by glBlendColor is referred to as + + + + R + c + + G + c + + B + c + + A + c + + + . + + + Source and destination scale factors are referred to as + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + . + The scale factors described in the table, + denoted + + + + f + R + + f + G + + f + B + + f + A + + + , + represent either source or destination factors. + All scale factors have range + + + + 0 + 1 + + . + + + Prior to blending, unsigned normalized fixed-point color components undergo + an implied conversion to floating-point using equation 2.1. This conversion must + leave the values 0 and 1 invariant. Blending computations are treated as if carried + out in floating-point and will be performed with a precision and dynamic range no + lower than that used to represent destination components. + If the value of GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the + framebuffer attachment corresponding to the destination buffer is GL_SRGB, + the R, G, and B destination color values (after conversion from fixed-point + to floating-point) are considered to be encoded for the sRGB color space and + hence must be linearized prior to their use in blending. Each R, G, and B component + is converted in the same fashion described for sRGB texture components. + + + + + + + + + + + Parameter + + + + + + + f + R + + f + G + + f + B + + f + A + + + + + + + + + + + GL_ZERO + + + + + + 0 + 0 + 0 + 0 + + + + + + + GL_ONE + + + + + + 1 + 1 + 1 + 1 + + + + + + + GL_SRC_COLOR + + + + + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + A + s + + k + A + + + + + + + + + GL_ONE_MINUS_SRC_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + A + s + + k + A + + + + + + + + + + GL_DST_COLOR + + + + + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + A + d + + k + A + + + + + + + + + GL_ONE_MINUS_DST_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + A + d + + k + A + + + + + + + + + + GL_SRC_ALPHA + + + + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + GL_ONE_MINUS_SRC_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + GL_DST_ALPHA + + + + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + GL_ONE_MINUS_DST_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + GL_CONSTANT_COLOR + + + + + + R + c + + G + c + + B + c + + A + c + + + + + + + + GL_ONE_MINUS_CONSTANT_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + R + c + + G + c + + B + c + + A + c + + + + + + + + + GL_CONSTANT_ALPHA + + + + + + A + c + + A + c + + A + c + + A + c + + + + + + + + GL_ONE_MINUS_CONSTANT_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + A + c + + A + c + + A + c + + A + c + + + + + + + + + GL_SRC_ALPHA_SATURATE + + + + + + i + i + i + 1 + + + + + + + + + In the table, + + + + + + i + = + + + min + + + A + s + + + k + A + + - + A + d + + + + + k + A + + + + + + + To determine the blended RGBA values of a pixel, + the system uses the following equations: + + + + + + R + d + + = + + min + + + k + R + + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + + + G + d + + = + + min + + + k + G + + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + + + B + d + + = + + min + + + k + B + + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + A + d + + = + + min + + + k + A + + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the framebuffer + attachment corresponding to the destination buffer is GL_SRGB, the R, G, and B + values after blending are converted into the non-linear sRGB color space by computing + + where cl is the R, G, or B element and cs is the result (effectively converted into an + sRGB color space). + If GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING is not GL_SRGB, then + cs = cl: + The resulting cs values for R, G, and B, and the unmodified A form a new + RGBA color value. If the color buffer is fixed-point, each component is clamped + to the range [0; 1] and then converted to a fixed-point value using equation + + + Examples + + + + Transparency is best implemented using blend function + (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + with primitives sorted from farthest to nearest. + Note that this transparency calculation does not require + the presence of alpha bitplanes in the frame buffer. + + + Blend function + (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + is also useful for rendering antialiased points and lines + in arbitrary order. + + + Notes + + Incoming (source) alpha is correctly thought of as a material opacity, + ranging from 1.0 + ( + + K + A + + ), + representing complete opacity, + to 0.0 (0), representing complete + transparency. + + + When more than one color buffer is enabled for drawing, + the GL performs blending separately for each enabled buffer, + using the contents of that buffer for destination color. + (See glDrawBuffers.) + + + Errors + + GL_INVALID_ENUM is generated if either sfactor + or dfactor is not an accepted value. + + + Associated Gets + + glGet with argument GL_BLEND_SRC + + + glGet with argument GL_BLEND_DST + + + glIsEnabled with argument GL_BLEND + + + + + + API Version Support + + + + + + glBlendFunc + + + + + + + See Also + + glBlendColor, + glBlendEquation, + glBlendFuncSeparate, + glClear, + glDrawBuffers, + glEnable, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBlendFuncSeparate.xml b/Source/Bind/Specifications/Docs/ES31/glBlendFuncSeparate.xml new file mode 100644 index 00000000..8bb61279 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBlendFuncSeparate.xml @@ -0,0 +1,1152 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glBlendFuncSeparate + 3G + + + glBlendFuncSeparate + specify pixel arithmetic for RGB and alpha components separately + + + C Specification + + + void glBlendFuncSeparate + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + + Parameters + + + srcRGB + + + Specifies how the red, green, and blue blending factors are computed. + The initial value is GL_ONE. + + + + + dstRGB + + + Specifies how the red, green, and blue destination blending factors are + computed. + The initial value is GL_ZERO. + + + + + srcAlpha + + + Specified how the alpha source blending factor is computed. + The initial value is GL_ONE. + + + + + dstAlpha + + + Specified how the alpha destination blending factor is computed. + The initial value is GL_ZERO. + + + + + + Description + + Pixels can be drawn using a function that blends + the incoming (source) RGBA values with the RGBA values + that are already in the frame buffer (the destination values). + Blending is initially disabled. + Use glEnable and glDisable with argument GL_BLEND + to enable and disable blending. + + + glBlendFuncSeparate defines the operation of blending when it is enabled. + srcRGB specifies which method is used to scale the + source RGB-color components. + dstRGB specifies which method is used to scale the + destination RGB-color components. + Likewise, srcAlpha specifies which method is used to scale the source alpha + color component, and dstAlpha specifies which method is used to scale the + destination alpha component. + The possible methods are described in the following table. + Each method defines four scale factors, + one each for red, green, blue, and alpha. + + + In the table and in subsequent equations, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + , + and + + + + R + d + + G + d + + B + d + + A + d + + + , respectively. + The color specified by glBlendColor is referred to as + + + + R + c + + G + c + + B + c + + A + c + + + . + + + Source and destination scale factors are referred to as + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + . + All scale factors have range + + + + 0 + 1 + + . + + + Prior to blending, unsigned normalized fixed-point color components undergo + an implied conversion to floating-point using equation 2.1. This conversion must + leave the values 0 and 1 invariant. Blending computations are treated as if carried + out in floating-point and will be performed with a precision and dynamic range no + lower than that used to represent destination components. + If the value of GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the + framebuffer attachment corresponding to the destination buffer is GL_SRGB, + the R, G, and B destination color values (after conversion from fixed-point + to floating-point) are considered to be encoded for the sRGB color space and + hence must be linearized prior to their use in blending. Each R, G, and B component + is converted in the same fashion described for sRGB texture components. + + + + + + + + + + + + Parameter + + + RGB Factor + + + Alpha Factor + + + + + + + GL_ZERO + + + + + + 0 + 0 + 0 + + + + + + + 0 + + + + + + GL_ONE + + + + + + 1 + 1 + 1 + + + + + + + 1 + + + + + + GL_SRC_COLOR + + + + + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + + + + + + + A + s + + k + A + + + + + + + + GL_ONE_MINUS_SRC_COLOR + + + + + + + 1 + 1 + 1 + + - + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + + + + + + + + 1 + - + + A + s + + k + A + + + + + + + + + GL_DST_COLOR + + + + + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + + + + + + + A + d + + k + A + + + + + + + + GL_ONE_MINUS_DST_COLOR + + + + + + + 1 + 1 + 1 + + - + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + + + + + + + + 1 + - + + A + d + + k + A + + + + + + + + + GL_SRC_ALPHA + + + + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + A + s + + k + A + + + + + + + + GL_ONE_MINUS_SRC_ALPHA + + + + + + + 1 + 1 + 1 + + - + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + + 1 + - + + A + s + + k + A + + + + + + + + + GL_DST_ALPHA + + + + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + A + d + + k + A + + + + + + + + GL_ONE_MINUS_DST_ALPHA + + + + + + + 1 + 1 + 1 + + - + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + + 1 + - + + A + d + + k + A + + + + + + + + + GL_CONSTANT_COLOR + + + + + + R + c + + G + c + + B + c + + + + + + + + A + c + + + + + + + GL_ONE_MINUS_CONSTANT_COLOR + + + + + + + 1 + 1 + 1 + + - + + R + c + + G + c + + B + c + + + + + + + + + + 1 + - + A + c + + + + + + + + GL_CONSTANT_ALPHA + + + + + + A + c + + A + c + + A + c + + + + + + + + A + c + + + + + + + GL_ONE_MINUS_CONSTANT_ALPHA + + + + + + + 1 + 1 + 1 + + - + + A + c + + A + c + + A + c + + + + + + + + + + 1 + - + A + c + + + + + + + + GL_SRC_ALPHA_SATURATE + + + + + + i + i + i + + + + + + + 1 + + + + + + + + In the table, + + + + + + i + = + + min + + + A + s + + + 1 + - + + A + d + + + + + + + + + + To determine the blended RGBA values of a pixel, + the system uses the following equations: + + + + + + R + d + + = + + min + + + k + R + + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + + + G + d + + = + + min + + + k + G + + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + + + B + d + + = + + min + + + k + B + + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + A + d + + = + + min + + + k + A + + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the framebuffer + attachment corresponding to the destination buffer is GL_SRGB, the R, G, and B + values after blending are converted into the non-linear sRGB color space by computing + + where cl is the R, G, or B element and cs is the result (effectively converted into an + sRGB color space). + If GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING is not GL_SRGB, then + cs = cl: + The resulting cs values for R, G, and B, and the unmodified A form a new + RGBA color value. If the color buffer is fixed-point, each component is clamped + to the range [0; 1] and then converted to a fixed-point value using equation + + + Notes + + Incoming (source) alpha is correctly thought of as a material opacity, + ranging from 1.0 + ( + + K + A + + ), + representing complete opacity, + to 0.0 (0), representing complete + transparency. + + + When more than one color buffer is enabled for drawing, + the GL performs blending separately for each enabled buffer, + using the contents of that buffer for destination color. + (See glDrawBuffers.) + + + Errors + + GL_INVALID_ENUM is generated if either srcRGB or dstRGB is not an + accepted value. + + + Associated Gets + + glGet with argument GL_BLEND_SRC_RGB + + + glGet with argument GL_BLEND_SRC_ALPHA + + + glGet with argument GL_BLEND_DST_RGB + + + glGet with argument GL_BLEND_DST_ALPHA + + + glIsEnabled with argument GL_BLEND + + + + + + API Version Support + + + + + + glBlendFuncSeparate + + + + + + + See Also + + glBlendColor, + glBlendFunc, + glBlendEquation, + glBlendEquationSeparate, + glClear, + glDrawBuffers, + glEnable, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBlitFramebuffer.xml b/Source/Bind/Specifications/Docs/ES31/glBlitFramebuffer.xml new file mode 100644 index 00000000..aaee6c14 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBlitFramebuffer.xml @@ -0,0 +1,199 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glBlitFramebuffer + 3G + + + glBlitFramebuffer + copy a block of pixels from the read framebuffer to the draw framebuffer + + + C Specification + + + void glBlitFramebuffer + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + + + + Parameters + + + srcX0 + srcY0 + srcX1 + srcY1 + + + Specify the bounds of the source rectangle within the read buffer of the read framebuffer. + + + + + dstX0 + dstY0 + dstX1 + dstY1 + + + Specify the bounds of the destination rectangle within the write buffer of the write framebuffer. + + + + + mask + + + The bitwise OR of the flags indicating which buffers are to be copied. The allowed flags are + GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT and GL_STENCIL_BUFFER_BIT. + + + + + filter + + + Specifies the interpolation to be applied if the image is stretched. Must be GL_NEAREST or GL_LINEAR. + + + + + + Description + + glBlitFramebuffer transfers a rectangle of pixel values from one region of the read framebuffer to another region in + the draw framebuffer. mask is the bitwise OR of a number of values indicating which buffers are + to be copied. The values are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, and + GL_STENCIL_BUFFER_BIT. The pixels corresponding to these buffers are copied from the source rectangle bounded by the + locations (srcX0; srcY0) and (srcX1; srcY1) + to the destination rectangle bounded by the locations (dstX0; dstY0) and + (dstX1; dstY1). The lower bounds of the rectangle are inclusive, while the upper + bounds are exclusive. + + + The actual region taken from the read framebuffer is limited to the intersection of the source buffers being transferred, which may + include the color buffer selected by the read buffer, the depth buffer, and/or the stencil buffer depending on mask. The actual region + written to the draw framebuffer is limited to the intersection of the destination buffers being written, which may include multiple draw + buffers, the depth buffer, and/or the stencil buffer depending on mask. Whether or not the source or destination regions are altered due + to these limits, the scaling and offset applied to pixels being transferred is performed as though no such limits were present. + + + If the sizes of the source and destination rectangles are not equal, filter specifies the interpolation method that + will be applied to resize the source image , and must be GL_NEAREST or GL_LINEAR. + GL_LINEAR is only a valid interpolation method for the color buffer. If filter is not + GL_NEAREST and mask includes GL_DEPTH_BUFFER_BIT or + GL_STENCIL_BUFFER_BIT, no data is transferred and a GL_INVALID_OPERATION error is generated. + + + If filter is GL_LINEAR and the source rectangle would require sampling outside the bounds of + the source framebuffer, values are read as if the GL_CLAMP_TO_EDGE texture wrapping mode were applied. + + + When the color buffer is transferred, values are taken from the read buffer of the read framebuffer and written to each of the draw + buffers of the draw framebuffer. + + + If the source and destination rectangles overlap or are the same, and the read and draw buffers are the same, the result of the operation + is undefined. + + + If SAMPLE_BUFFERS for the read framebuffer is greater than zero and SAMPLE_BUFFERS for the + draw framebuffer is zero, the samples corresponding to each pixel location in the source are converted to a single sample before being + written to the destination. + + + Errors + + GL_INVALID_OPERATION is generated if mask contains any of the GL_DEPTH_BUFFER_BIT + or GL_STENCIL_BUFFER_BIT and filter is not GL_NEAREST. + + + GL_INVALID_OPERATION is generated if mask contains GL_COLOR_BUFFER_BIT + and any of the following conditions hold: + + + The read buffer contains fixed-point or floating-point values and any draw buffer contains + neither fixed-point nor floating-point values. + + + The read buffer contains unsigned integer values and any draw buffer does not contain unsigned + integer values. + + + The read buffer contains signed integer values and any draw buffer does not contain signed integer values. + + + + + GL_INVALID_OPERATION is generated if mask contains GL_DEPTH_BUFFER_BIT or + GL_DEPTH_BUFFER_BIT and the source and destination depth and stencil formats do not match. + + + GL_INVALID_OPERATION is generated if filter is GL_LINEAR and the read buffer + contains integer data. + + + GL_INVALID_OPERATION is generated if the value of GL_SAMPLE_BUFFERS for the draw buffer is + greater than zero. + + + GL_INVALID_OPERATION is generated if GL_SAMPLE_BUFFERS for the read buffer is greater than + zero and the formats of draw and read buffers are not identical, or the source and destination rectangles are not defined with the same + (X0, Y0) and (X1, Y1) bounds. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the objects bound to GL_DRAW_FRAMEBUFFER_BINDING + or GL_READ_FRAMEBUFFER_BINDING are not framebuffer complete. + + + + API Version Support + + + + + + glBlitFramebuffer + + + + + + + See Also + + glReadPixels + glCheckFramebufferStatus, + glGenFramebuffers + glBindFramebuffer + glDeleteFramebuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBufferData.xml b/Source/Bind/Specifications/Docs/ES31/glBufferData.xml new file mode 100644 index 00000000..5946b6f0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBufferData.xml @@ -0,0 +1,244 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glBufferData + 3G + + + glBufferData + creates and initializes a buffer object's data store + + + C Specification + + + void glBufferData + GLenum target + GLsizeiptr size + const GLvoid * data + GLenum usage + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be + GL_ARRAY_BUFFER, + GL_ATOMIC_COUNTER_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_DRAW_INDIRECT_BUFFER, + GL_DISPATCH_INDIRECT_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_SHADER_STORAGE_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + size + + + Specifies the size in bytes of the buffer object's new data store. + + + + + data + + + Specifies a pointer to data that will be copied into the data store for initialization, + or NULL if no data is to be copied. + + + + + usage + + + Specifies the expected usage pattern of the data store. The symbolic constant must be + GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, + GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, + GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. + + + + + + Description + + glBufferData creates a new data store for the buffer object currently bound to + target. Any pre-existing data store is deleted. The new data store is created with the + specified size in bytes and usage. If data + is not NULL, the data store is initialized with data from this pointer. In its initial + state, the new data store is not mapped, it has a NULL mapped pointer, and its mapped access + is GL_READ_WRITE. + + + usage is a hint to the GL implementation as to how a buffer object's data store will be + accessed. This enables the GL implementation to make more intelligent decisions that may significantly + impact buffer object performance. It does not, however, constrain the actual usage of the data store. + usage can be broken down into two parts: first, the frequency of access (modification + and usage), and second, the nature of that access. The frequency of access may be one of these: + + + + STREAM + + + The data store contents will be modified once and used at most a few times. + + + + + STATIC + + + The data store contents will be modified once and used many times. + + + + + DYNAMIC + + + The data store contents will be modified repeatedly and used many times. + + + + + + The nature of access may be one of these: + + + + DRAW + + + The data store contents are modified by the application, and used as the source for GL drawing and + image specification commands. + + + + + READ + + + The data store contents are modified by reading data from the GL, and used to return that data + when queried by the application. + + + + + COPY + + + The data store contents are modified by reading data from the GL, and used as the source for GL + drawing and image specification commands. + + + + + + Notes + + If data is NULL, a data store of the specified size is still created, + but its contents remain uninitialized and thus undefined. + + + Clients must align data elements consistently with the requirements of the client + platform, with an additional base-level requirement that an offset within a buffer to + a datum comprising N bytes be a + multiple of N. + + + The GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, + GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_READ_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER and GL_UNIFORM_BUFFER + targets are available only if the GL ES version is 3.0 or greater. + + + The GL_ATOMIC_COUNTER_BUFFER, GL_DISPATCH_INDIRECT_BUFFER, + GL_DRAW_INDIRECT_BUFFER and GL_SHADER_STORAGE_BUFFER + targets are available only if the GL ES version is 3.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not + one of the accepted buffer targets. + + + GL_INVALID_ENUM is generated if usage is not + GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, + GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, + GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. + + + GL_INVALID_VALUE is generated if size is negative. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store with the specified size. + + + Associated Gets + + glGetBufferParameter with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE + + + + API Version Support + + + + + + glBufferData + + + + + + + See Also + + glBindBuffer, + glBufferSubData, + glMapBufferRange, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glBufferSubData.xml b/Source/Bind/Specifications/Docs/ES31/glBufferSubData.xml new file mode 100644 index 00000000..6d0cb92c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glBufferSubData.xml @@ -0,0 +1,173 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glBufferSubData + 3G + + + glBufferSubData + updates a subset of a buffer object's data store + + + C Specification + + + void glBufferSubData + GLenum target + GLintptr offset + GLsizeiptr size + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be + GL_ARRAY_BUFFER, + GL_ATOMIC_COUNTER_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_DRAW_INDIRECT_BUFFER, + GL_DISPATCH_INDIRECT_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_SHADER_STORAGE_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + offset + + + Specifies the offset into the buffer object's data store where data replacement will begin, + measured in bytes. + + + + + size + + + Specifies the size in bytes of the data store region being replaced. + + + + + data + + + Specifies a pointer to the new data that will be copied into the data store. + + + + + + Description + + glBufferSubData redefines some or all of the data store for the buffer object currently + bound to target. Data starting at byte offset offset and + extending for size bytes is copied to the data store from the memory pointed to by + data. An error is thrown if offset and size + together define a range beyond the bounds of the buffer object's data store. + + + Notes + + When replacing the entire data store, consider using glBufferSubData rather + than completely recreating the data store with glBufferData. This avoids the cost of + reallocating the data store. + + + Consider using multiple buffer objects to avoid stalling the rendering pipeline during data store updates. + If any rendering in the pipeline makes reference to data in the buffer object being updated by + glBufferSubData, especially from the specific region being updated, that rendering must + drain from the pipeline before the data store can be updated. + + + Clients must align data elements consistently with the requirements of the client + platform, with an additional base-level requirement that an offset within a buffer to + a datum comprising N bytes be a + multiple of N. + + + The GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, + GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_READ_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER and GL_UNIFORM_BUFFER + targets are available only if the GL ES version is 3.0 or greater. + + + The GL_ATOMIC_COUNTER_BUFFER, GL_DISPATCH_INDIRECT_BUFFER, + GL_DRAW_INDIRECT_BUFFER and GL_SHADER_STORAGE_BUFFER + targets are available only if the GL ES version is 3.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not + one of the accepted buffer targets. + + + GL_INVALID_VALUE is generated if offset or + size is negative, or if together they define a region of memory + that extends beyond the buffer object's allocated data store. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_INVALID_OPERATION is generated if the buffer object being updated is mapped. + + + + API Version Support + + + + + + glBufferSubData + + + + + + + See Also + + glBindBuffer, + glBufferData, + glMapBufferRange, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCheckFramebufferStatus.xml b/Source/Bind/Specifications/Docs/ES31/glCheckFramebufferStatus.xml new file mode 100644 index 00000000..33482154 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCheckFramebufferStatus.xml @@ -0,0 +1,120 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glCheckFramebufferStatus + 3G + + + glCheckFramebufferStatus + check the completeness status of a framebuffer + + + C Specification + + + GLenum glCheckFramebufferStatus + GLenum target + + + + Parameters + + + target + + + Specify the target of the framebuffer completeness check. + + + + + + Description + + glCheckFramebufferStatus queries the completeness status of the framebuffer object currently bound to target. + target must be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. + GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER. + + + The return value is GL_FRAMEBUFFER_COMPLETE if the framebuffer bound to target is complete. Otherwise, + the return value is determined as follows: + + + + GL_FRAMEBUFFER_UNDEFINED is returned if target is the default framebuffer, but the default framebuffer does not exist. + + + + + GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT is returned if any of the framebuffer attachment points are framebuffer incomplete. + + + + + GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT is returned if the framebuffer does not have at least one image attached to it. + + + + + GL_FRAMEBUFFER_UNSUPPORTED is returned if depth and stencil attachments, if present, are not the same renderbuffer, or if + the combination of internal formats of the attached images violates an implementation-dependent set of restrictions. + + + + + GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE is returned if the value of GL_RENDERBUFFER_SAMPLES is not the same + for all attached renderbuffers or, if the attached images are a mix of renderbuffers and textures, the value of GL_RENDERBUFFER_SAMPLES + is not zero. + + + + + + Additionally, if an error occurs, zero is returned. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. + + + + API Version Support + + + + + + glCheckFramebufferStatus + + + + + + + See Also + + glGenFramebuffers, + glDeleteFramebuffers + glBindFramebuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glClear.xml b/Source/Bind/Specifications/Docs/ES31/glClear.xml new file mode 100644 index 00000000..d952c5e1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glClear.xml @@ -0,0 +1,167 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glClear + 3G + + + glClear + clear buffers to preset values + + + C Specification + + + void glClear + GLbitfield mask + + + + Parameters + + + mask + + + Bitwise OR of masks that indicate the buffers to be cleared. + The three masks are + GL_COLOR_BUFFER_BIT, + GL_DEPTH_BUFFER_BIT, and + GL_STENCIL_BUFFER_BIT. + + + + + + Description + + glClear sets the bitplane area of the window to values previously selected + by glClearColor, glClearDepthf, and + glClearStencil. + Multiple color buffers can be cleared simultaneously by selecting + more than one buffer at a time using glDrawBuffers. + + + The pixel ownership test, + the scissor test, + sRGB conversion, + dithering, and the buffer writemasks affect the operation of glClear. + The scissor box bounds the cleared region. + Alpha function, + blend function, + stenciling, + texture mapping, + and depth-buffering are ignored by glClear. + + + glClear takes a single argument that is the bitwise OR of several + values indicating which buffer is to be cleared. + + + The values are as follows: + + + + GL_COLOR_BUFFER_BIT + + + Indicates the buffers currently enabled for color + writing. + + + + + GL_DEPTH_BUFFER_BIT + + + Indicates the depth buffer. + + + + + GL_STENCIL_BUFFER_BIT + + + Indicates the stencil buffer. + + + + + + The value to which each buffer is cleared depends on the setting of the + clear value for that buffer. + + + Notes + + If a buffer is not present, + then a glClear directed at that buffer has no effect. + + + Errors + + GL_INVALID_VALUE is generated if any bit other than the three defined + bits is set in mask. + + + Associated Gets + + glGet with argument GL_DEPTH_CLEAR_VALUE + + + glGet with argument GL_COLOR_CLEAR_VALUE + + + glGet with argument GL_STENCIL_CLEAR_VALUE + + + + API Version Support + + + + + + glClear + + + + + + + See Also + + glClearBuffer, + glClearColor, + glClearDepthf, + glClearStencil, + glColorMask, + glDepthMask, + glDrawBuffers, + glScissor, + glStencilMask + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glClearBuffer.xml b/Source/Bind/Specifications/Docs/ES31/glClearBuffer.xml new file mode 100644 index 00000000..311283b2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glClearBuffer.xml @@ -0,0 +1,197 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glClearBuffer + 3G + + + glClearBuffer + clear individual buffers of the currently bound draw framebuffer + + + C Specification + + + void glClearBufferiv + GLenum buffer + GLint drawBuffer + const GLint * value + + + + + void glClearBufferuiv + GLenum buffer + GLint drawBuffer + const GLuint * value + + + + + void glClearBufferfv + GLenum buffer + GLint drawBuffer + const GLfloat * value + + + + + void glClearBufferfi + GLenum buffer + GLint drawBuffer + GLfloat depth + GLint stencil + + + + Parameters + + + buffer + + + Specify the buffer to clear. + + + + + drawBuffer + + + Specify a particular draw buffer to clear. + + + + + value + + + For color buffers, a pointer to a four-element vector specifying R, G, B and A values to clear the buffer to. + For depth buffers, a pointer to a single depth value to clear the buffer to. + For stencil buffers, a pointer to a single stencil value to clear the buffer to. + + + + + depth + + + The value to clear a depth render buffer to. + + + + + stencil + + + The value to clear a stencil render buffer to. + + + + + + Description + + glClearBuffer* clears the specified buffer to the specified value(s). If buffer is + GL_COLOR, a particular draw buffer GL_DRAWBUFFERi is specified + by passing i as drawBuffer. In this case, value points to + a four-element vector specifying the R, G, B and A color to clear that draw buffer to. The glClearBufferfv, + glClearBufferiv, and glClearBufferuiv commands should be used to clear fixed-point, + signed integer, and unsigned integer color buffers respectively. Clamping and conversion for fixed-point color + buffers are performed in the same fashion as glClearColor. + + + If buffer is GL_DEPTH, drawBuffer must be zero, and value + points to a single value to clear the depth buffer to. Only glClearBufferfv should be used to clear + depth buffers. Clamping and conversion for fixed-point depth buffers are performed in the same fashion as + glClearDepthf. + + + If buffer is GL_STENCIL, drawBuffer must be zero, and value + points to a single value to clear the stencil buffer to. Only glClearBufferiv should be used to clear + stencil buffers. Masing and type conversion are performed in the same fashion as + glClearStencil. + + + glClearBufferfi may be used to clear the depth and stencil buffers. buffer must be + GL_DEPTH_STENCIL and drawBuffer must be zero. depth and + stencil are the depth and stencil values, respectively. + + + The result of glClearBuffer is undefined if no conversion between the type of value + and the buffer being cleared is defined. However, this is not an error. + + + Errors + + GL_INVALID_ENUM is generated by glClearBufferif, glClearBufferfv + and glClearBufferuiv if buffer is not GL_COLOR, + GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, + GL_FRONT_AND_BACK, GL_DEPTH or GL_STENCIL. + + + GL_INVALID_ENUM is generated by glClearBufferfi if buffer + is not GL_DEPTH_STENCIL. + + + GL_INVALID_VALUE is generated if buffer is GL_COLOR, + GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, + or GL_FRONT_AND_BACK and drawBuffer is greater than or equal to GL_MAX_DRAW_BUFFERS. + + + GL_INVALID_VALUE is generated if buffer is GL_DEPTH, + GL_STENCIL or GL_DEPTH_STENCIL and drawBuffer is not zero. + + + + API Version Support + + + + + + glClearBufferiv + + + + glClearBufferuiv + + + + glClearBufferfv + + + + glClearBufferfi + + + + + + + See Also + + glClearColor, + glClearDepthf, + glClearStencil, + glClear + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glClearColor.xml b/Source/Bind/Specifications/Docs/ES31/glClearColor.xml new file mode 100644 index 00000000..26eb486c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glClearColor.xml @@ -0,0 +1,105 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glClearColor + 3G + + + glClearColor + specify clear values for the color buffers + + + C Specification + + + void glClearColor + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha + + + + Parameters + + + red + green + blue + alpha + + + Specify the red, green, blue, and alpha values used when the + color buffers are cleared. + The initial values are all 0. + + + + + + Description + + glClearColor specifies the red, + green, + blue, + and alpha values used by glClear to clear fixed- and + floating-point color buffers. + Unsigned normalized fixed point RGBA color buffers are cleared to color values derived by clamping each component of + the clear color to the range + + + + 0 + 1 + + , + then converting the (possibly sRGB converted and/or dithered) color to fixed-point. + + + Associated Gets + + glGet with argument GL_COLOR_CLEAR_VALUE + + + + API Version Support + + + + + + glClearColor + + + + + + + See Also + + glClear + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glClearDepthf.xml b/Source/Bind/Specifications/Docs/ES31/glClearDepthf.xml new file mode 100644 index 00000000..15888c01 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glClearDepthf.xml @@ -0,0 +1,93 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glClearDepthf + 3G + + + glClearDepthf + specify the clear value for the depth buffer + + + C Specification + + + void glClearDepthf + GLfloat depth + + + + Parameters + + + depth + + + Specifies the depth value used when the depth buffer is cleared. The + initial value is 1. + + + + + + Description + + glClearDepthf specifies the depth value used by glClear to clear the depth buffer. + When clearing a fixed-point depth buffer, values specified by glClearDepthf are clamped to the range + + + + 0 + 1 + + , + and converted to fixed-point. No clamping or conversion is applied when clearing a floating-point depth buffer. + + + Associated Gets + + glGet with argument GL_DEPTH_CLEAR_VALUE + + + + API Version Support + + + + + + glClearDepthf + + + + + + + See Also + + glClear + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glClearStencil.xml b/Source/Bind/Specifications/Docs/ES31/glClearStencil.xml new file mode 100644 index 00000000..ffad673b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glClearStencil.xml @@ -0,0 +1,107 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glClearStencil + 3G + + + glClearStencil + specify the clear value for the stencil buffer + + + C Specification + + + void glClearStencil + GLint s + + + + Parameters + + + s + + + Specifies the index used when the stencil buffer is cleared. + The initial value is 0. + + + + + + Description + + glClearStencil specifies the index used by glClear to clear the stencil buffer. + When clearing a stencil buffer, s is masked with + + + + 2 + m + + - + 1 + + , + where + m + is the number of bits in the stencil buffer. + + + Associated Gets + + glGet with argument GL_STENCIL_CLEAR_VALUE + + + glGet with argument GL_STENCIL_BITS + + + + API Version Support + + + + + + glClearStencil + + + + + + + See Also + + glClear, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glClientWaitSync.xml b/Source/Bind/Specifications/Docs/ES31/glClientWaitSync.xml new file mode 100644 index 00000000..ce5c2fd4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glClientWaitSync.xml @@ -0,0 +1,130 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glClientWaitSync + 3G + + + glClientWaitSync + block and wait for a sync object to become signaled + + + C Specification + + + GLenum glClientWaitSync + GLsync sync + GLbitfield flags + GLuint64 timeout + + + + Parameters + + + sync + + + The sync object whose status to wait on. + + + + + flags + + + A bitfield controlling the command flushing behavior. flags may be GL_SYNC_FLUSH_COMMANDS_BIT. + + + + + timeout + + + The timeout, specified in nanoseconds, for which the implementation should wait for sync to become signaled. + + + + + + Description + + glClientWaitSync causes the client to block and wait for the sync object specified by sync to become signaled. If + sync is signaled when glClientWaitSync is called, glClientWaitSync returns immediately, otherwise + it will block and wait for up to timeout nanoseconds for sync to become signaled. + + + The return value is one of four status values: + + + + GL_ALREADY_SIGNALED indicates that sync was signaled at the time that glClientWaitSync + was called. + + + + + GL_TIMEOUT_EXPIRED indicates that at least timeout nanoseconds passed and sync did not + become signaled. + + + + + GL_CONDITION_SATISFIED indicates that sync was signaled before the timeout expired. + + + + + GL_WAIT_FAILED indicates that an error occurred. Additionally, an OpenGL error will be generated. + + + + + + Errors + + GL_INVALID_VALUE is generated if sync is not the name of an existing sync object. + + + GL_INVALID_VALUE is generated if flags contains any unsupported flag. + + + + API Version Support + + + + + + glClientWaitSync + + + + + + + See Also + + glFenceSync, + glIsSync + glWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glColorMask.xml b/Source/Bind/Specifications/Docs/ES31/glColorMask.xml new file mode 100644 index 00000000..b7553807 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glColorMask.xml @@ -0,0 +1,105 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glColorMask + 3G + + + glColorMask + enable and disable writing of frame buffer color components + + + C Specification + + + void glColorMask + GLboolean red + GLboolean green + GLboolean blue + GLboolean alpha + + + + Parameters + + + red + green + blue + alpha + + + Specify whether red, green, blue, and alpha are to be written + into the frame buffer. + The initial values are all GL_TRUE, + indicating that the color components are written. + + + + + + Description + + glColorMask specifies whether the individual color components in the frame buffer + can or cannot be written. glColorMask sets the mask for all active draw buffers. + If red is GL_FALSE, + for example, + no change is made to the red component of any pixel in any of the + color buffers, + regardless of the drawing operation attempted. + + + Changes to individual bits of components cannot be controlled. + Rather, + changes are either enabled or disabled for entire color components. + + + Associated Gets + + glGet with argument GL_COLOR_WRITEMASK + + + + API Version Support + + + + + + glColorMask + + + + + + + See Also + + glClear, + glDepthMask, + glStencilMask + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCompileShader.xml b/Source/Bind/Specifications/Docs/ES31/glCompileShader.xml new file mode 100644 index 00000000..ba22bd40 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCompileShader.xml @@ -0,0 +1,111 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glCompileShader + 3G + + + glCompileShader + Compiles a shader object + + + C Specification + + + void glCompileShader + GLuint shader + + + + Parameters + + + shader + + Specifies the shader object to be + compiled. + + + + + Description + glCompileShader compiles the source + code strings that have been stored in the shader object + specified by shader. + + The compilation status will be stored as part of the + shader object's state. This value will be set to + GL_TRUE if the shader was compiled without + errors and is ready for use, and GL_FALSE + otherwise. It can be queried by calling + glGetShaderiv + with arguments shader and + GL_COMPILE_STATUS. + + Compilation of a shader can fail for a number of reasons + as specified by the OpenGL ES Shading Language Specification. + Whether or not the compilation was successful, information about + the compilation can be obtained from the shader object's + information log by calling + glGetShaderInfoLog. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + + Associated Gets + glGetShaderInfoLog + with argument shader + + glGetShaderiv + with arguments shader and + GL_COMPILE_STATUS + glIsShader + + + API Version Support + + + + + + glCompileShader + + + + + + + See Also + glCreateShader, + glLinkProgram, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCompressedTexImage2D.xml b/Source/Bind/Specifications/Docs/ES31/glCompressedTexImage2D.xml new file mode 100644 index 00000000..c45bf36d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCompressedTexImage2D.xml @@ -0,0 +1,237 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCompressedTexImage2D + 3G + + + glCompressedTexImage2D + specify a two-dimensional texture image in a compressed format + + + C Specification + + + void glCompressedTexImage2D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLint border + GLsizei imageSize + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the format of the compressed image data stored at address data. + + + + + width + + + Specifies the width of the texture image. + All implementations support 2D and cube-mapped texture images that are at least 2048 texels + wide. + + + + + height + + + Specifies the height of the texture image. + All implementations support 2D and cube-mapped texture images that are at least 2048 texels + high. + + + + + border + + + This value must be 0. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glCompressedTexImage2D loads a previously defined, and retrieved, compressed two-dimensional + texture image if target is GL_TEXTURE_2D, or one of the + cube map faces such as GL_TEXTURE_CUBE_MAP_POSITIVE_X. + (see glTexImage2D). + + + internalformat must be a compressed image format from Table 1 below, + or an extension-specified compressed-texture format. + + + imageSize must be appropriate for the width, height and + depth of the internalformat specified. The size for an ETC/EAC image + is given in Table 1 below. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + + + + Errors + + GL_INVALID_ENUM is generated if internalformat is not one of the specific + compressed internal formats: + GL_COMPRESSED_R11_EAC, + GL_COMPRESSED_SIGNED_R11_EAC, + GL_COMPRESSED_RG11_EAC, + GL_COMPRESSED_SIGNED_RG11_EAC, + GL_COMPRESSED_RGB8_ETC2, + GL_COMPRESSED_SRGB8_ETC2, + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_RGBA8_ETC2_EAC, or + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glCompressedTexImage2D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCompressedTexImage3D.xml b/Source/Bind/Specifications/Docs/ES31/glCompressedTexImage3D.xml new file mode 100644 index 00000000..27a8a7d0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCompressedTexImage3D.xml @@ -0,0 +1,236 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCompressedTexImage3D + 3G + + + glCompressedTexImage3D + specify a three-dimensional texture image in a compressed format + + + C Specification + + + void glCompressedTexImage3D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLsizei imageSize + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D, or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the format of the compressed image data stored at address data. + + + + + width + + + Specifies the width of the texture image. + + + + + height + + + Specifies the height of the texture image. + + + + + depth + + + Specifies the depth of the texture image. + + + + + border + + + This value must be 0. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glCompressedTexImage3D loads a previously defined, and retrieved, compressed three-dimensional + texture image if target is GL_TEXTURE_3D (see glTexImage3D). + + + If target is GL_TEXTURE_2D_ARRAY, data is + treated as an array of compressed 2D textures. + + + internalformat must be a compressed image format from Table 1 below, + or an extension-specified compressed-texture format. + + + imageSize must be appropriate for the width, height and + depth of the internalformat specified. The size for a single slice of ETC/EAC + is given in Table 1 below. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + + + + Errors + + GL_INVALID_ENUM is generated if internalformat is not one of the specific + compressed internal formats: + GL_COMPRESSED_R11_EAC, + GL_COMPRESSED_SIGNED_R11_EAC, + GL_COMPRESSED_RG11_EAC, + GL_COMPRESSED_SIGNED_RG11_EAC, + GL_COMPRESSED_RGB8_ETC2, + GL_COMPRESSED_SRGB8_ETC2, + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_RGBA8_ETC2_EAC, or + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image data. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. The ETC2/EAC texture compression algorithm + supports only two-dimensional images. If internalformat is an ETC2/EAC format, + glCompressedTexImage3D will generate an INVALID_OPERATION error if target is not TEXTURE_2D_ARRAY. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glCompressedTexImage3D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCompressedTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES31/glCompressedTexSubImage2D.xml new file mode 100644 index 00000000..fbebce40 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCompressedTexSubImage2D.xml @@ -0,0 +1,264 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCompressedTexSubImage2D + 3G + + + glCompressedTexSubImage2D + specify a two-dimensional texture subimage in a compressed format + + + C Specification + + + void glCompressedTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + format + + + Specifies the format of the compressed image data stored at address data. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glCompressedTexSubImage2D redefines a contiguous subregion of an existing two-dimensional + texture image. The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + and the y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive. + This region may not include any texels + outside the range of the texture array as it was originally specified. It + is not an error to specify a subtexture with width of 0, but such a + specification has no effect. + + + format must be a known compressed image format (such as GL_COMPRESSED_R11_EAC) + or an extension-specified compressed-texture format. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Errors + + GL_INVALID_ENUM is generated if format is not one of the specific + compressed internal formats: + GL_COMPRESSED_R11_EAC, + GL_COMPRESSED_SIGNED_R11_EAC, + GL_COMPRESSED_RG11_EAC, + GL_COMPRESSED_SIGNED_RG11_EAC, + GL_COMPRESSED_RGB8_ETC2, + GL_COMPRESSED_SRGB8_ETC2, + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_RGBA8_ETC2_EAC, or + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + For ETC2/EAC images GL_INVALID_OPERATION is generated if width + is not a multiple of four, and width + xoffset is not equal + to the width of the texture level; if height is not a multiple of four, + and height + yoffset is not equal to the height of the texture level; + or if xoffset or yoffset is not a multiple of four. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glCompressedTexSubImage2D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage3D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCompressedTexSubImage3D.xml b/Source/Bind/Specifications/Docs/ES31/glCompressedTexSubImage3D.xml new file mode 100644 index 00000000..b4e5c10b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCompressedTexSubImage3D.xml @@ -0,0 +1,287 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCompressedTexSubImage3D + 3G + + + glCompressedTexSubImage3D + specify a three-dimensional texture subimage in a compressed format + + + C Specification + + + void glCompressedTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + zoffset + + + Specifies a texel offset in the z direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + depth + + + Specifies the depth of the texture subimage. + + + + + format + + + Specifies the format of the compressed image data stored at address data. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glCompressedTexSubImage3D redefines a contiguous subregion of an existing three-dimensional + or two-dimensional array texture image. The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + and the y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + and the z indices zoffset and + + + + zoffset + + + depth + - + 1 + + , + inclusive. This region may not include + any texels outside the range of the texture array as it was originally + specified. It is not an error to specify a subtexture with width of 0, + but such a specification has no effect. + + + internalformat must be a known compressed image format (such as GL_COMPRESSED_R11_EAC) + or an extension-specified compressed-texture format. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Errors + + GL_INVALID_ENUM is generated if format is not one of the specific + compressed internal formats: + GL_COMPRESSED_R11_EAC, + GL_COMPRESSED_SIGNED_R11_EAC, + GL_COMPRESSED_RG11_EAC, + GL_COMPRESSED_SIGNED_RG11_EAC, + GL_COMPRESSED_RGB8_ETC2, + GL_COMPRESSED_SRGB8_ETC2, + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, + GL_COMPRESSED_RGBA8_ETC2_EAC, or + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. For ETC2/EAC images GL_INVALID_OPERATION + is generated if width + is not a multiple of four, and width + xoffset is not equal + to the width of the texture level; if height is not a multiple of four, + and height + yoffset is not equal to the height of the texture level; + or if xoffset or yoffset is not a multiple of four. The ETC2/EAC + texture compression algorithm supports only two-dimensional images. If internalformat is an ETC2/EAC format, + glCompressedTexSubImage3D will generate an GL_INVALID_OPERATION error + if target is not GL_TEXTURE_2D_ARRAY. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glCompressedTexSubImage3D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCopyBufferSubData.xml b/Source/Bind/Specifications/Docs/ES31/glCopyBufferSubData.xml new file mode 100644 index 00000000..a0b62109 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCopyBufferSubData.xml @@ -0,0 +1,152 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glCopyBufferSubData + 3G + + + glCopyBufferSubData + copy part of the data store of a buffer object to the data store of another buffer object + + + C Specification + + + void glCopyBufferSubData + GLenum readtarget + GLenum writetarget + GLintptr readoffset + GLintptr writeoffset + GLsizeiptr size + + + + Parameters + + + readtarget + + + Specifies the target from whose data store data should be read. + + + + + writetarget + + + Specifies the target to whose data store data should be written. + + + + + readoffset + + + Specifies the offset, in basic machine units, within the data store of readtarget from which data should be read. + + + + + writeoffset + + + Specifies the offset, in basic machine units, within the data store of writetarget to which data should be written. + + + + + size + + + Specifies the size, in basic machine units, of the data to be copied from readtarget to writetarget. + + + + + + Description + + glCopyBufferSubData copies part of the data store attached to readtarget to the + data store attached to writetarget. The number of basic machine units indicated by size + is copied from the source, at offset readoffset to the destination at writeoffset, + also in basic machine units. + + + readtarget and writetarget must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. Any of these targets may be used, + although the targets GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER are provided + specifically to allow copies between buffers without disturbing other GL state. + + + readoffset, writeoffset and size must all be greater than or equal to + zero. Furthermore, readoffset + size must not exceeed the size of the buffer + object bound to readtarget, and writeoffset + size must not exceeed the + size of the buffer bound to writetarget. If the same buffer object is bound to both readtarget + and writetarget, then the ranges specified by readoffset, writeoffset + and size must not overlap. + + + Errors + + GL_INVALID_VALUE is generated if any of readoffset, writeoffset + or size is negative, if readoffset + size exceeds the + size of the buffer object bound to readtarget or if writeoffset + size + exceeds the size of the buffer object bound to writetarget. + + + GL_INVALID_VALUE is generated if the same buffer object is bound to both readtarget + and writetarget and the ranges [readoffset, readoffset + + size) and [writeoffset, writeoffset + size) + overlap. + + + GL_INVALID_OPERATION is generated if zero is bound to readtarget or writetarget. + + + GL_INVALID_OPERATION is generated if the buffer object bound to either readtarget or writetarget + is mapped. + + + + API Version Support + + + + + + glCopyBufferSubData + + + + + + + See Also + + glGenBuffers, + glBindBuffer, + glBufferData, + glBufferSubData, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCopyTexImage2D.xml b/Source/Bind/Specifications/Docs/ES31/glCopyTexImage2D.xml new file mode 100644 index 00000000..941211ca --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCopyTexImage2D.xml @@ -0,0 +1,267 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCopyTexImage2D + 3G + + + glCopyTexImage2D + copy pixels into a 2D texture image + + + C Specification + + + void glCopyTexImage2D + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + GLint border + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the internal format of the texture. + Must be one of the following symbolic constants: + GL_ALPHA, + GL_LUMINANCE, + GL_LUMINANCE_ALPHA, + GL_RGB, + GL_RGBA, + GL_R8, + GL_RG8, + GL_RGB565, + GL_RGB8, + GL_RGBA4, + GL_RGB5_A1, + GL_RGBA8, + GL_RGB10_A2, + GL_SRGB8, + GL_SRGB8_ALPHA8, + GL_R8I, + GL_R8UI, + GL_R16I, + GL_R16UI, + GL_R32I, + GL_R32UI, + GL_RG8I, + GL_RG8UI, + GL_RG16I, + GL_RG16UI, + GL_RG32I, + GL_RG32UI, + GL_RGBA8I, + GL_RGBA8UI, + GL_RGB10_A2UI, + GL_RGBA16I, + GL_RGBA16UI, + GL_RGBA32I, + GL_RGBA32UI. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture image. + + + + + height + + + Specifies the height of the texture image. + + + + + border + + + Specifies the width of the border. + Must be 0. + + + + + + Description + + glCopyTexImage2D defines a two-dimensional texture image, or cube-map texture image + with pixels from the current + GL_READ_BUFFER. + + + The screen-aligned pixel rectangle with lower left corner at (x, + y) and with a width of width + and a height of height defines the texture array + at the mipmap level specified by level. + internalformat specifies the internal format of the texture array. + + + The pixels in the rectangle are processed exactly as if + glReadPixels had been called, but the process stops after + conversion to RGBA values. The error GL_INVALID_OPERATION is generated if integer RGBA data is + required and the format of the current color buffer is not integer; or if floating- or fixed-point RGBA + data is required and the format of the current color buffer is integer. + + + Pixel ordering is such that lower + x + and + y + screen coordinates correspond to + lower + s + and + t + texture coordinates. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + When internalformat is one of the sRGB types, the GL does not automatically convert the source pixels to the sRGB color space. + + + Notes + + An image with height or width of 0 indicates a NULL texture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + + log + 2 + + + max + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if width or + height is less than 0 or greater than GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_VALUE is generated if internalformat is not an + accepted format. + + + + API Version Support + + + + + + glCopyTexImage2D + + + + + + + See Also + + glCopyTexSubImage2D, + glPixelStorei, + glTexImage2D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCopyTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES31/glCopyTexSubImage2D.xml new file mode 100644 index 00000000..6fae8f9e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCopyTexSubImage2D.xml @@ -0,0 +1,297 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCopyTexSubImage2D + 3G + + + glCopyTexSubImage2D + copy a two-dimensional texture subimage + + + C Specification + + + void glCopyTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + + Description + + glCopyTexSubImage2D replaces a rectangular portion of a two-dimensional texture image or + cube-map texture image with pixels from the current GL_READ_BUFFER + (rather than from main memory, as is the case for glTexSubImage2D). + + + The screen-aligned pixel rectangle with lower left corner at + + + + x + y + + + and with + width width and height height replaces the portion of the + texture array with x indices xoffset through + + + + xoffset + + + width + - + 1 + + , + inclusive, and y indices yoffset through + + + + yoffset + + + height + - + 1 + + , + inclusive, at the mipmap level specified by level. + + + The pixels in the rectangle are processed exactly as if + glReadPixels had been called, but the process stops after + conversion to RGBA values. The error GL_INVALID_OPERATION is generated if integer RGBA data is + required and the format of the current color buffer is not integer; or if floating- or fixed-point RGBA + data is required and the format of the current color buffer is integer. + + + The destination rectangle in the texture array may not include any texels + outside the texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the read window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + No change is made to the internalformat, width, + height, or border parameters of the specified texture + array or to texel values outside the specified subregion. + + + Notes + + glPixelStorei modes affect texture images. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_OPERATION is generated if the texture array has not been + defined by a previous glTexImage2D, + glCopyTexImage2D, or + glTexStorage2D operation. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if + + + + level + > + + log + 2 + + + + max + + + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + + + xoffset + + + width + + + > + w + + , + or + + + + + + yoffset + + + height + + + > + h + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + of the texture image being modified. + + + + API Version Support + + + + + + glCopyTexSubImage2D + + + + + + + See Also + + glCopyTexImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glReadBuffer, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCopyTexSubImage3D.xml b/Source/Bind/Specifications/Docs/ES31/glCopyTexSubImage3D.xml new file mode 100644 index 00000000..3ca1fbea --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCopyTexSubImage3D.xml @@ -0,0 +1,301 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCopyTexSubImage3D + 3G + + + glCopyTexSubImage3D + copy a three-dimensional texture subimage + + + C Specification + + + void glCopyTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + zoffset + + + Specifies a texel offset in the z direction within the texture array. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + + Description + + glCopyTexSubImage3D replaces a rectangular portion of a three-dimensional + or two-dimensional array texture image with pixels from the current GL_READ_BUFFER (rather + than from main memory, as is the case for glTexSubImage3D). + + + The screen-aligned pixel rectangle with lower left corner at + (x, y) and with + width width and height height replaces the portion of the + texture array with x indices xoffset through + + + + xoffset + + + width + - + 1 + + , + inclusive, and y indices yoffset through + + + + yoffset + + + height + - + 1 + + , + inclusive, at z index zoffset and at the mipmap level specified by level. + + + The pixels in the rectangle are processed exactly as if + glReadPixels had been called, but the process stops after + conversion to RGBA values. + + + The destination rectangle in the texture array may not include any texels + outside the texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the read window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + No change is made to the internalformat, width, + height, depth, or border parameters of the specified texture + array or to texel values outside the specified subregion. + + + Notes + + glPixelStorei modes affect texture images. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D or + GL_TEXTURE_2D_ARRAY. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage3D or + glTexStorage3D operation. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if + + + + level + > + + log + 2 + + + + max + + + + , + where + max + is the returned value of GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + + + xoffset + + + width + + + > + w + + , + + + + + + yoffset + + + height + + + > + h + + , + or + + + + + + zoffset + + + 1 + + + > + d + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + d + is the GL_TEXTURE_DEPTH + of the texture image being modified. + + + + API Version Support + + + + + + glCopyTexSubImage3D + + + + + + + See Also + + glCopyTexImage2D, + glCopyTexSubImage2D, + glPixelStorei, + glReadBuffer, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCreateProgram.xml b/Source/Bind/Specifications/Docs/ES31/glCreateProgram.xml new file mode 100644 index 00000000..da5a5e6a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCreateProgram.xml @@ -0,0 +1,145 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glCreateProgram + 3G + + + glCreateProgram + Creates a program object + + + C Specification + + + GLuint glCreateProgram + void + + + + Description + glCreateProgram creates an empty + program object and returns a non-zero value by which it can be + referenced. A program object is an object to which shader + objects can be attached. This provides a mechanism to specify + the shader objects that will be linked to create a program. It + also provides a means for checking the compatibility of the + shaders that will be used to create a program (for instance, + checking the compatibility between a vertex shader and a + fragment shader). When no longer needed as part of a program + object, shader objects can be detached. + + One or more executables are created in a program object by + successfully attaching shader objects to it with + glAttachShader, + successfully compiling the shader objects with + glCompileShader, + and successfully linking the program object with + glLinkProgram. + These executables are made part of current state when + glUseProgram + is called. Program objects can be deleted by calling + glDeleteProgram. + The memory associated with the program object will be deleted + when it is no longer part of current rendering state for any + context. + + Notes + Like buffer and texture objects, the name space for + program objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + Errors + This function returns 0 if an error occurs creating the program object. + + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with a valid program object and the index of an active attribute + variable + + glGetActiveUniform + with a valid program object and the index of an active uniform + variable + + glGetAttachedShaders + with a valid program object + + glGetAttribLocation + with a valid program object and the name of an attribute + variable + + glGetProgramiv + with a valid program object and the parameter to be queried + + glGetProgramInfoLog + with a valid program object + + glGetUniform + with a valid program object and the location of a uniform + variable + + glGetUniformLocation + with a valid program object and the name of a uniform + variable + + glIsProgram + + + API Version Support + + + + + + glCreateProgram + + + + + + + See Also + glAttachShader, + glBindAttribLocation, + glCreateShader, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCreateShader.xml b/Source/Bind/Specifications/Docs/ES31/glCreateShader.xml new file mode 100644 index 00000000..b95e0918 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCreateShader.xml @@ -0,0 +1,151 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glCreateShader + 3G + + + glCreateShader + Creates a shader object + + + C Specification + + + GLuint glCreateShader + GLenum shaderType + + + + Parameters + + + shaderType + + + Specifies the type of shader to be created. + GL_VERTEX_SHADER, + GL_FRAGMENT_SHADER, or + GL_COMPUTE_SHADER, + + + + + + Description + + glCreateShader creates an empty shader + object and returns a non-zero value by which it can be + referenced. A shader object is used to maintain the source code + strings that define a shader. shaderType + indicates the type of shader to be created. Three types of + shaders are supported. A shader of type + GL_VERTEX_SHADER is a shader that is + intended to run on the programmable vertex processor. A shader + of type GL_FRAGMENT_SHADER is a shader that + is intended to run on the programmable fragment processor. A + shader of type GL_COMPUTE_SHADER is a + shader that is intended to run on the programmable compute + processor. + + + When created, a shader object's + GL_SHADER_TYPE parameter is set to + GL_COMPUTE_SHADER, + GL_VERTEX_SHADER or + GL_FRAGMENT_SHADER, depending on the value + of shaderType. + + + Notes + + Like buffer and texture objects, the name space for shader + objects may be shared across a set of contexts, as long as the + server sides of the contexts share the same address space. If + the name space is shared across contexts, any attached objects + and the data associated with those attached objects are shared + as well. + + + Applications are responsible for providing the synchronization + across API calls when objects are accessed from different + execution threads. + + + GL_COMPUTE_SHADER is available only if the + GL version is 3.1 or higher. + + + Errors + + This function returns 0 if an error occurs creating the shader + object. + + + GL_INVALID_ENUM is generated if + shaderType is not an accepted + value. + + + Associated Gets + + glGetShaderiv + with a valid shader object and the parameter to be + queried + + glGetShaderInfoLog + with a valid shader object + + glGetShaderSource + with a valid shader object + + + glIsShader + + + + API Version Support + + + + + + glCreateShader + + + + + + + See Also + + glAttachShader, + glCompileShader, + glDeleteShader, + glDetachShader, + glShaderSource + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCreateShaderProgram.xml b/Source/Bind/Specifications/Docs/ES31/glCreateShaderProgram.xml new file mode 100644 index 00000000..f70c94e1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCreateShaderProgram.xml @@ -0,0 +1,140 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glCreateShaderProgram + 3G + + + glCreateShaderProgramv + create a stand-alone program from an array of null-terminated source code strings + + + C Specification + + + GLuint glCreateShaderProgramv + GLenum type + GLsizei count + const char **strings + + + + Parameters + + + type + + + Specifies the type of shader to create. + + + + + count + + + Specifies the number of source code strings in the array strings. + + + + + strings + + + Specifies the address of an array of pointers to source code strings from which to create the program object. + + + + + + Description + + glCreateShaderProgramv creates a program object containing compiled and linked + shaders for a single stage specified by type. strings + refers to an array of count strings from which to create the shader executables. + + + glCreateShaderProgramv is equivalent (assuming no errors are generated) to: + + const GLuint shader = glCreateShader(type); + if (shader) { + glShaderSource(shader, count, strings, NULL); + glCompileShader(shader); + const GLuint program = glCreateProgram(); + if (program) { + GLint compiled = GL_FALSE; + glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled); + glProgramParameteri(program, GL_PROGRAM_SEPARABLE, GL_TRUE); + if (compiled) { + glAttachShader(program, shader); + glLinkProgram(program); + glDetachShader(program, shader); + } + /* append-shader-info-log-to-program-info-log */ + } + glDeleteShader(shader); + return program; + } else { + return 0; + } + + The program object created by glCreateShaderProgramv has its GL_PROGRAM_SEPARABLE + status set to GL_TRUE. + + + Errors + + GL_INVALID_ENUM is generated if if type is not + an accepted shader type. + + + GL_INVALID_VALUE is generated if count is + negative. + + + Other errors are generated if the supplied shader code fails to compile + and link, as described for the commands in the pseudocode sequence above, + but all such errors are generated without any side effects of executing those + commands. + + + + API Version Support + + + + + + glCreateShaderProgramv + + + + + + + See Also + + glCreateShader, + glCreateProgram, + glCompileShader, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glCullFace.xml b/Source/Bind/Specifications/Docs/ES31/glCullFace.xml new file mode 100644 index 00000000..fcb7f206 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glCullFace.xml @@ -0,0 +1,111 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glCullFace + 3G + + + glCullFace + specify whether front- or back-facing polygons can be culled + + + C Specification + + + void glCullFace + GLenum mode + + + + Parameters + + + mode + + + Specifies whether front- or back-facing polygons are candidates for culling. + Symbolic constants + GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK are accepted. + The initial value is GL_BACK. + + + + + + Description + + glCullFace specifies whether front- or back-facing polygons are culled + (as specified by mode) when polygon culling is enabled. Polygon + culling is initially disabled. + To enable and disable polygon culling, call the + glEnable and glDisable commands + with the argument GL_CULL_FACE. + + + glFrontFace specifies which of the clockwise and counterclockwise polygons + are front-facing and back-facing. + See glFrontFace. + + + Notes + + If mode is GL_FRONT_AND_BACK, no polygons are drawn, but other + primitives such as points and lines are drawn. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + Associated Gets + + glIsEnabled with argument GL_CULL_FACE + + + glGet with argument GL_CULL_FACE_MODE + + + + API Version Support + + + + + + glCullFace + + + + + + + See Also + + glEnable, + glFrontFace + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteBuffers.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteBuffers.xml new file mode 100644 index 00000000..370f2f7e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteBuffers.xml @@ -0,0 +1,108 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glDeleteBuffers + 3G + + + glDeleteBuffers + delete named buffer objects + + + C Specification + + + void glDeleteBuffers + GLsizei n + const GLuint * buffers + + + + Parameters + + + n + + + Specifies the number of buffer objects to be deleted. + + + + + buffers + + + Specifies an array of buffer objects to be deleted. + + + + + + Description + + glDeleteBuffers deletes n buffer objects named by the elements of the array buffers. + After a buffer object is deleted it has no contents, and its name is again unused. Unused names in + buffers that have been marked as used for the purposes of + glGenBuffers are marked as unused again. + Unused names in buffers are silently ignored, as is the value zero. If a buffer object is deleted while it is bound, + all bindings to that object in the current context are reset to zero. Bindings to that buffer in other contexts are not affected. + + + glDeleteBuffers silently ignores 0's and names that do not correspond to + existing buffer objects. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsBuffer + + + + API Version Support + + + + + + glDeleteBuffers + + + + + + + See Also + + glBindBuffer, + glGenBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteFramebuffers.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteFramebuffers.xml new file mode 100644 index 00000000..b4f95011 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteFramebuffers.xml @@ -0,0 +1,97 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteFramebuffers + 3G + + + glDeleteFramebuffers + delete framebuffer objects + + + C Specification + + + void glDeleteFramebuffers + GLsizei n + GLuint *framebuffers + + + + Parameters + + + n + + + Specifies the number of framebuffer objects to be deleted. + + + + + framebuffers + + + A pointer to an array containing n framebuffer objects to be deleted. + + + + + + Description + + glDeleteFramebuffers deletes the n framebuffer objects whose names are stored in + the array addressed by framebuffers. Unused names in framebuffers + that have been marked as used for the purposes of + glGenFramebuffers are marked as unused again. + The name zero is reserved by the GL and is silently ignored, should it + occur in framebuffers, as are other unused names. Once a framebuffer object is deleted, its name is again + unused and it has no attachments. If a framebuffer that is currently bound to one or more of the targets GL_DRAW_FRAMEBUFFER + or GL_READ_FRAMEBUFFER is deleted, it is as though glBindFramebuffer + had been executed with the corresponding target and framebuffer zero. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + + API Version Support + + + + + + glDeleteFramebuffers + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glCheckFramebufferStatus + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteProgram.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteProgram.xml new file mode 100644 index 00000000..656560a5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteProgram.xml @@ -0,0 +1,113 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glDeleteProgram + 3G + + + glDeleteProgram + Deletes a program object + + + C Specification + + + void glDeleteProgram + GLuint program + + + + Parameters + + + program + + Specifies the program object to be + deleted. + + + + + Description + glDeleteProgram frees the memory and + invalidates the name associated with the program object + specified by program. This command + effectively undoes the effects of a call to + glCreateProgram. + + If a program object is in use as part of current rendering + state, it will be flagged for deletion, but it will not be + deleted until it is no longer part of current state for any + rendering context. If a program object to be deleted has shader + objects attached to it, those shader objects will be + automatically detached but not deleted unless they have already + been flagged for deletion by a previous call to + glDeleteShader. + A value of 0 for program will be silently + ignored. + + To determine whether a program object has been flagged for + deletion, call + glGetProgramiv + with arguments program and + GL_DELETE_STATUS. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + + Associated Gets + glGet + with argument GL_CURRENT_PROGRAM + + glGetProgramiv + with arguments program and + GL_DELETE_STATUS + + glIsProgram + + + API Version Support + + + + + + glDeleteProgram + + + + + + + See Also + glCreateShader, + glDetachShader, + glUseProgram + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteProgramPipelines.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteProgramPipelines.xml new file mode 100644 index 00000000..5c725fd2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteProgramPipelines.xml @@ -0,0 +1,96 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glDeleteProgramPipelines + 3G + + + glDeleteProgramPipelines + delete program pipeline objects + + + C Specification + + + void glDeleteProgramPipelines + GLsizei n + const GLuint *pipelines + + + + + Parameters + + + n + + + Specifies the number of program pipeline objects to delete. + + + + + pipelines + + + Specifies an array of names of program pipeline objects to delete. + + + + + + Description + + glDeleteProgramPipelines deletes the n program pipeline objects + whose names are stored in the array pipelines. Unused names in pipelines are + ignored, as is the name zero. After a program pipeline object is deleted, its name is again unused and it + has no contents. If program pipeline object that is currently bound is deleted, the binding for that object reverts to + zero and no program pipeline object becomes current. + + + Associated Gets + + glGet with argument GL_PROGRAM_PIPELINE_BINDING + + + + API Version Support + + + + + + glDeleteProgramPipelines + + + + + + + See Also + + glGenProgramPipelines, + glBindProgramPipeline, + glIsProgramPipeline, + glUseShaderPrograms, + glUseProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteQueries.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteQueries.xml new file mode 100644 index 00000000..d959cef4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteQueries.xml @@ -0,0 +1,110 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glDeleteQueries + 3G + + + glDeleteQueries + delete named query objects + + + C Specification + + + void glDeleteQueries + GLsizei n + const GLuint * ids + + + + Parameters + + + n + + + Specifies the number of query objects to be deleted. + + + + + ids + + + Specifies an array of query objects to be deleted. + + + + + + Description + + glDeleteQueries deletes n query objects named by the elements of the array ids. + After a query object is deleted, its name is again unused. Unused names in ids + that have been marked as used for the purposes of + glGenQueries are marked as unused again. + If an active query object is deleted its name immediately becomes unused, but the underlying object + is not deleted until it is no longer active. + + + glDeleteQueries silently ignores 0's and names that do not correspond to + existing query objects. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsQuery + + + + API Version Support + + + + + + glDeleteQueries + + + + + + + See Also + + glBeginQuery, + glEndQuery, + glGenQueries, + glGetQueryiv, + glGetQueryObjectuiv + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteRenderbuffers.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteRenderbuffers.xml new file mode 100644 index 00000000..41f74d0a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteRenderbuffers.xml @@ -0,0 +1,104 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteRenderbuffers + 3G + + + glDeleteRenderbuffers + delete renderbuffer objects + + + C Specification + + + void glDeleteRenderbuffers + GLsizei n + GLuint *renderbuffers + + + + Parameters + + + n + + + Specifies the number of renderbuffer objects to be deleted. + + + + + renderbuffers + + + A pointer to an array containing n renderbuffer objects to be deleted. + + + + + + Description + + glDeleteRenderbuffers deletes the n renderbuffer objects whose names are stored in + the array addressed by renderbuffers. Unused names in renderbuffers + that have been marked as used for the purposes of glGenRenderbuffers + are marked as unused again. The name zero is reserved by the GL and is silently ignored, should it + occur in renderbuffers, as are other unused names. Once a renderbuffer object is deleted, its name is again + unused and it has no contents. If a renderbuffer that is currently bound to the target GL_RENDERBUFFER + is deleted, it is as though glBindRenderbuffer + had been executed with a target of GL_RENDERBUFFER and a name of zero. + + + If a renderbuffer object is attached to one or more attachment points in the currently bound framebuffer, then it as if + glFramebufferRenderbuffer had been called, with a renderbuffer + of zero for each attachment point to which this image was attached in the currently bound framebuffer. In other words, + this renderbuffer object is first detached from all attachment ponits in the currently bound framebuffer. Note that the renderbuffer + image is specifically not detached from any non-bound framebuffers. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + + API Version Support + + + + + + glDeleteRenderbuffers + + + + + + + See Also + + glGenRenderbuffers, + glFramebufferRenderbuffer, + glRenderbufferStorage, + glRenderbufferStorageMultisample + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteSamplers.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteSamplers.xml new file mode 100644 index 00000000..e0608d9f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteSamplers.xml @@ -0,0 +1,102 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteSamplers + 3G + + + glDeleteSamplers + delete named sampler objects + + + C Specification + + + void glDeleteSamplers + GLsizei n + const GLuint * samplers + + + + Parameters + + + n + + + Specifies the number of sampler objects to be deleted. + + + + + samplers + + + Specifies an array of sampler objects to be deleted. + + + + + + Description + + glDeleteSamplers deletes n sampler objects named by the elements of the array samplers. + After a sampler object is deleted, its name is again unused. If a sampler object that is currently + bound to one or more texture units is deleted, it is as though + glBindSampler is called once for each texture unit + to which the sampler is bound, with unit set to the texture unit and + sampler set to zero. Unused names in samplers that have been marked as + used for the purposes of glGenSamplers are marked as unused again. + Unused names in samplers are silently ignored, as is the reserved name zero. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsSampler + + + + API Version Support + + + + + + glDeleteSamplers + + + + + + + See Also + + glGenSamplers, + glBindSampler, + glDeleteSamplers, + glIsSampler + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteShader.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteShader.xml new file mode 100644 index 00000000..f3b0be29 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteShader.xml @@ -0,0 +1,109 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glDeleteShader + 3G + + + glDeleteShader + Deletes a shader object + + + C Specification + + + void glDeleteShader + GLuint shader + + + + Parameters + + + shader + + Specifies the shader object to be deleted. + + + + + Description + glDeleteShader frees the memory and + invalidates the name associated with the shader object specified + by shader. This command effectively + undoes the effects of a call to + glCreateShader. + + If a shader object to be deleted is attached to a program + object, it will be flagged for deletion, but it will not be + deleted until it is no longer attached to any program object, + for any rendering context (i.e., it must be detached from + wherever it was attached before it will be deleted). A value of + 0 for shader will be silently + ignored. + + To determine whether an object has been flagged for + deletion, call + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + + Associated Gets + glGetAttachedShaders + with the program object to be queried + + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS + + glIsShader + + + API Version Support + + + + + + glDeleteShader + + + + + + + See Also + glCreateProgram, + glCreateShader, + glDetachShader, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteSync.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteSync.xml new file mode 100644 index 00000000..8813f030 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteSync.xml @@ -0,0 +1,90 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteSync + 3G + + + glDeleteSync + delete a sync object + + + C Specification + + + void glDeleteSync + GLsync sync + + + + Parameters + + + sync + + + The sync object to be deleted. + + + + + + Description + + glDeleteSync deletes the sync object specified by sync. If the fence command + corresponding to the specified sync object has completed, or if no glWaitSync + or glClientWaitSync commands are blocking on sync, + the object is deleted immediately. Otherwise, sync is flagged for deletion and will be deleted when + it is no longer associated with any fence command and is no longer blocking any glWaitSync + or glClientWaitSync command. In either case, after + glDeleteSync returns, the name sync is invalid and can no longer be used to + refer to the sync object. + + + glDeleteSync will silently ignore a sync value of zero. + + + Errors + + GL_INVALID_VALUE is generated if sync is neither zero or the name of a sync object. + + + + API Version Support + + + + + + glDeleteSync + + + + + + + See Also + + glFenceSync, + glWaitSync, + glClientWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteTextures.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteTextures.xml new file mode 100644 index 00000000..d9e2979d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteTextures.xml @@ -0,0 +1,116 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDeleteTextures + 3G + + + glDeleteTextures + delete named textures + + + C Specification + + + void glDeleteTextures + GLsizei n + const GLuint * textures + + + + Parameters + + + n + + + Specifies the number of textures to be deleted. + + + + + textures + + + Specifies an array of textures to be deleted. + + + + + + Description + + glDeleteTextures deletes n textures named by the elements of the array textures. + After a texture is deleted, it has no contents or dimensionality, + and its name is again unused. + If a texture that is currently bound is deleted, the binding reverts + to 0 (the default texture). + + + Unused names in textures that have been marked as used for the purposes of + glGenTextures are marked as unused again. + glDeleteTextures silently ignores 0's and names that do not correspond to + existing textures. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsTexture + + + + API Version Support + + + + + + glDeleteTextures + + + + + + + See Also + + glBindTexture, + glCopyTexImage2D, + glGenTextures, + glGet, + glGetTexParameter, + glTexImage2D, + glTexStorage2D, + glTexImage3D, + glTexStorage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteTransformFeedbacks.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteTransformFeedbacks.xml new file mode 100644 index 00000000..2e7bf33a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteTransformFeedbacks.xml @@ -0,0 +1,99 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glDeleteTransformFeedbacks + 3G + + + glDeleteTransformFeedbacks + delete transform feedback objects + + + C Specification + + + void glDeleteTransformFeedbacks + GLsizei n + const GLuint *ids + + + + Parameters + + + n + + + Specifies the number of transform feedback objects to delete. + + + + + ids + + + Specifies an array of names of transform feedback objects to delete. + + + + + + Description + + glDeleteTransformFeedbacks deletes the n transform feedback objects + whose names are stored in the array ids. Unused names in ids + that have been marked as used for the purposes of glGenTransformFeedbacks, + are marked as unused again. Unused names in ids are + ignored, as is the name zero. After a transform feedback object is deleted, its name is again unused and it + has no contents. If an active transform feedback object is deleted, its name immediately becomes unused, but + the underlying object is not deleted until it is no longer active. + + + Associated Gets + + glGet with argument GL_TRANSFORM_FEEDBACK_BINDING + + + + API Version Support + + + + + + glDeleteTransformFeedbacks + + + + + + + See Also + + glGenTransformFeedbacks, + glBindTransformFeedback, + glIsTransformFeedback, + glBeginTransformFeedback, + glPauseTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDeleteVertexArrays.xml b/Source/Bind/Specifications/Docs/ES31/glDeleteVertexArrays.xml new file mode 100644 index 00000000..39f06b00 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDeleteVertexArrays.xml @@ -0,0 +1,97 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDeleteVertexArrays + 3G + + + glDeleteVertexArrays + delete vertex array objects + + + C Specification + + + void glDeleteVertexArrays + GLsizei n + const GLuint *arrays + + + + Parameters + + + n + + + Specifies the number of vertex array objects to be deleted. + + + + + arrays + + + Specifies the address of an array containing the n names of the objects to be deleted. + + + + + + Description + + glDeleteVertexArrays deletes n vertex array objects whose names are stored in the + array addressed by arrays. Once a vertex array object is deleted it has no contents and its name is + again unused. If a vertex array object that is currently bound is deleted, the binding for that object reverts to zero + and the default vertex array becomes current. + + + Unused names in arrays that have been marked as used for the purposes of + glGenVertexArrays, + are marked as unused again. Unused names in arrays are silently ignored, as is the value zero. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + + API Version Support + + + + + + glDeleteVertexArrays + + + + + + + See Also + + glGenVertexArrays, + glIsVertexArray, + glBindVertexArray + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDepthFunc.xml b/Source/Bind/Specifications/Docs/ES31/glDepthFunc.xml new file mode 100644 index 00000000..510aefab --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDepthFunc.xml @@ -0,0 +1,191 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDepthFunc + 3G + + + glDepthFunc + specify the value used for depth buffer comparisons + + + C Specification + + + void glDepthFunc + GLenum func + + + + Parameters + + + func + + + Specifies the depth comparison function. + Symbolic constants + GL_NEVER, + GL_LESS, + GL_EQUAL, + GL_LEQUAL, + GL_GREATER, + GL_NOTEQUAL, + GL_GEQUAL, and + GL_ALWAYS are accepted. + The initial value is GL_LESS. + + + + + + Description + + glDepthFunc specifies the function used to compare each incoming pixel depth value + with the depth value present in the depth buffer. + The comparison is performed only if depth testing is enabled. + (See glEnable and glDisable of GL_DEPTH_TEST.) + + + func specifies the conditions under which the pixel will be drawn. + The comparison functions are as follows: + + + + GL_NEVER + + + Never passes. + + + + + GL_LESS + + + Passes if the incoming depth value is less than the stored depth value. + + + + + GL_EQUAL + + + Passes if the incoming depth value is equal to the stored depth value. + + + + + GL_LEQUAL + + + Passes if the incoming depth value is less than or equal to + the stored depth value. + + + + + GL_GREATER + + + Passes if the incoming depth value is greater than the stored depth value. + + + + + GL_NOTEQUAL + + + Passes if the incoming depth value is not equal to the stored depth value. + + + + + GL_GEQUAL + + + Passes if the incoming depth value is greater than or equal to + the stored depth value. + + + + + GL_ALWAYS + + + Always passes. + + + + + + The initial value of func is GL_LESS. + Initially, depth testing is disabled. If depth testing is disabled or if no + depth buffer exists, it is as if the depth test always passes. + + + Notes + + Even if the depth buffer exists and the depth mask is non-zero, the + depth buffer is not updated if the depth test is disabled. In order to + unconditionally write to the depth buffer, the depth test should be enabled + and set to GL_ALWAYS. + + + Errors + + GL_INVALID_ENUM is generated if func is not an accepted value. + + + Associated Gets + + glGet with argument GL_DEPTH_FUNC + + + glIsEnabled with argument GL_DEPTH_TEST + + + + API Version Support + + + + + + glDepthFunc + + + + + + + See Also + + glDepthRangef, + glEnable, + glPolygonOffset + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDepthMask.xml b/Source/Bind/Specifications/Docs/ES31/glDepthMask.xml new file mode 100644 index 00000000..33ecfad2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDepthMask.xml @@ -0,0 +1,94 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDepthMask + 3G + + + glDepthMask + enable or disable writing into the depth buffer + + + C Specification + + + void glDepthMask + GLboolean flag + + + + Parameters + + + flag + + + Specifies whether the depth buffer is enabled for writing. + If flag is GL_FALSE, + depth buffer writing is disabled. + Otherwise, it is enabled. + Initially, depth buffer writing is enabled. + + + + + + Description + + glDepthMask specifies whether the depth buffer is enabled for writing. + If flag is GL_FALSE, + depth buffer writing is disabled. + Otherwise, it is enabled. + Initially, depth buffer writing is enabled. + + + Associated Gets + + glGet with argument GL_DEPTH_WRITEMASK + + + + API Version Support + + + + + + glDepthMask + + + + + + + See Also + + glColorMask, + glDepthFunc, + glDepthRangef, + glStencilMask + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDepthRangef.xml b/Source/Bind/Specifications/Docs/ES31/glDepthRangef.xml new file mode 100644 index 00000000..350c46e3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDepthRangef.xml @@ -0,0 +1,137 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDepthRangef + 3G + + + glDepthRangef + specify mapping of depth values from normalized device coordinates to window coordinates + + + C Specification + + + void glDepthRangef + GLfloat n + GLfloat f + + + + Parameters + + + n + + + Specifies the mapping of the near clipping plane to window coordinates. + The initial value is 0. + + + + + f + + + Specifies the mapping of the far clipping plane to window coordinates. + The initial value is 1. + + + + + + Description + + After clipping and division by w, + depth coordinates range from + + + -1 + + to 1, + corresponding to the near and far clipping planes. + glDepthRangef specifies a linear mapping of the normalized depth coordinates + in this range to window depth coordinates. + If a fixed-point depth representation is used, the parameters n and f + are clamped to the range [0 to 1] when computing window z. + + + The setting of (0,1) maps the near plane to 0 and + the far plane to 1. + With this mapping, + the depth buffer range is fully utilized. + + + Notes + + It is not necessary that n be less than f. + Reverse mappings such as + + + + n + = + 1 + + , + and + + + + f + = + 0 + + + are acceptable. + + + Associated Gets + + glGet with argument GL_DEPTH_RANGE + + + + API Version Support + + + + + + glDepthRangef + + + + + + + See Also + + glDepthFunc, + glPolygonOffset, + glViewport + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDetachShader.xml b/Source/Bind/Specifications/Docs/ES31/glDetachShader.xml new file mode 100644 index 00000000..a8e2bdb9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDetachShader.xml @@ -0,0 +1,119 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glDetachShader + 3G + + + glDetachShader + Detaches a shader object from a program object to which it is attached + + + C Specification + + + void glDetachShader + GLuint program + GLuint shader + + + + Parameters + + + program + + Specifies the program object from which to + detach the shader object. + + + + shader + + Specifies the shader object to be + detached. + + + + + Description + glDetachShader detaches the shader + object specified by shader from the + program object specified by program. This + command can be used to undo the effect of the command + glAttachShader. + + If shader has already been flagged + for deletion by a call to + glDeleteShader + and it is not attached to any other program object, it will be + deleted after it has been detached. + + Errors + GL_INVALID_VALUE is generated if either + program or shader + is a value that was not generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + shader is not attached to + program. + + + Associated Gets + glGetAttachedShaders + with the handle of a valid program object + + glGetShaderiv + with arguments shader and + GL_DELETE_STATUS + + glIsProgram + + glIsShader + + + API Version Support + + + + + + glDetachShader + + + + + + + See Also + glAttachShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDispatchCompute.xml b/Source/Bind/Specifications/Docs/ES31/glDispatchCompute.xml new file mode 100644 index 00000000..c75e1f0b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDispatchCompute.xml @@ -0,0 +1,113 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glDispatchCompute + 3G + + + glDispatchCompute + launch one or more compute work groups + + + C Specification + + + void glDispatchCompute + GLuint num_groups_x + GLuint num_groups_y + GLuint num_groups_z + + + + Parameters + + + num_groups_x + + + The number of work groups to be launched in the X dimension. + + + + + num_groups_y + + + The number of work groups to be launched in the Y dimension. + + + + + num_groups_z + + + The number of work groups to be launched in the Z dimension. + + + + + + Description + + glDispatchCompute launches one or more compute + work groups. Each work group is processed by the active program object for the compute + shader stage. While the individual shader invocations within a work group are + executed as a unit, work groups are executed completely independently and in + unspecified order. num_groups_x, num_groups_y + and num_groups_z specify the number of local + work groups that will be dispatched in the X, Y and Z dimensions, respectively. + + + Errors + + GL_INVALID_OPERATION is generated if there is no active program + for the compute shader stage. + + + GL_INVALID_VALUE is generated if any of num_groups_x, + num_groups_y, or num_groups_z is greater than or + equal to the maximum work-group count for the corresponding dimension. + + + Associated Gets + + glGet with argument GL_MAX_COMPUTE_WORK_GROUP_COUNT + + + + API Version Support + + + + + + glDispatchCompute + + + + + + + See Also + + glDispatchComputeIndirect. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDispatchComputeIndirect.xml b/Source/Bind/Specifications/Docs/ES31/glDispatchComputeIndirect.xml new file mode 100644 index 00000000..4a8a4fd3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDispatchComputeIndirect.xml @@ -0,0 +1,128 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glDispatchComputeIndirect + 3G + + + glDispatchComputeIndirect + launch one or more compute work groups using parameters stored in a buffer + + + C Specification + + + void glDispatchComputeIndirect + GLintptr indirect + + + + Parameters + + + indirect + + + The offset into the buffer object currently bound to the + GL_DISPATCH_INDIRECT_BUFFER buffer target at + which the dispatch parameters are stored. + + + + + + Description + + glDispatchComputeIndirect launches one or more compute + work groups using parameters stored in the buffer object currently bound + to the GL_DISPATCH_INDIRECT_BUFFER target. + Each work group is processed by the active program object for the compute + shader stage. While the individual shader invocations within a work group are + executed as a unit, work groups are executed completely independently and in + unspecified order. indirect contains the offset + into the data store of the buffer object bound to the GL_DISPATCH_INDIRECT_BUFFER + target at which the parameters are stored. + + + The parameters addressed by indirect are packed a structure, + which takes the form (in C): + typedef struct { + uint num_groups_x; + uint num_groups_y; + uint num_groups_z; + } DispatchIndirectCommand; + + + A call to glDispatchComputeIndirect is equivalent, assuming no + errors are generated, to: + cmd = (const DispatchIndirectCommand *)indirect; + glDispatchComputeIndirect(cmd->num_groups_x, cmd->num_groups_y, cmd->num_groups_z); + } + + + Unlike glDispatchCompute, + no error is generated if any of the num_groups_x, + num_groups_y or num_groups_z members + of the DispatchIndirectCommand is larger than the + value of GL_MAX_COMPUTE_WORK_GROUP_COUNT for the + corresponding dimension. In such circumstances, behavior is undefined and + may lead to application termination. + + + Errors + + GL_INVALID_OPERATION is generated if there is no active program + for the compute shader stage. + + + GL_INVALID_VALUE is generated if indirect is + less than zero or not a multiple of four. + + + GL_INVALID_OPERATION is generated if no buffer is bound to the + GL_DISPATCH_INDIRECT_BUFFER target or if the command would + source data beyond the end of the buffer object's data store. + + + Associated Gets + + glGet with argument GL_MAX_COMPUTE_WORK_GROUP_COUNT + + + + API Version Support + + + + + + glDispatchComputeIndirect + + + + + + + See Also + + glDispatchCompute. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDrawArrays.xml b/Source/Bind/Specifications/Docs/ES31/glDrawArrays.xml new file mode 100644 index 00000000..a15ca986 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDrawArrays.xml @@ -0,0 +1,155 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDrawArrays + 3G + + + glDrawArrays + render primitives from array data + + + C Specification + + + void glDrawArrays + GLenum mode + GLint first + GLsizei count + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN and + GL_TRIANGLES + are accepted. + + + + + first + + + Specifies the starting index in the enabled arrays. + + + + + count + + + Specifies the number of indices to be rendered. + + + + + + Description + + glDrawArrays specifies multiple geometric primitives + with very few subroutine calls. It is possible to prespecify + separate arrays of attributes and use them to + construct a sequence of primitives with a single + call to glDrawArrays. + + + When glDrawArrays is called, it uses count sequential elements from each + enabled array to construct a sequence of geometric primitives, + beginning with element first. mode specifies what kind of + primitives are constructed and how the array elements + construct those primitives. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if recording the vertices of a primitive to the buffer objects being + used for transform feedback purposes would result in either exceeding the limits of any buffer object’s size, + or in exceeding the end position offset + size - 1, as set + by glBindBufferRange. + + + + API Version Support + + + + + + glDrawArrays + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArraysInstanced, + glDrawElements, + glDrawElementsInstanced, + glDrawRangeElements, + glEnableVertexAttribArray + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDrawArraysIndirect.xml b/Source/Bind/Specifications/Docs/ES31/glDrawArraysIndirect.xml new file mode 100644 index 00000000..22181944 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDrawArraysIndirect.xml @@ -0,0 +1,143 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glDrawArraysIndirect + 3G + + + glDrawArraysIndirect + render primitives from array data, taking parameters from memory + + + C Specification + + + void glDrawArraysIndirect + GLenum mode + const void *indirect + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, and + GL_TRIANGLES + are accepted. + + + + + indirect + + + Specifies the address of a structure containing the draw parameters. + + + + + + Description + + glDrawArraysIndirect specifies multiple geometric primitives + with very few subroutine calls. glDrawArraysIndirect behaves + similarly to glDrawArraysInstanced, + execept that the parameters to glDrawArraysInstanced + are stored in memory at the address given by indirect. + + + The parameters addressed by indirect are packed into a structure + that takes the form (in C): + typedef struct { + uint count; + uint primCount; + uint first; + uint reserved; + } DrawArraysIndirectCommand; + + const DrawArraysIndirectCommand *cmd = (const DrawArraysIndirectCommand *)indirect; + glDrawArraysInstanced(mode, cmd->first, cmd->count, cmd->primCount); + + + If a buffer is bound to the GL_DRAW_INDIRECT_BUFFER binding at the time + of a call to glDrawArraysIndirect, indirect + is interpreted as an offset, in basic machine units, into that buffer and the parameter + data is read from the buffer rather than from client memory. + + + In contrast to glDrawArraysInstanced, + the first member of the parameter structure is unsigned, and out-of-range indices + do not generate an error. + + + Vertex attributes that are modified by glDrawArraysIndirect have an + unspecified value after glDrawArraysIndirect returns. Attributes that aren't + modified remain well defined. + + + Notes + + The reserved member of the DrawArraysIndirectCommand + structure should be set to zero. Behavior is undefined if it is non-zero. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or to the GL_DRAW_INDIRECT_BUFFER binding and the buffer object's data store is currently mapped. + + + + API Version Support + + + + + + glDrawArraysIndirect + + + + + + + See Also + + glDrawArrays, + glDrawArraysInstanced, + glDrawElements, + glDrawRangeElements, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDrawArraysInstanced.xml b/Source/Bind/Specifications/Docs/ES31/glDrawArraysInstanced.xml new file mode 100644 index 00000000..4413fb08 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDrawArraysInstanced.xml @@ -0,0 +1,159 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDrawArraysInstanced + 3G + + + glDrawArraysInstanced + draw multiple instances of a range of elements + + + C Specification + + + void glDrawArraysInstanced + GLenum mode + GLint first + GLsizei count + GLsizei primcount + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. Symbolic constants GL_POINTS, + GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, + GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN and GL_TRIANGLES + are accepted. + + + + + first + + + Specifies the starting index in the enabled arrays. + + + + + count + + + Specifies the number of indices to be rendered. + + + + + primcount + + + Specifies the number of instances of the specified range of indices to be rendered. + + + + + + Description + + glDrawArraysInstanced behaves identically to glDrawArrays + except that primcount instances of the range of elements are executed. Those attributes + that have divisor N where N is other than zero + (as specified by glVertexAttribDivisor) + advance once every N instances. Thus, the element transferred from instanced + vertex attributes is given by: + + + + + instance + divisor + + + + + The value of instance may be read by a vertex shader as gl_InstanceID. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of + the accepted values. + + + GL_INVALID_VALUE is generated if count or primcount are negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if recording the vertices of a primitive to the buffer objects being + used for transform feedback purposes would result in either exceeding the limits of any buffer object’s size, + or in exceeding the end position offset + size - 1, as set + by glBindBufferRange. + + + + API Version Support + + + + + + glDrawArraysInstanced + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glDrawElementsInstanced, + glEnableVertexAttribArray , + glVertexAttribDivisor + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDrawBuffers.xml b/Source/Bind/Specifications/Docs/ES31/glDrawBuffers.xml new file mode 100644 index 00000000..aba74a23 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDrawBuffers.xml @@ -0,0 +1,170 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glDrawBuffers + 3G + + + glDrawBuffers + Specifies a list of color buffers to be drawn into + + + C Specification + + + void glDrawBuffers + GLsizei n + const GLenum *bufs + + + + Parameters + + + n + + Specifies the number of buffers in + bufs. + + + + bufs + + Points to an array of symbolic constants + specifying the buffers into which fragment colors or + data values will be written. + + + + + Description + glDrawBuffers defines an array of + buffers into which outputs from the fragment shader data will + be written. If a fragment shader writes a value + to one or more user defined output + variables, then the value of each variable will be written into the + buffer specified at a location within bufs + corresponding to the location assigned to that user defined output. + The draw buffer used for user defined outputs assigned to locations + greater than or equal to n is implicitly set + to GL_NONE and any data written to such an output + is discarded. + + The symbolic constants contained in + bufs must be one of the following, depending on + whether GL is bound to the default framebuffer or not: + + + + GL_NONE + + The fragment shader output value is not written into + any color buffer. + + + + GL_BACK + + The fragment shader output value is written into the + back color buffer. + + + + GL_COLOR_ATTACHMENTn + + The fragment shader output value is written into the + nth color attachment of the current framebuffer. + n may range from zero to the value of + GL_MAX_COLOR_ATTACHMENTS. + + + + + Except for GL_NONE, the preceding + symbolic constants may not appear more than once in + bufs. The maximum number of draw buffers + supported is implementation dependent and can be queried by + calling + glGet + with the argument GL_MAX_DRAW_BUFFERS. + + Notes + + If a fragment shader does not write to a user defined output variable, + the values of the fragment + colors following shader execution are undefined. For each + fragment generated in this situation, a different value may be + written into each of the buffers specified by + bufs. + + Errors + GL_INVALID_ENUM is generated if one of the + values in bufs is not an accepted + value. + + GL_INVALID_OPERATION is generated if the GL is bound + to the default framebuffer and n is not 1, or if the value in + bufs is one of the GL_COLOR_ATTACHMENTn + tokens. + + GL_INVALID_OPERATION is generated if the GL is bound + to a framebuffer object and the ith buffer listed in bufs + is anything other than GL_NONE or + GL_COLOR_ATTACHMENTSi. + + GL_INVALID_VALUE is generated if + n is less than 0 or greater than + GL_MAX_DRAW_BUFFERS. + + + Associated Gets + glGet + with argument GL_MAX_DRAW_BUFFERS + + glGet + with argument GL_DRAW_BUFFERi where + i indicates the number of the draw buffer + whose value is to be queried. + + + API Version Support + + + + + + glDrawBuffers + + + + + + + See Also + + glReadBuffer + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDrawElements.xml b/Source/Bind/Specifications/Docs/ES31/glDrawElements.xml new file mode 100644 index 00000000..3549528d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDrawElements.xml @@ -0,0 +1,163 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDrawElements + 3G + + + glDrawElements + render primitives from array data + + + C Specification + + + void glDrawElements + GLenum mode + GLsizei count + GLenum type + const GLvoid * indices + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN and + GL_TRIANGLES + are accepted. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be one of + GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + + Description + + glDrawElements specifies multiple geometric primitives + with very few subroutine calls. It is possible to prespecify + separate arrays of attributes and use them to + construct a sequence of primitives with a single + call to glDrawElements. + + + When glDrawElements is called, it uses count sequential elements from an + enabled array, starting at indices to construct a sequence of + geometric primitives. mode specifies what kind of primitives are + constructed and how the array elements construct these primitives. If + more than one array is enabled, each is used. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or the element array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if transform feedback is active and not paused. + + + + API Version Support + + + + + + glDrawElements + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArrays, + glDrawArraysInstanced, + glDrawElementsInstanced, + glDrawRangeElements, + glEnableVertexAttribArray + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDrawElementsIndirect.xml b/Source/Bind/Specifications/Docs/ES31/glDrawElementsIndirect.xml new file mode 100644 index 00000000..1cbb434c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDrawElementsIndirect.xml @@ -0,0 +1,167 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glDrawElementsIndirect + 3G + + + glDrawElementsIndirect + render indexed primitives from array data, taking parameters from memory + + + C Specification + + + void glDrawElementsIndirect + GLenum mode + GLenum type + const void *indirect + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, and + GL_TRIANGLES, + are accepted. + + + + + type + + + Specifies the type of data in the buffer bound to the GL_ELEMENT_ARRAY_BUFFER binding. + + + + + indirect + + + Specifies the address of a structure containing the draw parameters. + + + + + + Description + + glDrawElementsIndirect specifies multiple indexed geometric primitives + with very few subroutine calls. glDrawElementsIndirect behaves + similarly to glDrawElementsInstanced, + execpt that the parameters to glDrawElementsInstanced + are stored in memory at the address given by indirect. + + + The parameters addressed by indirect are packed into a structure + that takes the form (in C): + + typedef struct { + uint count; + uint primCount; + uint firstIndex; + uint reservedMustBeZero; + uint reservedMustBeZero2; + } DrawElementsIndirectCommand; + + glDrawElementsIndirect is equivalent to: + + + void glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect) + { + const DrawElementsIndirectCommand *cmd = (const DrawElementsIndirectCommand *)indirect; + glDrawElementsInstanced(mode, + cmd->count, + type, + cmd->firstIndex + size-of-type, + cmd->primCount); + } + + + If a buffer is bound to the GL_DRAW_INDIRECT_BUFFER binding at the time + of a call to glDrawElementsIndirect, indirect + is interpreted as an offset, in basic machine units, into that buffer and the parameter + data is read from the buffer rather than from client memory. + + + Note that indices stored in client memory are not supported. If no buffer is bound to the + GL_ELEMENT_ARRAY_BUFFER binding, an error will be generated. + + + The results of the operation are undefined if either of the reservedMustBeZero + or reservedMustBeZero2 members + of the parameter structure are non-zero. However, no error is generated in this case. + + + Vertex attributes that are modified by glDrawElementsIndirect have an + unspecified value after glDrawElementsIndirect returns. Attributes that aren't + modified remain well defined. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_OPERATION is generated if no buffer is bound to the GL_ELEMENT_ARRAY_BUFFER + binding, or if such a buffer's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or to the GL_DRAW_INDIRECT_BUFFER binding and the buffer object's data store is currently mapped. + + + + API Version Support + + + + + + glDrawElementsIndirect + + + + + + + See Also + + glDrawArrays, + glDrawArraysInstanced, + glDrawArraysIndirect, + glDrawElements, + glDrawRangeElements, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDrawElementsInstanced.xml b/Source/Bind/Specifications/Docs/ES31/glDrawElementsInstanced.xml new file mode 100644 index 00000000..ceb446d9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDrawElementsInstanced.xml @@ -0,0 +1,175 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glDrawElementsInstanced + 3G + + + glDrawElementsInstanced + draw multiple instances of a set of elements + + + C Specification + + + void glDrawElementsInstanced + GLenum mode + GLsizei count + GLenum type + const void * indices + GLsizei primcount + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN and + GL_TRIANGLES + are accepted. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, + GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + primcount + + + Specifies the number of instances of the specified range of indices to be rendered. + + + + + + Description + + glDrawElementsInstanced behaves identically to glDrawElements + except that primcount instances of the set of elements are executed. Those attributes + that have divisor N where N is other than zero + (as specified by glVertexAttribDivisor) + advance once every N instances. Thus, the element transferred from instanced + vertex attributes is given by: + + + + + instance + divisor + + + + + The value of instance may be read by a vertex shader as gl_InstanceID. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of GL_POINTS, + GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, + GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, or GL_TRIANGLES. + + + GL_INVALID_VALUE is generated if count or primcount are negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if transform feedback is active and not paused. + + + + API Version Support + + + + + + glDrawElementsInstanced + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawElements, + glDrawArrays, + glDrawArraysInstanced, + glDrawRangeElements, + glEnableVertexAttribArray, + glVertexAttribDivisor + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glDrawRangeElements.xml b/Source/Bind/Specifications/Docs/ES31/glDrawRangeElements.xml new file mode 100644 index 00000000..fee97b78 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glDrawRangeElements.xml @@ -0,0 +1,242 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glDrawRangeElements + 3G + + + glDrawRangeElements + render primitives from array data + + + C Specification + + + void glDrawRangeElements + GLenum mode + GLuint start + GLuint end + GLsizei count + GLenum type + const GLvoid * indices + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN and + GL_TRIANGLES + are accepted. + + + + + start + + + Specifies the minimum array index contained in indices. + + + + + end + + + Specifies the maximum array index contained in indices. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be one of + GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + + Description + + glDrawRangeElements is a restricted form of glDrawElements. mode, count, + and type match the corresponding arguments to glDrawElements, with + the additional constraint that all values in the arrays count must lie + between start and end, inclusive. + + + Implementations denote recommended maximum amounts of vertex and + index data, + which may be queried by calling glGet with argument + GL_MAX_ELEMENTS_VERTICES and GL_MAX_ELEMENTS_INDICES. + If + + + + end + - + start + + + 1 + + + is greater than the value of + GL_MAX_ELEMENTS_VERTICES, or if count is greater than the value of + GL_MAX_ELEMENTS_INDICES, then the call may operate at reduced + performance. There is no requirement that all vertices in the range + + + + start + end + + + be referenced. However, the implementation may + partially process unused vertices, reducing performance from what could + be achieved with an optimal index set. + + + When glDrawRangeElements is called, it uses count sequential elements from an + enabled array, starting at start to construct a sequence of + geometric primitives. mode specifies what kind of primitives are + constructed, and how the array elements construct these primitives. If + more than one array is enabled, each is used. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray. + + + If an array corresponding to a generic attribute required by a vertex shader + is not enabled, then the corresponding element is taken from the current generic + attribute state. + + + Errors + + It is an error for indices to lie outside the range + + + + start + end + + , + but implementations may not check for this situation. Such indices + cause implementation-dependent behavior. + + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_VALUE is generated if + + + + end + < + start + + . + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or the element array and the buffer object's data store is currently mapped. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if the currently bound framebuffer is not + framebuffer complete (i.e. the return value from + glCheckFramebufferStatus is not GL_FRAMEBUFFER_COMPLETE). + + + GL_INVALID_OPERATION is generated if transform feedback is active and not paused. + + + Associated Gets + + glGet with argument GL_MAX_ELEMENTS_VERTICES + + + glGet with argument GL_MAX_ELEMENTS_INDICES + + + + API Version Support + + + + + + glDrawRangeElements + + + + + + + See Also + + glCheckFramebufferStatus, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glDrawArraysInstanced, + glDrawElementsInstanced, + glEnableVertexAttribArray, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glEnable.xml b/Source/Bind/Specifications/Docs/ES31/glEnable.xml new file mode 100644 index 00000000..6ff6abba --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glEnable.xml @@ -0,0 +1,262 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glEnable + 3G + + + glEnable + enable or disable server-side GL capabilities + + + C Specification + + + void glEnable + GLenum cap + + + + + void glDisable + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + + Description + + glEnable and + glDisable + enable and disable various capabilities. Use + glIsEnabled + or + glGet + to determine the current setting of any capability. The initial + value for each capability with the exception of + GL_DITHER is GL_FALSE. + The initial value for GL_DITHER is + GL_TRUE. + + + Both glEnable and glDisable take a single argument, cap, + which can assume one of the following values: + + + + GL_BLEND + + + If enabled, + blend the computed fragment color values with the values in the color + buffers. See glBlendFunc. + + + + + GL_CULL_FACE + + + + + If enabled, + cull polygons based on their winding in window coordinates. + See glCullFace. + + + + + GL_DEPTH_TEST + + + If enabled, + do depth comparisons and update the depth buffer. Note that even if + the depth buffer exists and the depth mask is non-zero, the + depth buffer is not updated if the depth test is disabled. See + glDepthFunc and + glDepthRangef. + + + + + GL_DITHER + + + If enabled, + dither color components or indices before they are written to the + color buffer. + + + + + GL_POLYGON_OFFSET_FILL + + + If enabled, an offset is added to depth values of a polygon's + fragments before the depth comparison is performed. + See glPolygonOffset. + + + + + GL_PRIMITIVE_RESTART_FIXED_INDEX + + + Enables primitive restarting. If enabled, any one of the draw commands + which transfers a set of generic attribute array elements to the GL will restart + the primitive when the index of the vertex is equal to + + + + 2 + n + + + 1 + + + where n is 8, 16 or 32 if the type is + GL_UNSIGNED_BYTE, + GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT, respectively. + + + + + GL_RASTERIZER_DISCARD + + + If enabled, primitives are discarded immediately before the rasterization stage, + but after the optional transform feedback stage. + glClear and + glClearBuffer* commands + are also ignored. + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + If enabled, + compute a temporary coverage value where each bit is determined by the + alpha value at the corresponding sample location. The temporary coverage + value is then ANDed with the fragment coverage value. + + + + + GL_SAMPLE_COVERAGE + + + If enabled, + the fragment's coverage is ANDed with the temporary coverage value. If + GL_SAMPLE_COVERAGE_INVERT is set to GL_TRUE, invert the coverage + value. + See glSampleCoverage. + + + + + GL_SCISSOR_TEST + + + If enabled, + discard fragments that are outside the scissor rectangle. + See glScissor. + + + + + GL_STENCIL_TEST + + + If enabled, + do stencil testing and update the stencil buffer. + See glStencilFunc and glStencilOp. + + + + + + Errors + + GL_INVALID_ENUM is generated if cap is not one of the values + listed previously. + + + Associated Gets + + glIsEnabled + + + glGet + + + + API Version Support + + + + + + glEnable + + + + glDisable + + + + + + + See Also + + glBlendFunc, + glCullFace, + glDepthFunc, + glDepthRangef, + glGet, + glIsEnabled, + glPolygonOffset, + glSampleCoverage, + glScissor, + glStencilFunc, + glStencilOp, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glEnableVertexAttribArray.xml b/Source/Bind/Specifications/Docs/ES31/glEnableVertexAttribArray.xml new file mode 100644 index 00000000..87bb35e7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glEnableVertexAttribArray.xml @@ -0,0 +1,127 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glEnableVertexAttribArray + 3G + + + glEnableVertexAttribArray + glEnableVertexAttribArray + glDisableVertexAttribArray + Enable or disable a generic vertex attribute array + + + C Specification + + + void glEnableVertexAttribArray + GLuint index + + + void glDisableVertexAttribArray + GLuint index + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be enabled or disabled. + + + + + Description + glEnableVertexAttribArray enables the + generic vertex attribute array specified by + index. + glDisableVertexAttribArray disables the + generic vertex attribute array specified by + index. By default, all generic vertex + attribute arrays are disabled. If enabled, the values in the generic vertex + attribute array will be accessed and used for rendering when + calls are made to vertex array commands such as + glDrawArrays, + glDrawArraysInstanced, + glDrawElements, + glDrawElementsInstanced, + or + glDrawRangeElements. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttrib + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_ENABLED + + + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + + + API Version Support + + + + + + glEnableVertexAttribArray + + + + glDisableVertexAttribArray + + + + + + + See Also + + glBindAttribLocation, + glDrawArrays, + glDrawArraysInstanced, + glDrawElements, + glDrawElementsInstanced, + glDrawRangeElements, + glVertexAttrib, + glVertexAttribPointer + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFenceSync.xml b/Source/Bind/Specifications/Docs/ES31/glFenceSync.xml new file mode 100644 index 00000000..85ebb26c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFenceSync.xml @@ -0,0 +1,117 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFenceSync + 3G + + + glFenceSync + create a new sync object and insert it into the GL command stream + + + C Specification + + + GLsync glFenceSync + GLenum condition + GLbitfield flags + + + + Parameters + + + condition + + + Specifies the condition that must be met to set the sync object's state to signaled. condition + must be GL_SYNC_GPU_COMMANDS_COMPLETE. + + + + + flags + + + Specifies a bitwise combination of flags controlling the behavior of the sync object. No flags are presently defined + for this operation and flags must be zero. + flags is a placeholder for anticipated future extensions of fence sync object capabilities. + + + + + + + + Description + + glFenceSync creates a new fence sync object, inserts a fence command into the GL command stream and + associates it with that sync object, and returns a non-zero name corresponding to the sync object. + + + When the specified condition of the sync object is satisfied by the fence command, the sync object + is signaled by the GL, causing any glWaitSync, + glClientWaitSync commands blocking in sync + to unblock. No other state is affected by glFenceSync or by the execution + of the associated fence command. + + + condition must be GL_SYNC_GPU_COMMANDS_COMPLETE. This condition is satisfied by + completion of the fence command corresponding to the sync object and all preceding commands in the same command stream. + The sync object will not be signaled until all effects from these commands on GL client and server state and the + framebuffer are fully realized. Note that completion of the fence command occurs once the state of the corresponding sync + object has been changed, but commands waiting on that sync object may not be unblocked until after the fence command completes. + + + Errors + + GL_INVALID_ENUM is generated if condition is not + GL_SYNC_GPU_COMMANDS_COMPLETE. + + + GL_INVALID_VALUE is generated if flags is not zero. + + + Additionally, if glFenceSync fails, it will return zero. + + + + API Version Support + + + + + + glFenceSync + + + + + + + See Also + + glDeleteSync, + glGetSynciv, + glWaitSync, + glClientWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFinish.xml b/Source/Bind/Specifications/Docs/ES31/glFinish.xml new file mode 100644 index 00000000..6450340a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFinish.xml @@ -0,0 +1,75 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glFinish + 3G + + + glFinish + block until all GL execution is complete + + + C Specification + + + void glFinish + void + + + + Description + + glFinish does not return until the effects of all previously + called GL commands are complete. + Such effects include all changes to GL state, + all changes to connection state, + and all changes to the frame buffer contents. + + + Notes + + glFinish requires a round trip to the server. + + + + API Version Support + + + + + + glFinish + + + + + + + See Also + + glFlush + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFlush.xml b/Source/Bind/Specifications/Docs/ES31/glFlush.xml new file mode 100644 index 00000000..f49f84d3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFlush.xml @@ -0,0 +1,89 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glFlush + 3G + + + glFlush + force execution of GL commands in finite time + + + C Specification + + + void glFlush + void + + + + Description + + Different GL implementations buffer commands in several different locations, + including network buffers and the graphics accelerator itself. + glFlush empties all of these buffers, + causing all issued commands to be executed as quickly as + they are accepted by the actual rendering engine. + Though this execution may not be completed in any particular + time period, + it does complete in finite time. + + + Because any GL program might be executed over a network, + or on an accelerator that buffers commands, + all programs should call glFlush whenever they count on having + all of their previously issued commands completed. + For example, + call glFlush before waiting for user input that depends on + the generated image. + + + Notes + + glFlush can return at any time. + It does not wait until the execution of all previously + issued GL commands is complete. + + + + API Version Support + + + + + + glFlush + + + + + + + See Also + + glFinish + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFlushMappedBufferRange.xml b/Source/Bind/Specifications/Docs/ES31/glFlushMappedBufferRange.xml new file mode 100644 index 00000000..ed222723 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFlushMappedBufferRange.xml @@ -0,0 +1,112 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFlushMappedBufferRange + 3G + + + glFlushMappedBufferRange + indicate modifications to a range of a mapped buffer + + + C Specification + + + GLsync glFlushMappedBufferRange + GLenum target + GLintptr offset + GLsizeiptr length + + + + Parameters + + + target + + + Specifies the target of the flush operation. target must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or GL_UNIFORM_BUFFER. + + + + + offset + + + Specifies the start of the buffer subrange, in basic machine units. + + + + + length + + + Specifies the length of the buffer subrange, in basic machine units. + + + + + + Description + + glFlushMappedBufferRange indicates that modifications have been made to a range of a mapped buffer. + The buffer must previously have been mapped with the GL_MAP_FLUSH_EXPLICIT flag. offset + and length indicate the modified subrange of the mapping, in basic units. The specified subrange to flush + is relative to the start of the currently mapped range of the buffer. glFlushMappedBufferRange may be called + multiple times to indicate distinct subranges of the mapping which require flushing. + + + Errors + + GL_INVALID_VALUE is generated if offset or length + is negative, or if offset + length exceeds the size of the mapping. + + + GL_INVALID_OPERATION is generated if zero is bound to target. + + + GL_INVALID_OPERATION is generated if the buffer bound to target is not + mapped, or is mapped without the GL_MAP_FLUSH_EXPLICIT flag. + + + + API Version Support + + + + + + glFlushMappedBufferRange + + + + + + + See Also + + glMapBufferRange, + glUnmapBuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFramebufferParameteri.xml b/Source/Bind/Specifications/Docs/ES31/glFramebufferParameteri.xml new file mode 100644 index 00000000..e90118cd --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFramebufferParameteri.xml @@ -0,0 +1,176 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glFramebufferParameteri + 3G + + + glFramebufferParameteri + set a named parameter of a framebuffer + + + C Specification + + + void glFramebufferParameteri + GLenum target + GLenum pname + GLint param + + + + Parameters + + + target + + + The target of the operation, which must be GL_READ_FRAMEBUFFER, + GL_DRAW_FRAMEBUFFER or GL_FRAMEBUFFER. + + + + + pname + + + A token indicating the parameter to be modified. + + + + + param + + + The new value for the parameter named pname. + + + + + + Description + + glFramebufferParameteri modifies the current value of the parameter + named pname in the framebuffer bound to target. + target must be GL_READ_FRAMEBFUFFER, + GL_DRAW_FRAMEBUFFER or GL_FRAMEBUFFER. The + token GL_FRAMEBUFFER is treated as GL_DRAW_FRAMEBUFFER. + A non-default framebuffer must be bound to target. + + + pname specifies the parameter to be modified. The following symbols + are accepted in pname: + + + + GL_FRAMEBUFFER_DEFAULT_WIDTH + + + param specifies the assumed with for a framebuffer object with no attachments. If a + framebuffer has attachments then the width of those attachments is used, otherwise + the value of GL_FRAMEBUFFER_DEFAULT_WIDTH is used for the + framebuffer. param must be greater than or equal to zero and less than + or equal to the value of GL_MAX_FRAMEBUFFER_WIDTH. + + + + + GL_FRAMEBUFFER_DEFAULT_HEIGHT + + + param specifies the assumed height for a framebuffer object with no attachments. If a + framebuffer has attachments then the height of those attachments is used, otherwise + the value of GL_FRAMEBUFFER_DEFAULT_HEIGHT is used for the + framebuffer. param must be greater than or equal to zero and less than + or equal to the value of GL_MAX_FRAMEBUFFER_HEIGHT. + + + + + GL_FRAMEBUFFER_DEFAULT_SAMPLES + + + param specifies the assumed number of samples in a framebuffer object with no attachments. If a + framebuffer has attachments then the sample count of those attachments is used, otherwise + the value of GL_FRAMEBUFFER_DEFAULT_SAMPLES is used for the + framebuffer. param must be greater than or equal to zero and less than + or equal to the value of GL_MAX_FRAMEBUFFER_SAMPLE. + + + + + GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS + + + param specifies whether the framebuffer should assume identical sample locations and + the same number of samples for all texels in the virtual image. If param is zero, + then the implementation may vary the position or the count of samples within the virtual image from + pixel to pixel, otherwise it will use the same sample position and count for all pixels in the virtual image. + + + + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted + framebuffer targets. + + + GL_INVALID_VALUE is generated if pname is GL_FRAMEBUFFER_DEFAULT_WIDTH + and param is less than zero or greater than the value of GL_MAX_FRAMEBUFFER_WIDTH. + + + GL_INVALID_VALUE is generated if pname is GL_FRAMEBUFFER_DEFAULT_HEIGHT + and param is less than zero or greater than the value of GL_MAX_FRAMEBUFFER_HEIGHT. + + + GL_INVALID_VALUE is generated if pname is GL_FRAMEBUFFER_DEFAULT_SAMPLES + and param is less than zero or greater than the value of GL_MAX_FRAMEBUFFER_SAMPLES. + + + GL_INVALID_OPERATION is generated if the default framebuffer is bound to target. + + + Associated Gets + + glGetFramebufferParameteriv. + + + + API Version Support + + + + + + glFramebufferParameteri + + + + + + + See Also + + glBindFramebuffer, + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFramebufferRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES31/glFramebufferRenderbuffer.xml new file mode 100644 index 00000000..5610bad6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFramebufferRenderbuffer.xml @@ -0,0 +1,141 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFramebufferRenderbuffer + 3G + + + glFramebufferRenderbuffer + attach a renderbuffer as a logical buffer to the currently bound framebuffer object + + + C Specification + + + GLsync glFramebufferRenderbuffer + GLenum target + GLenum attachment + GLenum renderbuffertarget + GLuint renderbuffer + + + + Parameters + + + target + + + Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER + is equivalent to GL_DRAW_FRAMEBUFFER. + + + + + attachment + + + Specifies the attachment point of the framebuffer. + + + + + renderbuffertarget + + + Specifies the renderbuffer target and must be GL_RENDERBUFFER. + + + + + renderbuffer + + + Specifies the name of an existing renderbuffer object of type renderbuffertarget to attach. + + + + + + Description + + glFramebufferRenderbuffer attaches a renderbuffer as one of the logical buffers of the + currently bound framebuffer object. renderbuffer is the name of the renderbuffer object + to attach and must be either zero, or the name of an existing renderbuffer object of type renderbuffertarget. + If renderbuffer is not zero and if glFramebufferRenderbuffer is + successful, then the renderbuffer name renderbuffer will be used as the logical buffer + identified by attachment of the framebuffer currently bound to target. + + + The value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE for the specified attachment point is + set to GL_RENDERBUFFER and the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + is set to renderbuffer. All other state values of the attachment point specified by + attachment are set to their default values. No change is made to the state of the renderbuuffer + object and any previous attachment to the attachment logical buffer of the framebuffer + target is broken. + + + Calling glFramebufferRenderbuffer with the renderbuffer name zero will detach the image, if any, + identified by attachment, in the framebuffer currently bound to target. + All state values of the attachment point specified by attachment in the object bound to target are set to their default values. + + + Setting attachment to the value GL_DEPTH_STENCIL_ATTACHMENT is a special + case causing both the depth and stencil attachments of the framebuffer object to be set to renderbuffer, + which should have the base internal format GL_DEPTH_STENCIL. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_ENUM is generated if renderbuffertarget is not GL_RENDERBUFFER. + + + GL_INVALID_OPERATION is generated if zero is bound to target. + + + + API Version Support + + + + + + glFramebufferRenderbuffer + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glGenRenderbuffers, + glFramebufferTexture, + glFramebufferTexture2D, + glFramebufferTextureLayer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFramebufferTexture2D.xml b/Source/Bind/Specifications/Docs/ES31/glFramebufferTexture2D.xml new file mode 100644 index 00000000..1ebb9d86 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFramebufferTexture2D.xml @@ -0,0 +1,169 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFramebufferTexture2D + 3G + + + glFramebufferTexture2D + attach a level of a texture object as a logical buffer to the currently bound framebuffer object + + + C Specification + + + void glFramebufferTexture2D + GLenum target + GLenum attachment + GLenum textarget + GLuint texture + GLint level + + + + Parameters + + + target + + + Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER + is equivalent to GL_DRAW_FRAMEBUFFER. + + + + + attachment + + + Specifies the attachment point of the framebuffer. attachment must be + GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMENT. + + + + + textarget + + + Specifies a 2D texture target, or for cube map textures, which face is to be attached. + + + + + texture + + + Specifies the texture object to attach to the framebuffer attachment point named by attachment. + + + + + level + + + Specifies the mipmap level of texture to attach. + + + + + + Description + + glFramebufferTexture2D attaches a selected mipmap level or image of a texture object as one of the + logical buffers of the framebuffer object currently bound to target. target must + be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. + GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER. + + + attachment specifies the logical attachment of the framebuffer and must be + GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMENT. + i in GL_COLOR_ATTACHMENTi may range from zero to + the value of GL_MAX_COLOR_ATTACHMENTS - 1. Attaching a level of a texture to + GL_DEPTH_STENCIL_ATTACHMENT is equivalent to attaching that level to both the + GL_DEPTH_ATTACHMENT and the GL_STENCIL_ATTACHMENT + attachment points simultaneously. + + + textarget specifies what type of texture is named by texture, and for + cube map textures, specifies the face that is to be attached. If texture is not zero, it + must be the name of an existing two dimensional texture with textarget set to GL_TEXTURE_2D, + unless it is a cube map texture, in which case textarget must be + GL_TEXTURE_CUBE_MAP_POSITIVE_X + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + If texture is non-zero, the specified level of the texture object named + texture is attached to the framebuffer attachment point named by attachment. + + + If textarget is one of GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, then level must be greater + than or equal to zero and less than or equal to log2 of the value of + GL_MAX_CUBE_MAP_TEXTURE_SIZE. If textarget is GL_TEXTURE_2D, + level must be greater than or equal to zero and no larger than log2 + of the value of GL_MAX_TEXTURE_SIZE. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_ENUM is generated if renderbuffertarget is not GL_RENDERBUFFER. + + + GL_INVALID_OPERATION is generated if zero is bound to target. + + + GL_INVALID_OPERATION is generated if textarget and texture + are not compatible. + + + + API Version Support + + + + + + glFramebufferTexture2D + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glGenRenderbuffers, + glFramebufferRenderbuffer, + glFramebufferTextureLayer, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFramebufferTextureLayer.xml b/Source/Bind/Specifications/Docs/ES31/glFramebufferTextureLayer.xml new file mode 100644 index 00000000..b48cdb5e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFramebufferTextureLayer.xml @@ -0,0 +1,160 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glFramebufferTextureLayer + 3G + + + glFramebufferTextureLayer + attach a single layer of a texture to a framebuffer + + + C Specification + + + void glFramebufferTextureLayer + GLenum target + GLenum attachment + GLuint texture + GLint level + GLint layer + + + + Parameters + + + target + + + Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER + is equivalent to GL_DRAW_FRAMEBUFFER. + + + + + attachment + + + Specifies the attachment point of the framebuffer. attachment must be + GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMMENT. + + + + + texture + + + Specifies the texture object to attach to the framebuffer attachment point named by attachment. + + + + + level + + + Specifies the mipmap level of texture to attach. + + + + + layer + + + Specifies the layer of texture to attach. + + + + + + Description + + glFramebufferTextureLayer operates like glFramebufferTexture2D, + except that only a single layer of the texture level, given by layer, is attached to the attachment point. + If texture is not zero, layer must be greater than or equal to zero. + texture must either be zero or the name of an existing three-dimensional texture, or a two-dimensional + array texture. + + + If texture is a 3D texture, then level must be greater + than or equal to zero and less than or equal to log2 of the value of + GL_MAX_3D_TEXTURE_SIZE. If texture is a 2D array texture, + level must be greater than or equal to zero and no larger than log2 + of the value of GL_MAX_TEXTURE_SIZE. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_ENUM is generated if attachment is not one of the accepted tokens. + + + GL_INVALID_VALUE is generated if texture is not zero or the name of an existing + texture object. + + + GL_INVALID_VALUE is generated if texture is not zero and layer + is negative. + + + GL_INVALID_VALUE is generated if + texture is not zero and + layer is greater than the value of + GL_MAX_3D_TEXTURE_SIZE minus one for a 3D + texture or greater than the value of + GL_MAX_ARRAY_TEXTURE_LAYERS minus one for a + 2D array texture. + + + GL_INVALID_OPERATION is generated if zero is bound to target. + + + GL_INVALID_OPERATION is generated if texture is not zero or the name of an existing + three-dimensional texture, or a two-dimensional array texture. + + + + API Version Support + + + + + + glFramebufferTextureLayer + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glGenRenderbuffers, + glFramebufferRenderbuffer, + glFramebufferTexture2D, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glFrontFace.xml b/Source/Bind/Specifications/Docs/ES31/glFrontFace.xml new file mode 100644 index 00000000..a992c4a5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glFrontFace.xml @@ -0,0 +1,115 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glFrontFace + 3G + + + glFrontFace + define front- and back-facing polygons + + + C Specification + + + void glFrontFace + GLenum mode + + + + Parameters + + + mode + + + Specifies the orientation of front-facing polygons. + GL_CW and GL_CCW are accepted. + The initial value is GL_CCW. + + + + + + Description + + In a scene composed entirely of opaque closed surfaces, + back-facing polygons are never visible. + Eliminating these invisible polygons has the obvious benefit + of speeding up the rendering of the image. + To enable and disable elimination of back-facing polygons, call glEnable + and glDisable with argument GL_CULL_FACE. + + + The projection of a polygon to window coordinates is said to have + clockwise winding if an imaginary object following the path + from its first vertex, + its second vertex, + and so on, + to its last vertex, + and finally back to its first vertex, + moves in a clockwise direction about the interior of the polygon. + The polygon's winding is said to be counterclockwise if the imaginary + object following the same path moves in a counterclockwise direction + about the interior of the polygon. + glFrontFace specifies whether polygons with clockwise winding in window coordinates, + or counterclockwise winding in window coordinates, + are taken to be front-facing. + Passing GL_CCW to mode selects counterclockwise polygons as + front-facing; + GL_CW selects clockwise polygons as front-facing. + By default, counterclockwise polygons are taken to be front-facing. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + Associated Gets + + glGet with argument GL_FRONT_FACE + + + + API Version Support + + + + + + glFrontFace + + + + + + + See Also + + glCullFace, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenBuffers.xml b/Source/Bind/Specifications/Docs/ES31/glGenBuffers.xml new file mode 100644 index 00000000..964acc9e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenBuffers.xml @@ -0,0 +1,112 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGenBuffers + 3G + + + glGenBuffers + generate buffer object names + + + C Specification + + + void glGenBuffers + GLsizei n + GLuint * buffers + + + + Parameters + + + n + + + Specifies the number of buffer object names to be generated. + + + + + buffers + + + Specifies an array in which the generated buffer object names are stored. + + + + + + Description + + glGenBuffers returns n buffer object names in buffers. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenBuffers. + + + Buffer object names returned by a call to glGenBuffers are not returned by + subsequent calls, unless they are first deleted with + glDeleteBuffers. + + + The names returned in buffers are marked as used, for the purposes of glGenBuffers only, + but they acquire state and type only when they are first bound by calling + glBindBuffer. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsBuffer + + + + API Version Support + + + + + + glGenBuffers + + + + + + + See Also + + glBindBuffer, + glDeleteBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenFramebuffers.xml b/Source/Bind/Specifications/Docs/ES31/glGenFramebuffers.xml new file mode 100644 index 00000000..f39ae58f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenFramebuffers.xml @@ -0,0 +1,105 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenFramebuffers + 3G + + + glGenFramebuffers + generate framebuffer object names + + + C Specification + + + void glGenFramebuffers + GLsizei n + GLuint *framebuffers + + + + Parameters + + + n + + + Specifies the number of framebuffer object names to generate. + + + + + framebuffers + + + Specifies an array in which the generated framebuffer object names are stored. + + + + + + Description + + glGenFramebuffers returns n framebuffer object names in framebuffers. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenFramebuffers. + + + Framebuffer object names returned by a call to glGenFramebuffers are not returned by subsequent calls, unless + they are first deleted with glDeleteFramebuffers. + + + The names returned in framebuffers are marked as used, for the purposes of glGenFramebuffers only, + but they acquire state and type only when they are first bound. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsFramebuffer, + glGetFramebufferAttachmentParameteriv + + + + API Version Support + + + + + + glGenFramebuffers + + + + + + + See Also + + glBindFramebuffer, + glDeleteFramebuffers, + glGet + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenProgramPipelines.xml b/Source/Bind/Specifications/Docs/ES31/glGenProgramPipelines.xml new file mode 100644 index 00000000..58d3bd60 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenProgramPipelines.xml @@ -0,0 +1,98 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glGenProgramPipelines + 3G + + + glGenProgramPipelines + reserve program pipeline object names + + + C Specification + + + void glGenProgramPipelines + GLsizei n + GLuint *pipelines + + + + + Parameters + + + n + + + Specifies the number of program pipeline object names to reserve. + + + + + pipelines + + + Specifies an array of into which the reserved names will be written. + + + + + + Description + + glGenProgramPipelines returns n previously unused + program pipeline object names in pipelines. These names are marked as used, + for the purposes of glGenProgramPipelines only, but they + acquire program pipeline state only when they are first bound. + + + Associated Gets + + glGet with argument GL_PROGRAM_PIPELINE_BINDING + + + glIsProgramPipeline + + + + API Version Support + + + + + + glGenProgramPipelines + + + + + + + See Also + + glDeleteProgramPipelines, + glBindProgramPipeline, + glIsProgramPipeline, + glUseShaderPrograms, + glUseProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenQueries.xml b/Source/Bind/Specifications/Docs/ES31/glGenQueries.xml new file mode 100644 index 00000000..6069cf93 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenQueries.xml @@ -0,0 +1,113 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGenQueries + 3G + + + glGenQueries + generate query object names + + + C Specification + + + void glGenQueries + GLsizei n + GLuint * ids + + + + Parameters + + + n + + + Specifies the number of query object names to be generated. + + + + + ids + + + Specifies an array in which the generated query object names are stored. + + + + + + Description + + glGenQueries returns n query object names in ids. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenQueries. + + + Query object names returned by a call to glGenQueries are not returned by + subsequent calls, unless they are first deleted with + glDeleteQueries. + + + The names returned in ids are marked as used, for the purposes of glGenQueries only, + but no query objects are associated with the returned query object names until they are first used by calling + glBeginQuery. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsQuery + + + + API Version Support + + + + + + glGenQueries + + + + + + + See Also + + glBeginQuery, + glDeleteQueries, + glEndQuery, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenRenderbuffers.xml b/Source/Bind/Specifications/Docs/ES31/glGenRenderbuffers.xml new file mode 100644 index 00000000..f0c91af9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenRenderbuffers.xml @@ -0,0 +1,105 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenRenderbuffers + 3G + + + glGenRenderbuffers + generate renderbuffer object names + + + C Specification + + + void glGenRenderbuffers + GLsizei n + GLuint *renderbuffers + + + + Parameters + + + n + + + Specifies the number of renderbuffer object names to generate. + + + + + renderbuffers + + + Specifies an array in which the generated renderbuffer object names are stored. + + + + + + Description + + glGenRenderbuffers returns n renderbuffer object names in renderbuffers. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenRenderbuffers. + + + Renderbuffer object names returned by a call to glGenRenderbuffers are not returned by subsequent calls, unless + they are first deleted with glDeleteRenderbuffers. + + + The names returned in renderbuffers are marked as used, for the purposes of glGenRenderbuffers only, + but they acquire state and type only when they are first bound. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsRenderbuffer, + glGetRenderbufferParameteriv + + + + API Version Support + + + + + + glGenRenderbuffers + + + + + + + See Also + + glBindRenderbuffer, + glFramebufferRenderbuffer, + glDeleteRenderbuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenSamplers.xml b/Source/Bind/Specifications/Docs/ES31/glGenSamplers.xml new file mode 100644 index 00000000..b9a5e40b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenSamplers.xml @@ -0,0 +1,111 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenSamplers + 3G + + + glGenSamplers + generate sampler object names + + + C Specification + + + void glGenSamplers + GLsizei n + GLuint *samplers + + + + Parameters + + + n + + + Specifies the number of sampler object names to generate. + + + + + samplers + + + Specifies an array in which the generated sampler object names are stored. + + + + + + Description + + glGenSamplers returns n sampler object names in samplers. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenSamplers. + + + Sampler object names returned by a call to glGenSamplers are not returned by subsequent calls, unless + they are first deleted with glDeleteSamplers. + + + The names returned in samplers are marked as used, for the purposes of glGenSamplers only, + but they acquire state and type only when they are first used as a parameter to + glBindSampler, + glSamplerParameter*, + glGetSamplerParameter* or + glIsSampler. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsSampler, + glGetSamplerParameter + + + + API Version Support + + + + + + glGenSamplers + + + + + + + See Also + + glBindSampler, + glDeleteSamplers, + glIsSampler, + glGetSamplerParameter, + glSamplerParameter + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenTextures.xml b/Source/Bind/Specifications/Docs/ES31/glGenTextures.xml new file mode 100644 index 00000000..93014054 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenTextures.xml @@ -0,0 +1,116 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGenTextures + 3G + + + glGenTextures + generate texture names + + + C Specification + + + void glGenTextures + GLsizei n + GLuint * textures + + + + Parameters + + + n + + + Specifies the number of texture names to be generated. + + + + + textures + + + Specifies an array in which the generated texture names are stored. + + + + + + Description + + glGenTextures returns n texture names in textures. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenTextures. + + + Texture names returned by a call to glGenTextures are not returned by + subsequent calls, unless they are first deleted with + glDeleteTextures. + + + The names returned in textures are marked as used, for the purposes of glGenTextures only, + but they acquire state and dimensionality only when they are first bound using glBindTexture. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsTexture + + + + API Version Support + + + + + + glGenTextures + + + + + + + See Also + + glBindTexture, + glCopyTexImage2D, + glDeleteTextures, + glGet, + glGetTexParameter, + glTexImage2D, + glTexImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenTransformFeedbacks.xml b/Source/Bind/Specifications/Docs/ES31/glGenTransformFeedbacks.xml new file mode 100644 index 00000000..5ddbfd9c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenTransformFeedbacks.xml @@ -0,0 +1,106 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group. + + + + glGenTransformFeedbacks + 3G + + + glGenTransformFeedbacks + reserve transform feedback object names + + + C Specification + + + void glGenTransformFeedbacks + GLsizei n + GLuint *ids + + + + Parameters + + + n + + + Specifies the number of transform feedback object names to reserve. + + + + + ids + + + Specifies an array of into which the reserved names will be written. + + + + + + Description + + glGenTransformFeedbacks returns n transform feedback object names in ids. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenTransformFeedbacks. + + + Transform feedback object names returned by a call to glGenTransformFeedbacks are not returned by subsequent calls, unless + they are first deleted with glDeleteTransformFeedbacks. + + + The names returned in ids are marked as used, for the purposes of glGenTransformFeedbacks only, + but they acquire state and type only when they are first bound. + + + Associated Gets + + glGet with argument GL_TRANSFORM_FEEDBACK_BINDING + + + glIsTransformFeedback + + + + API Version Support + + + + + + glGenTransformFeedbacks + + + + + + + See Also + + glDeleteTransformFeedbacks, + glBindTransformFeedback, + glIsTransformFeedback, + glBeginTransformFeedback, + glPauseTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenVertexArrays.xml b/Source/Bind/Specifications/Docs/ES31/glGenVertexArrays.xml new file mode 100644 index 00000000..faa82406 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenVertexArrays.xml @@ -0,0 +1,103 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenVertexArrays + 3G + + + glGenVertexArrays + generate vertex array object names + + + C Specification + + + void glGenVertexArrays + GLsizei n + GLuint *arrays + + + + Parameters + + + n + + + Specifies the number of vertex array object names to generate. + + + + + arrays + + + Specifies an array in which the generated vertex array object names are stored. + + + + + + Description + + glGenVertexArrays returns n vertex array object names in arrays. + There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names + was in use immediately before the call to glGenVertexArrays. + + + Vertex array object names returned by a call to glGenVertexArrays are not returned by subsequent calls, unless + they are first deleted with glDeleteVertexArrays. + + + The names returned in arrays are marked as used, for the purposes of glGenVertexArrays only, + but they acquire state and type only when they are first bound. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsVertexArray + + + + API Version Support + + + + + + glGenVertexArrays + + + + + + + See Also + + glBindVertexArray, + glDeleteVertexArrays + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGenerateMipmap.xml b/Source/Bind/Specifications/Docs/ES31/glGenerateMipmap.xml new file mode 100644 index 00000000..2bc4c3d6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGenerateMipmap.xml @@ -0,0 +1,185 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGenerateMipmap + 3G + + + glGenerateMipmap + generate mipmaps for a specified texture target + + + C Specification + + + void glGenerateMipmap + GLenum target + + + + Parameters + + + target + + + Specifies the target to which the texture whose mimaps to generate is bound. target must + be GL_TEXTURE_2D, GL_TEXTURE_3D, + GL_TEXTURE_2D_ARRAY or GL_TEXTURE_CUBE_MAP. + + + + + + Description + + glGenerateMipmap generates mipmaps for the texture attached + to target of the active texture unit. For cube map textures, + a GL_INVALID_OPERATION error is generated if the texture + attached to target is not cube complete. + + + Mipmap generation replaces texel array levels + + + + + level + base + + + + 1 + + + through + + + q + + + with arrays derived from the + + + + + level + base + + + + array, regardless of their previous contents. All other mimap arrays, + including the + + + + + level + base + + + + array, are left unchanged by this computation. + + + The internal formats of the derived mipmap arrays all match those of the + + + + + level + base + + + + array. The contents of the derived arrays are computed by repeated, filtered + reduction of the + + + + + level + base + + + + array. For two-dimensional texture arrays, each layer is filtered + independently. + + + Errors + + GL_INVALID_ENUM is generated if target is not + one of the accepted texture targets. + + + GL_INVALID_OPERATION is generated if target is + GL_TEXTURE_CUBE_MAP and the texture bound to the GL_TEXTURE_CUBE_MAP + target of the active texture unit is not cube complete. + + + GL_INVALID_OPERATION is generated if the + + + + + level + base + + + + array is stored in a compressed internal format. + + + GL_INVALID_OPERATION is generated if the + + + + + level + base + + + + array was not specified with an unsized internal format or a sized internal format that is both + color-renderable and texture-filterable. + + + + API Version Support + + + + + + glGenerateMipmap + + + + + + + See Also + + glTexImage2D, + glBindTexture, + glGenTextures + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGet.xml b/Source/Bind/Specifications/Docs/ES31/glGet.xml new file mode 100644 index 00000000..682e9be9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGet.xml @@ -0,0 +1,2335 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGet + 3G + + + glGet + return the value or values of a selected parameter + + + C Specification + + + void glGetBooleanv + GLenum pname + GLboolean * data + + + + + void glGetFloatv + GLenum pname + GLfloat * data + + + + + void glGetIntegerv + GLenum pname + GLint * data + + + + + void glGetInteger64v + GLenum pname + GLint64 * data + + + + + void glGetBooleani_v + GLenum target + GLuint index + GLboolean * data + + + + + void glGetIntegeri_v + GLenum target + GLuint index + GLint * data + + + + + void glGetInteger64i_v + GLenum target + GLuint index + GLint64 * data + + + + Parameters + + + pname + + + Specifies the parameter value to be returned. + The symbolic constants in the list below are accepted. + + + + + target + + + Specifies the parameter value to be returned + for indexed versions of glGet. + The symbolic constants in the list below are accepted. + + + + + index + + + Specifies the index of the particular element being queried. + + + + + data + + + Returns the value or values of the specified parameter. + + + + + + Description + + These commands return values for simple state variables in GL. + pname is a symbolic constant indicating the state variable to be returned, + and params is a pointer to an array of the indicated type in + which to place the returned data. + + + Type conversion is performed if params has a different type than + the state variable value being requested. + If glGetBooleanv is called, + a floating-point (or integer) value is converted to GL_FALSE if + and only if it is 0.0 (or 0). + Otherwise, + it is converted to GL_TRUE. + If glGetIntegerv is called, boolean values are returned as + GL_TRUE or GL_FALSE, and most floating-point values are + rounded to the nearest integer value. Floating-point colors and + normals, however, are returned with a linear mapping that maps 1.0 to + the most positive representable integer value + and + + + -1.0 + + to the most negative representable integer value. + If glGetFloatv is called, + boolean values are returned as GL_TRUE or GL_FALSE, + and integer values are converted to floating-point values. + + + The following symbolic constants are accepted by pname: + + + + GL_ACTIVE_TEXTURE + + + params returns a single value indicating the active multitexture unit. + The initial value is GL_TEXTURE0. + See glActiveTexture. + + + + + GL_ALIASED_LINE_WIDTH_RANGE + + + params returns a pair of values indicating the range of + widths supported for aliased lines. See glLineWidth. + + + + + GL_ALIASED_POINT_SIZE_RANGE + + + params returns two values: + the smallest and largest supported sizes for + points. The smallest size must be at most 1, and the largest size must + be at least 1. + + + + + GL_ALPHA_BITS + + + params returns one value, + the number of alpha bitplanes in the color buffer of the + currently bound draw framebuffer. This is defined only if all color attachments + of the draw framebuffer have identical formats, in which case the number of alpha bits + of color attachment zero are returned. + + + + + GL_ARRAY_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_ARRAY_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_BLEND + + + params returns a single boolean value indicating whether blending is + enabled. The initial value is GL_FALSE. + See glBlendFunc. + + + + + GL_BLEND_COLOR + + + params returns four values, + the red, green, blue, and alpha values which are the components of + the blend color. + See glBlendColor. + + + + + GL_BLEND_DST_ALPHA + + + params returns one value, + the symbolic constant identifying the alpha destination blend + function. The initial value is GL_ZERO. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_DST_RGB + + + params returns one value, + the symbolic constant identifying the RGB destination blend + function. The initial value is GL_ZERO. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_EQUATION_ALPHA + + + params returns one value, a symbolic constant indicating whether + the Alpha blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN or GL_MAX. + See glBlendEquationSeparate. + + + + + GL_BLEND_EQUATION_RGB + + + params returns one value, a symbolic constant indicating whether + the RGB blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN or GL_MAX. + See glBlendEquationSeparate. + + + + + GL_BLEND_SRC_ALPHA + + + params returns one value, + the symbolic constant identifying the alpha source blend function. The initial + value is GL_ONE. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_SRC_RGB + + + params returns one value, + the symbolic constant identifying the RGB source blend function. The initial + value is GL_ONE. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLUE_BITS + + + params returns one value, + the number of blue bitplanes in the color buffer of the + currently bound draw framebuffer. This is defined only if all color attachments + of the draw framebuffer have identical formats, in which case the number of blue bits + of color attachment zero are returned. + + + + + GL_COLOR_CLEAR_VALUE + + + params returns four values: + the red, green, blue, and alpha values used to clear the color buffers. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 0, 0, 0). + See glClearColor. + + + + + GL_COLOR_WRITEMASK + + + params returns four boolean values: + the red, green, blue, and alpha write enables for the color + buffers. The initial value is (GL_TRUE, GL_TRUE, + GL_TRUE, GL_TRUE). + See glColorMask. + + + + + GL_COMPRESSED_TEXTURE_FORMATS + + + params returns a list of symbolic + constants of length GL_NUM_COMPRESSED_TEXTURE_FORMATS + indicating which compressed texture formats are available. + See glCompressedTexImage2D. + + + + + GL_COPY_READ_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_COPY_READ_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_COPY_WRITE_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_COPY_WRITE_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_CULL_FACE + + + params returns a single boolean value indicating whether polygon culling + is enabled. The initial value is GL_FALSE. + See glCullFace. + + + + + GL_CULL_FACE_MODE + + + params returns a single value indicating the mode of polygon culling. + The initial value is GL_BACK. + See glCullFace. + + + + + GL_CURRENT_PROGRAM + + + params returns one value, + the name of the program object that is currently active, or 0 if no program object is active. + See glUseProgram. + + + + + GL_DEPTH_BITS + + + params returns one value, + the number of bitplanes in the depth buffer of the + currently bound framebuffer. + + + + + GL_DEPTH_CLEAR_VALUE + + + params returns one value, + the value that is used to clear the depth buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is 1. + See glClearDepthf. + + + + + GL_DEPTH_FUNC + + + params returns one value, + the symbolic constant that indicates the depth comparison + function. The initial value is GL_LESS. + See glDepthFunc. + + + + + GL_DEPTH_RANGE + + + params returns two values: + the near and far mapping limits for the depth buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 1). + See glDepthRangef. + + + + + GL_DEPTH_TEST + + + params returns a single boolean value indicating whether depth testing + of fragments is enabled. The initial value is GL_FALSE. + See glDepthFunc and glDepthRangef. + + + + + GL_DEPTH_WRITEMASK + + + params returns a single boolean value indicating if the depth buffer + is enabled for writing. The initial value is GL_TRUE. + See glDepthMask. + + + + + GL_DISPATCH_INDIRECT_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_DISPATCH_INDIRECT_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_DITHER + + + params returns a single boolean value indicating whether dithering of + fragment colors and indices is enabled. The initial value is GL_TRUE. + + + + + GL_DRAW_BUFFERi + + + params returns one value, + a symbolic constant indicating which buffers are being drawn to by the corresponding output color. + See glDrawBuffers. + The initial value of GL_DRAW_BUFFER0 is GL_BACK. The + initial values of draw buffers for all other output colors is GL_NONE. + + + + + GL_DRAW_FRAMEBUFFER_BINDING + + + params returns one value, + the name of the framebuffer object currently bound to the GL_DRAW_FRAMEBUFFER target. + If the default framebuffer is bound, this value will be zero. The initial value is zero. + See glBindFramebuffer. + + + + + GL_ELEMENT_ARRAY_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_ELEMENT_ARRAY_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_FRAGMENT_SHADER_DERIVATIVE_HINT + + + params returns one value, + a symbolic constant indicating the mode of the derivative accuracy hint + for fragment shaders. The initial value + is GL_DONT_CARE. + See glHint. + + + + + GL_FRONT_FACE + + + params returns a single value indicating the winding order + of polygon front faces. + The initial value is GL_CCW. + See glFrontFace. + + + + + GL_GENERATE_MIPMAP_HINT + + + params returns one value, + a symbolic constant indicating the mode of the generate mipmap quality hint. + The initial value is + GL_DONT_CARE. See + glHint. + + + + + GL_GREEN_BITS + + + params returns one value, + the number of green bitplanes in the color buffer of the + currently bound draw framebuffer. This is defined only if all color attachments + of the draw framebuffer have identical formats, in which case the number of green bits + of color attachment zero are returned. + + + + + GL_IMAGE_BINDING_LAYERED + + + params returns one value, + corresponding to whether the image bound to the indexed image unit is layered or not. + + + + + GL_IMPLEMENTATION_COLOR_READ_FORMAT + + + params returns one value, the format + chosen by the implementation in which pixels may be read from the + color buffer of the currently bound framebuffer in conjunction with + GL_IMPLEMENTATION_COLOR_READ_TYPE. + See glReadPixels. + + + + + GL_IMPLEMENTATION_COLOR_READ_TYPE + + + params returns one value, the type + chosen by the implementation with which pixels may be read from the + color buffer of the currently bound framebuffer in conjunction with + GL_IMPLEMENTATION_COLOR_READ_FORMAT. + See glReadPixels. + + + + + GL_LINE_WIDTH + + + params returns one value, + the line width as specified with glLineWidth. The initial value is + 1. + + + + + GL_MAJOR_VERSION + + + params returns one value, + the major version number of the OpenGL ES API supported by the current context. + This must be 3. + + + + + GL_MAX_3D_TEXTURE_SIZE + + + params returns one value, + a rough estimate of the largest 3D texture that the GL can handle. + The value must be at least 256. See glTexImage3D. + + + + + GL_MAX_ARRAY_TEXTURE_LAYERS + + + params returns one value. + The value indicates the maximum number of layers allowed in an array texture, and must be at least 256. + See glTexImage2D. + + + + + GL_MAX_COLOR_ATTACHMENTS + + + params returns one value, the maximum number + of color attachment points in a framebuffer object. + The value must be at least 4. + See glFramebufferRenderbuffer + and glFramebufferTexture2D. + + + + + GL_MAX_COLOR_TEXTURE_SAMPLES + + + params returns one value, + the maximum number of samples in a color multisample texture. + + + + + GL_MAX_COMBINED_ATOMIC_COUNTERS + + + params returns a single value, the maximum number of atomic counters available to all active shaders. + + + + + GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS + + + params returns one value, + the number of words for compute shader uniform variables in all uniform + blocks (including default). The value must be at least 1. + See glUniform. + + + + + GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS + + + params returns one value, + the number of words for fragment shader uniform variables in all uniform + blocks (including default). The value must be at least + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS + + GL_MAX_UNIFORM_BLOCK_SIZE * GL_MAX_FRAGMENT_UNIFORM_BLOCKS / 4. + See glUniform. + + + + + GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS + + + params returns one value, + the maximum total number of active shader storage blocks that may be accessed by all active shaders. + + + + + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the vertex shader and the fragment processor combined. + If both the vertex shader and the fragment processing stage access the same texture image + unit, then that counts as using two texture image units against this limit. + The value must be at least 32. + See glActiveTexture. + + + + + GL_MAX_COMBINED_UNIFORM_BLOCKS + + + params returns one value, + the maximum number of uniform blocks per program. The value must be at least 24. + See glUniformBlockBinding. + + + + + GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS + + + params returns one value, + the number of words for vertex shader uniform variables in all uniform + blocks (including default). The value must be at least . + GL_MAX_VERTEX_UNIFORM_COMPONENTS + + GL_MAX_UNIFORM_BLOCK_SIZE * GL_MAX_VERTEX_UNIFORM_BLOCKS / 4. + See glUniform. + + + + + GL_MAX_COMPUTE_ATOMIC_COUNTERS + + + params returns a single value, the maximum number of atomic counters available to compute shaders. + + + + + GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS + + + params returns a single value, the maximum number of atomic counter buffers that may be accessed by a compute shader. + + + + + GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS + + + params returns one value, + the maximum number of active shader storage blocks that may be accessed by a compute shader. + + + + + GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the compute shader. The value may be at least 16. + See glActiveTexture. + + + + + GL_MAX_COMPUTE_UNIFORM_BLOCKS + + + params returns one value, + the maximum number of uniform blocks per compute shader. The value must be at least 14. + See glUniformBlockBinding. + + + + + GL_MAX_COMPUTE_UNIFORM_COMPONENTS + + + params returns one value, + the maximum number of individual floating-point, integer, or boolean values that can be held + in uniform variable storage for a compute shader. The value must be at least 1024. + See glUniform. + + + + + GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS + + + params returns one value, + the number of invocations in a single local work group + (i.e., the product of the three dimensions) that may + be dispatched to a compute shader. + + + + + GL_MAX_COMPUTE_WORK_GROUP_COUNT + + + Accepted by the indexed versions of glGet. + params the maximum number of work + groups that may be dispatched to a compute shader. Indices + 0, 1, and 2 correspond to the X, Y and Z dimensions, respectively. + + + + + GL_MAX_COMPUTE_WORK_GROUP_SIZE + + + Accepted by the indexed versions of glGet. + params the maximum size of a work + groups that may be used during compilation of a compute shader. Indices + 0, 1, and 2 correspond to the X, Y and Z dimensions, respectively. + + + + + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + params returns one value. + The value gives a rough estimate of the largest cube-map texture that + the GL can handle. The value must be at least 2048. + See glTexImage2D. + + + + + GL_MAX_DRAW_BUFFERS + + + params returns one value, the maximum number + of simultaneous outputs that may be written in a fragment shader. + The value must be at least 4. + See glDrawBuffers. + + + + + GL_MAX_ELEMENT_INDEX + + + params returns one value, + the maximum index supported by the implementation. + The value must be at least + + + + + 2 + 24 + + - + 1 + + . + + + + + GL_MAX_ELEMENTS_INDICES + + + params returns one value, + the recommended maximum number of vertex array indices. + See glDrawRangeElements. + + + + + GL_MAX_ELEMENTS_VERTICES + + + params returns one value, + the recommended maximum number of vertex array vertices. + See glDrawRangeElements. + + + + + GL_MAX_FRAGMENT_ATOMIC_COUNTERS + + + params returns a single value, the maximum number of atomic counters available to fragment shaders. + + + + + GL_MAX_FRAGMENT_INPUT_COMPONENTS + + + params returns one value, + the maximum number of components of the inputs read by the fragment shader, which must be at least 60. + + + + + GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS + + + params returns one value, + the maximum number of active shader storage blocks that may be accessed by a fragment shader. + + + + + GL_MAX_FRAGMENT_UNIFORM_BLOCKS + + + params returns one value, + the maximum number of uniform blocks per fragment shader. The value must be at least 12. + See glUniformBlockBinding. + + + + + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS + + + params returns one value, + the maximum number of individual floating-point, integer, or boolean values that can be held + in uniform variable storage for a fragment shader. The value must be at least 896. + See glUniform. + + + + + GL_MAX_FRAGMENT_UNIFORM_VECTORS + + + params returns one value, + the maximum number of vector floating-point, integer, or boolean values that can be held + in uniform variable storage for a fragment shader. The value must be at least 224. + See glUniform. + + + + + GL_MAX_FRAMEBUFFER_HEIGHT + + + params returns one value, + the maximum height for a framebuffer that has no attachments, which must be at least 16384. + See glFramebufferParameteri. + + + + + GL_MAX_FRAMEBUFFER_SAMPLES + + + params returns one value, + the maximum samples in a framebuffer that has no attachments, which must be at least 4. + See glFramebufferParameteri. + + + + + GL_MAX_FRAMEBUFFER_WIDTH + + + params returns one value, + the maximum width for a framebuffer that has no attachments, which must be at least 16384. + See glFramebufferParameteri. + + + + + GL_MAX_INTEGER_SAMPLES + + + params returns one value, + the maximum number of samples supported in integer format multisample buffers. + + + + + GL_MAX_PROGRAM_TEXEL_OFFSET + + + params returns one value, + the maximum texel offset allowed in a texture lookup, which must be at least 7. + + + + + GL_MAX_RENDERBUFFER_SIZE + + + params returns one value. + The value indicates the maximum supported size for renderbuffers and must be at least 2048. + See glFramebufferRenderbuffer. + + + + + GL_MAX_SAMPLE_MASK_WORDS + + + params returns one value, + the maximum number of sample mask words. + + + + + GL_MAX_SAMPLES + + + params returns one value. + The value indicates the maximum supported number of samples for multisampling. + The value must be at least 4. + See glGetInternalformativ. + + + + + GL_MAX_SERVER_WAIT_TIMEOUT + + + params returns one value, + the maximum glWaitSync timeout interval. + + + + + GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS + + + params returns one value, + the maximum number of shader storage buffer binding points on the context, which must be at least 8. + + + + + GL_MAX_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the fragment shader. + The value must be at least 16. + See glActiveTexture. + + + + + GL_MAX_TEXTURE_LOD_BIAS + + + params returns one value, + the maximum, absolute value of the texture level-of-detail bias. The + value must be at least 2.0. + + + + + GL_MAX_TEXTURE_SIZE + + + params returns one value. + The value gives a rough estimate of the largest texture that + the GL can handle. The value must be at least 2048. + See glTexImage2D. + + + + + GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS + + + params returns one value, + the maximum number of components which can be written to a single transform feedback buffer in + interleaved mode. The value must be at least 64. + See glTransformFeedbackVaryings. + + + + + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS + + + params returns one value, + the maximum separate attributes or outputs which can be captured in separate + transform feedback mode. The value must be at least 4. + See glTransformFeedbackVaryings. + + + + + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS + + + params returns one value, + the maximum number of components which can be written per attribute or output in separate + transform feedback mode. The value must be at least 4. + See glTransformFeedbackVaryings. + + + + + GL_MAX_UNIFORM_BLOCK_SIZE + + + params returns one value, + the maximum size in basic machine units of a uniform block. + The value must be at least 16384. + See glUniformBlockBinding. + + + + + GL_MAX_UNIFORM_BUFFER_BINDINGS + + + params returns one value, + the maximum number of uniform buffer binding points on the context, which must be at least 24. + + + + + GL_MAX_UNIFORM_LOCATIONS + + + params returns one value, + the maximum number of explicitly assignable uniform locations, which must be at least 1024. + + + + + GL_MAX_VARYING_COMPONENTS + + + params returns one value, + the number components for varying variables, which must be at least 60. + + + + + GL_MAX_VARYING_VECTORS + + + params returns one value, + the maximum number of interpolators available for processing varying variables used by + vertex and fragment shaders. This value represents the number of vector + values that can be interpolated; varying variables declared as matrices and arrays + will consume multiple interpolators. The value must be at least 15. + + + + + GL_MAX_VERTEX_ATOMIC_COUNTERS + + + params returns a single value, the maximum number of atomic counters available to vertex shaders. + + + + + GL_MAX_VERTEX_ATTRIB_BINDINGS + + + params returns a single integer value containing the maximum number of vertex buffers that may be bound. + + + + + GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET + + + params returns a single integer value containing the maximum offset that may be added to a vertex binding + offset. + + + + + GL_MAX_VERTEX_ATTRIBS + + + params returns one value, + the maximum number of 4-component generic vertex attributes accessible to a vertex shader. + The value must be at least 16. + See glVertexAttrib. + + + + + GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS + + + params returns one value, + the maximum number of active shader storage blocks that may be accessed by a vertex shader. + + + + + GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the vertex shader. The value may be at least 16. + See glActiveTexture. + + + + + GL_MAX_VERTEX_OUTPUT_COMPONENTS + + + params returns one value, + the maximum number of components of output written by a vertex shader, which must be at least 64. + + + + + GL_MAX_VERTEX_UNIFORM_BLOCKS + + + params returns one value, + the maximum number of uniform blocks per vertex shader. The value must be at least 12. + See glUniformBlockBinding. + + + + + GL_MAX_VERTEX_UNIFORM_COMPONENTS + + + params returns one value, + the maximum number of individual floating-point, integer, or boolean values that can be held + in uniform variable storage for a vertex shader. The value must be at least 1024. + See glUniform. + + + + + GL_MAX_VERTEX_UNIFORM_VECTORS + + + params returns one value, + the maximum number of vector floating-point, integer, or boolean values that can be held + in uniform variable storage for a vertex shader. The value must be at least 256. + See glUniform. + + + + + GL_MAX_VIEWPORT_DIMS + + + params returns two values: + the maximum supported width and height of the viewport. + These must be at least as large as the visible dimensions of the display + being rendered to. + See glViewport. + + + + + GL_MIN_PROGRAM_TEXEL_OFFSET + + + params returns one value, + the minimum texel offset allowed in a texture lookup, which must be at most -8. + + + + + GL_MINOR_VERSION + + + params returns one value, + the minor version number of the OpenGL ES API supported by the current context. + + + + + GL_NUM_COMPRESSED_TEXTURE_FORMATS + + + params returns a single integer value indicating the number of available + compressed texture formats. The minimum value is 10. + See glCompressedTexImage2D. + + + + + GL_NUM_EXTENSIONS + + + params returns one value, + the number of extensions supported by the GL implementation for the current context. + See glGetString. + + + + + GL_NUM_PROGRAM_BINARY_FORMATS + + + params returns a single integer value indicating the number of available + program binary formats. The minimum value is 0. + See glProgramBinary. + + + + + GL_NUM_SHADER_BINARY_FORMATS + + + params returns a single integer value indicating the number of available + shader binary formats. The minimum value is 0. + See glShaderBinary. + + + + + GL_PACK_ALIGNMENT + + + params returns one value, + the byte alignment used for writing pixel data to memory. The initial + value is 4. + See glPixelStorei. + + + + + GL_PACK_ROW_LENGTH + + + params returns one value, + the row length used for writing pixel data to memory. The initial value is + 0. + See glPixelStorei. + + + + + GL_PACK_SKIP_PIXELS + + + params returns one value, + the number of pixel locations skipped before the first pixel is written + into memory. The initial value is 0. + See glPixelStorei. + + + + + GL_PACK_SKIP_ROWS + + + params returns one value, + the number of rows of pixel locations skipped before the first pixel is written + into memory. The initial value is 0. + See glPixelStorei. + + + + + GL_PIXEL_PACK_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_PIXEL_PACK_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_PIXEL_UNPACK_BUFFER_BINDING + + + params returns a single value, the name of the buffer object + currently bound to the target GL_PIXEL_UNPACK_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_POLYGON_OFFSET_FACTOR + + + params returns one value, + the scaling factor used to determine the variable offset that is added + to the depth value of each fragment generated when a polygon is + rasterized. The initial value is 0. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_FILL + + + params returns a single boolean value indicating whether polygon offset + is enabled for polygons. The initial value is GL_FALSE. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_UNITS + + + params returns one value. + This value is multiplied by an implementation-specific value and then + added to the depth value of each fragment + generated when a polygon is rasterized. The initial value is 0. + See glPolygonOffset. + + + + + GL_PRIMITIVE_RESTART_FIXED_INDEX + + + params returns a single boolean value indicating whether primitive restart + with a fixed index is enabled. The initial value is GL_FALSE. + + + + + GL_PROGRAM_BINARY_FORMATS + + + params returns a list of symbolic + constants of length GL_NUM_PROGRAM_BINARY_FORMATS + indicating which program binary formats are available. + See glProgramBinary. + + + + + GL_PROGRAM_PIPELINE_BINDING + + + params a single value, the name of the currently bound program pipeline + object, or zero if no program pipeline object is bound. + See glBindProgramPipeline. + + + + + GL_READ_BUFFER + + + params returns one value, + a symbolic constant indicating which color buffer is selected for + reading. The initial value is GL_BACK. + See + glReadPixels. + + + + + GL_READ_FRAMEBUFFER_BINDING + + + params returns one value, + the name of the framebuffer object currently bound to the GL_READ_FRAMEBUFFER target. + If the default framebuffer is bound, this value will be zero. The initial value is zero. + See glBindFramebuffer. + + + + + GL_RED_BITS + + + params returns one value, + the number of red bitplanes in the color buffer of the + currently bound draw framebuffer. This is defined only if all color attachments + of the draw framebuffer have identical formats, in which case the number of red bits + of color attachment zero are returned. + + + + + GL_RENDERBUFFER_BINDING + + + params returns a single value, the name of the renderbuffer object + currently bound to the target GL_RENDERBUFFER. If no renderbuffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindRenderbuffer. + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + params returns a single boolean value indicating whether modification + of sample coverage based on alpha is + enabled. The initial value is GL_FALSE. + See glSampleCoverage. + + + + + GL_SAMPLE_BUFFERS + + + params returns a single integer value indicating the number of sample buffers + associated with the framebuffer. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE + + + params returns a single boolean value indicating whether modification + of sample coverage based on the value specified by + glSampleCoverage is + enabled. The initial value is GL_FALSE. + + + + + GL_SAMPLE_COVERAGE_INVERT + + + params returns a single boolean value indicating if the temporary + coverage value should be inverted. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE_VALUE + + + params returns a single positive floating-point value indicating the + current sample coverage value. + See glSampleCoverage. + + + + + GL_SAMPLER_BINDING + + + params returns a single value, the name of the sampler object + currently bound to the active texture unit. The initial value is 0. + See glBindSampler. + + + + + GL_SAMPLES + + + params returns a single integer value indicating the coverage mask size. + See glSampleCoverage. + + + + + GL_SCISSOR_BOX + + + params returns four values: + the + x + and + y + window coordinates of the scissor box, + followed by its width and height. + Initially the + x + and + y + window coordinates are both 0 and the + width and height are set to the size of the window. + See glScissor. + + + + + GL_SCISSOR_TEST + + + params returns a single boolean value indicating whether scissoring is + enabled. The initial value is GL_FALSE. + See glScissor. + + + + + GL_SHADER_BINARY_FORMATS + + + params returns a list of symbolic + constants of length GL_NUM_SHADER_BINARY_FORMATS + indicating which shader binary formats are available. + See glShaderBinary. + + + + + GL_SHADER_COMPILER + + + params returns a single boolean value indicating whether + a shader compiler is supported. This value is always GL_TRUE. + See glCompileShader. + + + + + GL_SHADER_STORAGE_BUFFER_BINDING + + + When used with non-indexed variants of glGet (such as glGetIntegerv), + params returns a single value, the name of the buffer object + currently bound to the target GL_SHADER_STORAGE_BUFFER. If no buffer object + is bound to this target, 0 is returned. + When used with indexed variants of glGet (such as glGetIntegeri_v), + params returns a single value, the name of the buffer object + bound to the indexed shader storage buffer binding points. The initial value is 0 for all targets. + See glBindBuffer, glBindBufferBase, and + glBindBufferRange. + + + + + GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT + + + params returns a single value, the minimum required alignment + for shader storage buffer sizes and offset. The initial value is 1. + See glShaderStorateBlockBinding. + + + + + GL_SHADER_STORAGE_BUFFER_SIZE + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the size of the binding range for each + indexed shader storage buffer binding. The initial value is 0 for all bindings. + See glBindBufferRange. + + + + + GL_SHADER_STORAGE_BUFFER_START + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the start offset of the binding range for each + indexed shader storage buffer binding. The initial value is 0 for all bindings. + See glBindBufferRange. + + + + + GL_STENCIL_BACK_FAIL + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test fails. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_FUNC + + + params returns one value, + a symbolic constant indicating what function is used for back-facing polygons to compare the + stencil reference value with the stencil buffer value. The initial value + is GL_ALWAYS. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_PASS_DEPTH_FAIL + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test passes, + but the depth test fails. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_PASS_DEPTH_PASS + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test passes and the depth test passes. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_REF + + + params returns one value, + the reference value that is compared with the contents of the stencil + buffer for back-facing polygons. The initial value is 0. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_VALUE_MASK + + + params returns one value, + the mask that is used for back-facing polygons to mask both the stencil reference value and the + stencil buffer value before they are compared. The initial value is all 1's. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_WRITEMASK + + + params returns one value, + the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value + is all 1's. + See glStencilMaskSeparate. + + + + + GL_STENCIL_BITS + + + params returns one value, + the number of bitplanes in the stencil buffer of the + currently bound framebuffer. + + + + + GL_STENCIL_CLEAR_VALUE + + + params returns one value, + the index to which the stencil bitplanes are cleared. The initial value is + 0. + See glClearStencil. + + + + + GL_STENCIL_FAIL + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test fails. The initial value is GL_KEEP. + See glStencilOp. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_FUNC + + + params returns one value, + a symbolic constant indicating what function is used to compare the + stencil reference value with the stencil buffer value. The initial value + is GL_ALWAYS. + See glStencilFunc. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_PASS_DEPTH_FAIL + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test passes, + but the depth test fails. The initial value is GL_KEEP. + See glStencilOp. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_PASS_DEPTH_PASS + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test passes and the depth test passes. The initial value is GL_KEEP. + See glStencilOp. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_REF + + + params returns one value, + the reference value that is compared with the contents of the stencil + buffer. The initial value is 0. + See glStencilFunc. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_TEST + + + params returns a single boolean value indicating whether stencil testing + of fragments is enabled. The initial value is GL_FALSE. + See glStencilFunc and glStencilOp. + + + + + GL_STENCIL_VALUE_MASK + + + params returns one value, + the mask that is used to mask both the stencil reference value and the + stencil buffer value before they are compared. The initial value is all 1's. + See glStencilFunc. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_WRITEMASK + + + params returns one value, + the mask that controls writing of the stencil bitplanes. The initial value + is all 1's. + See glStencilMask. + This stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilMaskSeparate. + + + + + GL_SUBPIXEL_BITS + + + params returns one value, + an estimate of the number of bits of subpixel resolution that are used to + position rasterized geometry in window coordinates. The value must be at least 4. + + + + + GL_TEXTURE_BINDING_2D + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_2D. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_2D_ARRAY + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_2D_ARRAY. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_3D + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_3D. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_CUBE_MAP + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_CUBE_MAP. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_2D_MULTISAMPLE + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_2D_MULTISAMPLE. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_2D_MULTISAMPLE_ARRAY. The initial value is 0. + See glBindTexture. + + + + + GL_TRANSFORM_FEEDBACK_BINDING + + + params returns a single value, the name of the transform feedback object + currently bound to the GL_TRANSFORM_FEEDBACK target. If no transform feedback object + is bound to this target, 0 is returned. The initial value is 0. + See glBindTransformFeedback. + + + + + GL_TRANSFORM_FEEDBACK_ACTIVE + + + params returns a single boolean value indicating if the currently + bound transform feedback object is active. + See glBeginTransformFeedback + and glResumeTransformFeedback. + + + + + GL_TRANSFORM_FEEDBACK_BUFFER_BINDING + + + When used with non-indexed variants of glGet (such as glGetIntegerv), + params returns a single value, the name of the buffer object + currently bound to the target GL_TRANSFORM_FEEDBACK_BUFFER. If no buffer object + is bound to this target, 0 is returned. + When used with indexed variants of glGet (such as glGetIntegeri_v), + params returns a single value, the name of the buffer object + bound to the indexed transform feedback attribute stream. The initial value is 0 for all targets. + See glBindBuffer, glBindBufferBase, and + glBindBufferRange. + + + + + GL_TRANSFORM_FEEDBACK_PAUSED + + + params returns a single boolean value indicating if the currently + bound transform feedback object is paused. + See glPauseTransformFeedback. + + + + + GL_TRANSFORM_FEEDBACK_BUFFER_SIZE + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the size of the binding range for each + transform feedback attribute stream. The initial value is 0 for all streams. + See glBindBufferRange. + + + + + GL_TRANSFORM_FEEDBACK_BUFFER_START + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the start offset of the binding range for each + transform feedback attribute stream. The initial value is 0 for all streams. + See glBindBufferRange. + + + + + GL_UNIFORM_BUFFER_BINDING + + + When used with non-indexed variants of glGet (such as glGetIntegerv), + params returns a single value, the name of the buffer object + currently bound to the target GL_UNIFORM_BUFFER. If no buffer object + is bound to this target, 0 is returned. + When used with indexed variants of glGet (such as glGetIntegeri_v), + params returns a single value, the name of the buffer object + bound to the indexed uniform buffer binding point. The initial value is 0 for all targets. + See glBindBuffer, glBindBufferBase, and + glBindBufferRange. + + + + + GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT + + + params returns a single value, the minimum required alignment + for uniform buffer sizes and offset. The initial value is 1. + See glUniformBlockBinding. + + + + + GL_UNIFORM_BUFFER_SIZE + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the size of the binding range for each + indexed uniform buffer binding. The initial value is 0 for all bindings. + See glBindBufferRange. + + + + + GL_UNIFORM_BUFFER_START + + + When used with indexed variants of glGet (such as glGetInteger64i_v), + params returns a single value, the start offset of the binding range for each + indexed uniform buffer binding. The initial value is 0 for all bindings. + See glBindBufferRange. + + + + + GL_UNPACK_ALIGNMENT + + + params returns one value, + the byte alignment used for reading pixel data from memory. The initial + value is 4. + See glPixelStorei. + + + + + GL_UNPACK_IMAGE_HEIGHT + + + params returns one value, + the image height used for reading pixel data from memory. The initial + is 0. + See glPixelStorei. + + + + + GL_UNPACK_ROW_LENGTH + + + params returns one value, + the row length used for reading pixel data from memory. The initial value + is 0. + See glPixelStorei. + + + + + GL_UNPACK_SKIP_IMAGES + + + params returns one value, + the number of pixel images skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStorei. + + + + + GL_UNPACK_SKIP_PIXELS + + + params returns one value, + the number of pixel locations skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStorei. + + + + + GL_UNPACK_SKIP_ROWS + + + params returns one value, + the number of rows of pixel locations skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStorei. + + + + + GL_VERTEX_ARRAY_BINDING + + + params returns a single value, the name of the vertex array object + currently bound. If no vertex array object is bound, 0 is returned. The initial value is 0. + See glBindVertexArray. + + + + + GL_VERTEX_BINDING_DIVISOR + + + Accepted by the indexed forms. params returns a single integer value representing the instance step + divisor of the first element in the bound buffer's data store for vertex attribute bound to index. + + + + + GL_VERTEX_BINDING_OFFSET + + + Accepted by the indexed forms. params returns a single integer value representing the byte offset + of the first element in the bound buffer's data store for vertex attribute bound to index. + + + + + GL_VERTEX_BINDING_STRIDE + + + Accepted by the indexed forms. params returns a single integer value representing the byte offset + between the start of each element in the bound buffer's data store for vertex attribute bound to index. + + + + + GL_VIEWPORT + + + params returns four values: + the + x + and + y + window coordinates of the viewport, + followed by its width and height. + Initially the + x + and + y + window coordinates are both set to 0, + and the width and height are set to the width and height of the window into + which the GL will do its rendering. + See glViewport. + + + + + + Many of the boolean parameters can also be queried more easily using + glIsEnabled. + + + Notes + + The following parameters return the associated value for the active texture unit: + GL_TEXTURE_2D, GL_TEXTURE_BINDING_2D, + GL_TEXTURE_3D and GL_TEXTURE_BINDING_3D. + + + GL_MAX_VERTEX_ATOMIC_COUNTERS, + GL_MAX_FRAMGENT_ATOMIC_COUNTERS, + GL_MAX_COMPUTE_ATOMIC_COUNTERS, + GL_MAX_COMBINED_ATOMIC_COUNTERS, + GL_MAX_COMPUTE_UNIFORM_BLOCKS, + GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS, + GL_MAX_COMPUTE_UNIFORM_COMPONENTS, + GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS, + GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS, + GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS, + GL_MAX_COMPUTE_WORK_GROUP_COUNT, + GL_MAX_COMPUTE_WORK_GROUP_SIZE, + GL_DISPATCH_INDIRECT_BUFFER_BINDING, + GL_MAX_UNIFORM_LOCATIONS, + GL_MAX_FRAMEBUFFER_WIDTH, + GL_MAX_FRAMEBUFFER_HEIGHT, + GL_MAX_FRAMEBUFFER_SAMPLES, + GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, + GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS, + GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS, + GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS, + GL_VERTEX_BINDING_DIVISOR, + GL_VERTEX_BINDING_OFFSET, + GL_VERTEX_BINDING_STRIDE, + GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET and + GL_MAX_VERTEX_ATTRIB_BINDINGS are available + only if the GL ES version is 3.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_VALUE is generated on either glGetIntegeri_v, + or glGetInteger64i_v if + index is outside of the valid range for the indexed state target. + + + + API Version Support + + + + + + glGetBooleanv + + + + glGetBooleani_v + + + + glGetFloatv + + + + glGetIntegerv + + + + glGetInteger64v + + + + glGetIntegeri_v + + + + glGetInteger64i_v + + + + + + + See Also + + glGetActiveUniform, + glGetAttachedShaders, + glGetAttribLocation, + glGetBufferParameter, + glGetBufferPointerv, + glGetError, + glGetProgramiv, + glGetProgramInfoLog, + glGetQueryiv, + glGetQueryObjectuiv, + glGetShaderiv, + glGetShaderInfoLog, + glGetShaderSource, + glGetString, + glGetTexParameter, + glGetUniform, + glGetUniformLocation, + glGetVertexAttrib, + glGetVertexAttribPointerv, + glIsEnabled + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetActiveAtomicCounterBufferiv.xml b/Source/Bind/Specifications/Docs/ES31/glGetActiveAtomicCounterBufferiv.xml new file mode 100644 index 00000000..742d5302 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetActiveAtomicCounterBufferiv.xml @@ -0,0 +1,157 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group. + + + + glGetActiveAtomicCounterBufferiv + 3G + + + glGetActiveAtomicCounterBufferiv + retrieve information about the set of active atomic counter buffers for a program + + + C Specification + + + void glGetActiveAtomicCounterBufferiv + Gluint program + GLuint bufferIndex + GLenum pname + GLint *params + + + + + Parameters + + + program + + + The name of a program object from which to retrieve information. + + + + + bufferIndex + + + Specifies index of an active atomic counter buffer. + + + + + pname + + + Specifies which parameter of the atomic counter buffer to retrieve. + + + + + params + + + Specifies the address of a variable into which to write the retrieved information. + + + + + + Description + + glGetActiveAtomicCounterBufferiv retrieves information about the set of active + atomic counter buffers for a program object. program is the name of a program + object for which the command glLinkProgram + has been issued in the past. It is not necessary for program to have been linked + successfully. The link may have failed because the number of active atomic counters exceeded the limits. + + + bufferIndex specifies the index of an active atomic counter buffer and must be in + the range zero to the value of GL_ACTIVE_ATOMIC_COUNTER_BUFFERS minus one. The value + of GL_ACTIVE_ATOMIC_COUNTER_BUFFERS for program indicates the + number of active atomic counter buffer and can be queried with + glGetProgram. + + + If no error occurs, the parameter(s) specified by pname are returned in params. + If an error is generated, the contents of params are not modified. + + + If pname is GL_ATOMIC_COUNTER_BUFFER_BINDING, then the index of the + counter buffer binding point associated with the active atomic counter buffer bufferIndex + for program is returned. + + + If pname is GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE, then the implementation-dependent + minimum total buffer object size, in basic machine units, required to hold all active atomic counters in the + atomic counter binding point identified by bufferIndex is returned. + + + If pname is GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS, then the number of active + atomic counters for the atomic counter buffer identified by bufferIndex is returned. + + + If pname is GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES, + then a list of the active atomic counter indices for the atomic counter buffer identified by bufferIndex + is returned. The number of elements that will be written into params is the value of + GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS for bufferIndex. + + + If pname is GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER, + GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER, or + GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER then a boolean value indicating + whether the atomic counter buffer identified by bufferIndex is referenced by the vertex, + fragment or compute processing stages of program, respectively, is returned. + + + Errors + + GL_INVALID_VALUE is generated if program is not the name of a program + object for which glLinkProgram has been called in the past. + + + GL_INVALID_VALUE is generated if bufferIndex is greater than or equal to + the value of GL_ACTIVE_ATOMIC_COUNTER_BUFFERS for program. + + + GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. + + + + API Version Support + + + + + + glGetActiveAtomicCounterBufferiv + + + + + + + See Also + + glGetProgram, + glGetUniformLocation + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetActiveAttrib.xml b/Source/Bind/Specifications/Docs/ES31/glGetActiveAttrib.xml new file mode 100644 index 00000000..7d284e64 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetActiveAttrib.xml @@ -0,0 +1,234 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetActiveAttrib + 3G + + + glGetActiveAttrib + Returns information about an active attribute variable for the specified program object + + + C Specification + + + void glGetActiveAttrib + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + index + + Specifies the index of the attribute variable + to be queried. + + + + bufSize + + Specifies the maximum number of characters + OpenGL is allowed to write in the character buffer + indicated by name. + + + + length + + Returns the number of characters actually + written by OpenGL in the string indicated by + name (excluding the null + terminator) if a value other than + NULL is passed. + + + + size + + Returns the size of the attribute + variable. + + + + type + + Returns the data type of the attribute + variable. + + + + name + + Returns a null terminated string containing + the name of the attribute variable. + + + + + Description + glGetActiveAttrib returns information + about an active attribute variable in the program object + specified by program. The number of + active attributes can be obtained by calling + glGetProgramiv + with the value GL_ACTIVE_ATTRIBUTES. A + value of zero for index selects the first + active attribute variable. Permissible values for + index range from zero to the number of + active attribute variables minus one. + + Attribute variables have arbitrary names and obtain their values + through numbered generic vertex attributes. An attribute + variable is considered active + if it is determined during the link operation that it may be + accessed during program execution. Therefore, + program should have previously been the + target of a call to + glLinkProgram, + but it is not necessary for it to have been linked + successfully. + + The size of the character buffer required to store the + longest attribute variable name in + program can be obtained by calling + glGetProgramiv + with the value + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. This value + should be used to allocate a buffer of sufficient size to store + the returned attribute name. The size of this character buffer + is passed in bufSize, and a pointer to + this character buffer is passed in + name. + + glGetActiveAttrib returns the name of + the attribute variable indicated by + index, storing it in the character buffer + specified by name. The string returned + will be null terminated. The actual number of characters written + into this buffer is returned in length, + and this count does not include the null termination character. + If the length of the returned string is not required, a value of + NULL can be passed in the + length argument. + + The type argument will return a + pointer to the attribute variable's data type. The symbolic + constants GL_FLOAT, + GL_FLOAT_VEC2, + GL_FLOAT_VEC3, + GL_FLOAT_VEC4, + GL_FLOAT_MAT2, + GL_FLOAT_MAT3, + GL_FLOAT_MAT4, + GL_FLOAT_MAT2x3, + GL_FLOAT_MAT2x4, + GL_FLOAT_MAT3x2, + GL_FLOAT_MAT3x4, + GL_FLOAT_MAT4x2, + GL_FLOAT_MAT4x3, + GL_INT, + GL_INT_VEC2, + GL_INT_VEC3, + GL_INT_VEC4, + GL_UNSIGNED_INT, + GL_UNSIGNED_INT_VEC2, + GL_UNSIGNED_INT_VEC3, or + GL_UNSIGNED_INT_VEC4 may be returned. The + size argument will return the size of the + attribute, in units of the type returned in + type. + + This function will return as much information as it can + about the specified active attribute variable. If no information + is available, length will be 0, and + name will be an empty string. This + situation could occur if this function is called after a link + operation that failed. If an error occurs, the return values + length, size, + type, and name + will be unmodified. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + index is greater than or equal to the + number of active attribute variables in + program. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS. + + glGetProgramiv + with argument GL_ACTIVE_ATTRIBUTES or + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. + + glIsProgram + + + API Version Support + + + + + + glGetActiveAttrib + + + + + + + See Also + glBindAttribLocation, + glLinkProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetActiveUniform.xml b/Source/Bind/Specifications/Docs/ES31/glGetActiveUniform.xml new file mode 100644 index 00000000..540e1559 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetActiveUniform.xml @@ -0,0 +1,597 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetActiveUniform + 3G + + + glGetActiveUniform + Returns information about an active uniform variable for the specified program object + + + C Specification + + + void glGetActiveUniform + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + index + + Specifies the index of the uniform variable to + be queried. + + + + bufSize + + Specifies the maximum number of characters + OpenGL is allowed to write in the character buffer + indicated by name. + + + + length + + Returns the number of characters actually + written by OpenGL in the string indicated by + name (excluding the null + terminator) if a value other than + NULL is passed. + + + + size + + Returns the size of the uniform + variable. + + + + type + + Returns the data type of the uniform + variable. + + + + name + + Returns a null terminated string containing + the name of the uniform variable. + + + + + Description + glGetActiveUniform returns + information about an active uniform variable in the program + object specified by program. The number + of active uniform variables can be obtained by calling + glGetProgramiv + with the value GL_ACTIVE_UNIFORMS. A value + of zero for index selects the first active + uniform variable. Permissible values for + index range from zero to the number of + active uniform variables minus one. + + Shaders may use either built-in uniform variables, + user-defined uniform variables, or both. Built-in uniform + variables have a prefix of "gl_" and reference + existing OpenGL state or values derived from such state (e.g., + gl_DepthRange, see the OpenGL + Shading Language specification for a complete list.) + User-defined uniform variables have arbitrary names and obtain + their values from the application through calls to + glUniform. + A uniform variable (either built-in or user-defined) is + considered active if it is determined during the link operation + that it may be accessed during program execution. Therefore, + program should have previously been the + target of a call to + glLinkProgram, + but it is not necessary for it to have been linked + successfully. + + The size of the character buffer required to store the + longest uniform variable name in program + can be obtained by calling + glGetProgramiv + with the value + GL_ACTIVE_UNIFORM_MAX_LENGTH. This value + should be used to allocate a buffer of sufficient size to store + the returned uniform variable name. The size of this character + buffer is passed in bufSize, and a + pointer to this character buffer is passed in + name. + + glGetActiveUniform returns the name + of the uniform variable indicated by + index, storing it in the character buffer + specified by name. The string returned + will be null terminated. The actual number of characters written + into this buffer is returned in length, + and this count does not include the null termination character. + If the length of the returned string is not required, a value of + NULL can be passed in the + length argument. + + The type + argument will return a pointer to the uniform variable's data + type. The symbolic constants returned for uniform types are shown in the + table below. + + + + + + + + Returned Symbolic Contant + + Shader Uniform Type + + + + + + + GL_FLOAT + + + float + + + + + GL_FLOAT_VEC2 + + + vec2 + + + + + GL_FLOAT_VEC3 + + + vec3 + + + + + GL_FLOAT_VEC4 + + + vec4 + + + + + GL_INT + + + int + + + + + GL_INT_VEC2 + + + ivec2 + + + + + GL_INT_VEC3 + + + ivec3 + + + + + GL_INT_VEC4 + + + ivec4 + + + + + GL_UNSIGNED_INT + + + unsigned int + + + + + GL_UNSIGNED_INT_VEC2 + + + uvec2 + + + + + GL_UNSIGNED_INT_VEC3 + + + uvec3 + + + + + GL_UNSIGNED_INT_VEC4 + + + uvec4 + + + + + GL_BOOL + + + bool + + + + + GL_BOOL_VEC2 + + + bvec2 + + + + + GL_BOOL_VEC3 + + + bvec3 + + + + + GL_BOOL_VEC4 + + + bvec4 + + + + + GL_FLOAT_MAT2 + + + mat2 + + + + + GL_FLOAT_MAT3 + + + mat3 + + + + + GL_FLOAT_MAT4 + + + mat4 + + + + + GL_FLOAT_MAT2x3 + + + mat2x3 + + + + + GL_FLOAT_MAT2x4 + + + mat2x4 + + + + + GL_FLOAT_MAT3x2 + + + mat3x2 + + + + + GL_FLOAT_MAT3x4 + + + mat3x4 + + + + + GL_FLOAT_MAT4x2 + + + mat4x2 + + + + + GL_FLOAT_MAT4x3 + + + mat4x3 + + + + + GL_SAMPLER_2D + + + sampler2D + + + + + GL_SAMPLER_3D + + + sampler3D + + + + + GL_SAMPLER_CUBE + + + samplerCube + + + + + GL_SAMPLER_2D_SHADOW + + + sampler2DShadow + + + + + GL_SAMPLER_2D_ARRAY + + + sampler2DArray + + + + + GL_SAMPLER_2D_ARRAY_SHADOW + + + sampler2DArrayShadow + + + + + GL_SAMPLER_CUBE_SHADOW + + + samplerCubeShadow + + + + + GL_INT_SAMPLER_2D + + + isampler2D + + + + + GL_INT_SAMPLER_3D + + + isampler3D + + + + + GL_INT_SAMPLER_CUBE + + + isamplerCube + + + + + GL_INT_SAMPLER_2D_ARRAY + + + isampler2DArray + + + + + GL_UNSIGNED_INT_SAMPLER_2D + + + usampler2D + + + + + GL_UNSIGNED_INT_SAMPLER_3D + + + usampler3D + + + + + GL_UNSIGNED_INT_SAMPLER_CUBE + + + usamplerCube + + + + + GL_UNSIGNED_INT_SAMPLER_2D_ARRAY + + + usampler2DArray + + + + + + + + If one or more elements of an array are active, the name + of the array is returned in name, the + type is returned in type, and the + size parameter returns the highest array + element index used, plus one, as determined by the compiler + and/or linker. Only one active uniform variable will be reported + for a uniform array. If the active uniform is an array, the uniform + name returned in name will always + be the name of the uniform array appended with "[0]". + + Uniform variables that are declared as structures or + arrays of structures will not be returned directly by this + function. Instead, each of these uniform variables will be + reduced to its fundamental components containing the + "." and "[]" operators such that each of the + names is valid as an argument to + glGetUniformLocation. + Each of these reduced uniform variables is counted as one active + uniform variable and is assigned an index. A valid name cannot + be a structure, an array of structures, or a subcomponent of a + vector or matrix. + + The size of the uniform variable will be returned in + size. Uniform variables other than arrays + will have a size of 1. Structures and arrays of structures will + be reduced as described earlier, such that each of the names + returned will be a data type in the earlier list. If this + reduction results in an array, the size returned will be as + described for uniform arrays; otherwise, the size returned will + be 1. + + The list of active uniform variables may include both + built-in uniform variables (which begin with the prefix + "gl_") as well as user-defined uniform variable + names. + + This function will return as much information as it can + about the specified active uniform variable. If no information + is available, length will be 0, and + name will be an empty string. This + situation could occur if this function is called after a link + operation that failed. If an error occurs, the return values + length, size, + type, and name + will be unmodified. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + index is greater than or equal to the + number of active uniform variables in + program. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS, + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, + GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, or + GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS. + + glGetProgramiv + with argument GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH. + + glIsProgram + + + API Version Support + + + + + + glGetActiveUniform + + + + + + + See Also + glGetUniform, + glGetUniformLocation, + glLinkProgram, + glUniform, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformBlockName.xml b/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformBlockName.xml new file mode 100644 index 00000000..12e88abe --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformBlockName.xml @@ -0,0 +1,143 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetActiveUniformBlockName + 3G + + + glGetActiveUniformBlockName + retrieve the name of an active uniform block + + + C Specification + + + void glGetActiveUniformBlockName + GLuint program + GLuint uniformBlockIndex + GLsizei bufSize + GLsizei *length + GLchar *uniformBlockName + + + + Parameters + + + program + + + Specifies the name of a program containing the uniform block. + + + + + uniformBlockIndex + + + Specifies the index of the uniform block within program. + + + + + bufSize + + + Specifies the size of the buffer addressed by uniformBlockName. + + + + + length + + + Specifies the address of a variable to receive the number of characters that were written to uniformBlockName. + + + + + uniformBlockName + + + Specifies the address an array of characters to receive the name of the uniform block at uniformBlockIndex. + + + + + + Description + + glGetActiveUniformBlockName retrieves the name of the active uniform block at uniformBlockIndex + within program. + + + program must be the name of a program object for which the command + glLinkProgram must have been called in the past, although it is not required that + glLinkProgram must have succeeded. The link could have failed because the number + of active uniforms exceeded the limit. + + + uniformBlockIndex is an active uniform block index of program, and must be less than the value + of GL_ACTIVE_UNIFORM_BLOCKS. + + + Upon success, the name of the uniform block identified by unifomBlockIndex is returned into + uniformBlockName. The name is nul-terminated. The actual number of characters written into uniformBlockName, + excluding the nul terminator, is returned in length. If length is NULL, no length is returned. + + + bufSize contains the maximum number of characters (including the nul terminator) that will be written into + uniformBlockName. + + + If an error occurs, nothing will be written to uniformBlockName or length. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the name of a program object for which + glLinkProgram has been called in the past. + + + GL_INVALID_VALUE is generated if uniformBlockIndex is greater than or equal to the value + of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program. + + + + API Version Support + + + + + + glGetActiveUniformBlockName + + + + + + + See Also + + glGetActiveUniformBlockiv, + glGetUniformBlockIndex + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformBlockiv.xml b/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformBlockiv.xml new file mode 100644 index 00000000..87b6dba7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformBlockiv.xml @@ -0,0 +1,160 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetActiveUniformBlockiv + 3G + + + glGetActiveUniformBlockiv + query information about an active uniform block + + + C Specification + + + void glGetActiveUniformBlockiv + GLuint program + GLuint uniformBlockIndex + GLenum pname + GLint *params + + + + Parameters + + + program + + + Specifies the name of a program containing the uniform block. + + + + + uniformBlockIndex + + + Specifies the index of the uniform block within program. + + + + + pname + + + Specifies the name of the parameter to query. + + + + + params + + + Specifies the address of a variable to receive the result of the query. + + + + + + Description + + glGetActiveUniformBlockiv retrieves information about an active uniform block within program. + + + program must be the name of a program object for which the command + glLinkProgram must have been called in the past, although it is not required that + glLinkProgram must have succeeded. The link could have failed because the number + of active uniforms exceeded the limit. + + + uniformBlockIndex is an active uniform block index of program, and must be less than the value + of GL_ACTIVE_UNIFORM_BLOCKS. + + + Upon success, the uniform block parameter(s) specified by pname are returned in params. If an error + occurs, nothing will be written to params. + + + If pname is GL_UNIFORM_BLOCK_BINDING, then the index of the uniform buffer binding point + last selected by the uniform block specified by uniformBlockIndex for program is returned. If + no uniform block has been previously specified, zero is returned. + + + If pname is GL_UNIFORM_BLOCK_DATA_SIZE, then the implementation-dependent minimum total buffer + object size, in basic machine units, required to hold all active uniforms in the uniform block identified by uniformBlockIndex + is returned. It is neither guaranteed nor expected that a given implementation will arrange uniform values as tightly packed in a buffer + object. The exception to this is the std140 uniform block layout, which guarantees specific packing behavior and does not + require the application to query for offsets and strides. In this case the minimum size may still be queried, even though it is determined in + advance based only on the uniform block declaration. + + + If pname is GL_UNIFORM_BLOCK_NAME_LENGTH, then the total length (including the nul terminator) of + the name of the uniform block identified by uniformBlockIndex is returned. + + + If pname is GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, then the number of active uniforms in the uniform + block identified by uniformBlockIndex is returned. + + + If pname is GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, then a list of the active uniform indices + for the uniform block identified by uniformBlockIndex is returned. The number of elements that will be written to + params is the value of GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS for uniformBlockIndex. + + + If pname is GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, + or GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, then a boolean value indicating whether the uniform block identified by + uniformBlockIndex is referenced by the vertex or fragment programming stages of program, respectively, is returned. + + + Errors + + GL_INVALID_VALUE is generated if uniformBlockIndex is greater than or equal to the value + of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program. + + + GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. + + + GL_INVALID_OPERATION is generated if program is not the name of a program object for which + glLinkProgram has been called in the past. + + + + API Version Support + + + + + + glGetActiveUniformBlockiv + + + + + + + See Also + + glGetActiveUniformBlockName, + glGetUniformBlockIndex, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformsiv.xml b/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformsiv.xml new file mode 100644 index 00000000..2ce1250f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetActiveUniformsiv.xml @@ -0,0 +1,531 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetActiveUniformsiv + 3G + + + glGetActiveUniformsiv + Returns information about several active uniform variables for the specified program object + + + C Specification + + + void glGetActiveUniformsiv + GLuint program + GLsizei uniformCount + const GLuint *uniformIndices + GLenum pname + GLint *params + + + + Parameters + + + program + + Specifies the program object to be queried. + + + + uniformCount + + Specifies both the number of elements in the array of indices uniformIndices and the + number of parameters written to params upon successful return. + + + + uniformIndices + + Specifies the address of an array of uniformCount integers containing the indices of + uniforms within program whose parameter pname should be queried. + + + + pname + + Specifies the property of each uniform in uniformIndices that should be + written into the corresponding element of params. + + + + params + + Specifies the address of an array of uniformCount integers which are to + receive the value of pname for each uniform in uniformIndices. + + + + + Description + + glGetActiveUniformsiv queries the value of the parameter named pname + for each of the uniforms within program whose indices are specified in the array of + uniformCount unsigned integers uniformIndices. Upon success, + the value of the parameter for each uniform is written into the corresponding entry in the array whose + address is given in params. If an error is generated, nothing is written into + params. + + + If pname is GL_UNIFORM_TYPE, then an array identifying the types + of uniforms specified by the corresponding array of uniformIndices is returned. The + returned types can be any of the values from the following table: + + + + + + + + Returned Symbolic Contant + + Shader Uniform Type + + + + + + + GL_FLOAT + + + float + + + + + GL_FLOAT_VEC2 + + + vec2 + + + + + GL_FLOAT_VEC3 + + + vec3 + + + + + GL_FLOAT_VEC4 + + + vec4 + + + + + GL_INT + + + int + + + + + GL_INT_VEC2 + + + ivec2 + + + + + GL_INT_VEC3 + + + ivec3 + + + + + GL_INT_VEC4 + + + ivec4 + + + + + GL_UNSIGNED_INT + + + unsigned int + + + + + GL_UNSIGNED_INT_VEC2 + + + uvec2 + + + + + GL_UNSIGNED_INT_VEC3 + + + uvec3 + + + + + GL_UNSIGNED_INT_VEC4 + + + uvec4 + + + + + GL_BOOL + + + bool + + + + + GL_BOOL_VEC2 + + + bvec2 + + + + + GL_BOOL_VEC3 + + + bvec3 + + + + + GL_BOOL_VEC4 + + + bvec4 + + + + + GL_FLOAT_MAT2 + + + mat2 + + + + + GL_FLOAT_MAT3 + + + mat3 + + + + + GL_FLOAT_MAT4 + + + mat4 + + + + + GL_FLOAT_MAT2x3 + + + mat2x3 + + + + + GL_FLOAT_MAT2x4 + + + mat2x4 + + + + + GL_FLOAT_MAT3x2 + + + mat3x2 + + + + + GL_FLOAT_MAT3x4 + + + mat3x4 + + + + + GL_FLOAT_MAT4x2 + + + mat4x2 + + + + + GL_FLOAT_MAT4x3 + + + mat4x3 + + + + + GL_SAMPLER_2D + + + sampler2D + + + + + GL_SAMPLER_3D + + + sampler3D + + + + + GL_SAMPLER_CUBE + + + samplerCube + + + + + GL_SAMPLER_2D_SHADOW + + + sampler2DShadow + + + + + GL_SAMPLER_2D_ARRAY + + + sampler2DArray + + + + + GL_SAMPLER_2D_ARRAY_SHADOW + + + sampler2DArrayShadow + + + + + GL_SAMPLER_CUBE_SHADOW + + + samplerCubeShadow + + + + + GL_INT_SAMPLER_2D + + + isampler2D + + + + + GL_INT_SAMPLER_3D + + + isampler3D + + + + + GL_INT_SAMPLER_CUBE + + + isamplerCube + + + + + GL_INT_SAMPLER_2D_ARRAY + + + isampler2DArray + + + + + GL_UNSIGNED_INT_SAMPLER_2D + + + usampler2D + + + + + GL_UNSIGNED_INT_SAMPLER_3D + + + usampler3D + + + + + GL_UNSIGNED_INT_SAMPLER_CUBE + + + usamplerCube + + + + + GL_UNSIGNED_INT_SAMPLER_2D_ARRAY + + + usampler2DArray + + + + + + + + If pname is GL_UNIFORM_SIZE, then an array identifying the + size of the uniforms specified by the corresponding array of uniformIndices is + returned. The sizes returned are in units of the type returned by a query of GL_UNIFORM_TYPE. + For active uniforms that are arrays, the size is the number of active elements in the array; + for all other uniforms, the size is one. + + + If pname is GL_UNIFORM_NAME_LENGTH, then an array identifying the + length, including the terminating null character, of the uniform name strings specified by the corresponding + array of uniformIndices is returned. + + + If pname is GL_UNIFORM_BLOCK_INDEX, then an array identifying the + the uniform block index of each of the uniforms specified by the corresponding array of uniformIndices + is returned. The uniform block index of a uniform associated with the default uniform block is -1. + + + If pname is GL_UNIFORM_OFFSET, then an array of uniform buffer + offsets is returned. For uniforms in a named uniform block, the returned value will be its offset, in basic + machine units, relative to the beginning of the uniform block in the buffer object data store. For uniforms + in the default uniform block, -1 will be returned. + + + If pname is GL_UNIFORM_ARRAY_STRIDE, then an array identifying the + stride between elements, in basic machine units, of each of the uniforms specified by the corresponding array of + uniformIndices is returned. The stride of a uniform associated with the default uniform + block is -1. Note that this information only makes sense for uniforms that are arrays. For uniforms that are + not arrays, but are declared in a named uniform block, an array stride of zero is returned. + + + If pname is GL_UNIFORM_MATRIX_STRIDE, then an array identifying the stride + between columns of a column-major matrix or rows of a row-major matrix, in basic machine units, of each of the uniforms + specified by the corresponding array of uniformIndices is returned. The matrix stride of a + uniform associated with the default uniform block is -1. Note that this information only makes sense for uniforms + that are matrices. For uniforms that are not matrices, but are declared in a named uniform block, a matrix stride of + zero is returned. + + + If pname is GL_UNIFORM_IS_ROW_MAJOR, then an array identifying whether each + of the uniforms specified by the corresponding array of uniformIndices is a row-major matrix or not is returned. A + value of one indicates a row-major matrix, and a value of zero indicates a column-major matrix, a matrix in the default + uniform block, or a non-matrix. + + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + uniformCount is greater than or equal to the + value of GL_ACTIVE_UNIFORMS for + program. + + GL_INVALID_ENUM is generated if pname + is not an accepted token. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS, + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, + GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, or + GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS. + + glGetProgramiv + with argument GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH. + + glIsProgram + + + API Version Support + + + + + + glGetActiveUniformsiv + + + + + + + See Also + glGetUniform, + glGetActiveUniform, + glGetUniformLocation, + glLinkProgram, + glUniform, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetAttachedShaders.xml b/Source/Bind/Specifications/Docs/ES31/glGetAttachedShaders.xml new file mode 100644 index 00000000..51409457 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetAttachedShaders.xml @@ -0,0 +1,137 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetAttachedShaders + 3G + + + glGetAttachedShaders + Returns the handles of the shader objects attached to a program object + + + C Specification + + + void glGetAttachedShaders + GLuint program + GLsizei maxCount + GLsizei *count + GLuint *shaders + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + maxCount + + Specifies the size of the array for storing + the returned object names. + + + + count + + Returns the number of names actually returned + in shaders. + + + + shaders + + Specifies an array that is used to return the + names of attached shader objects. + + + + + Description + glGetAttachedShaders returns the + names of the shader objects attached to + program. The names of shader objects that + are attached to program will be returned + in shaders. The actual number of shader + names written into shaders is returned in + count. If no shader objects are attached + to program, count + is set to 0. The maximum number of shader names that may be + returned in shaders is specified by + maxCount. + + If the number of names actually returned is not required + (for instance, if it has just been obtained by calling + glGetProgramiv), + a value of NULL may be passed for count. If + no shader objects are attached to + program, a value of 0 will be returned in + count. The actual number of attached + shaders can be obtained by calling + glGetProgramiv + with the value GL_ATTACHED_SHADERS. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + maxCount is less than 0. + + + Associated Gets + glGetProgramiv + with argument GL_ATTACHED_SHADERS + + glIsProgram + + + API Version Support + + + + + + glGetAttachedShaders + + + + + + + See Also + glAttachShader, + glDetachShader. + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetAttribLocation.xml b/Source/Bind/Specifications/Docs/ES31/glGetAttribLocation.xml new file mode 100644 index 00000000..435b2b4d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetAttribLocation.xml @@ -0,0 +1,121 @@ + %mathent; ]> + + + + + + glGetAttribLocation + 3G + + + glGetAttribLocation + Returns the location of an attribute variable + + + C Specification + + + GLint glGetAttribLocation + GLuint program + const GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + name + + Points to a null terminated string containing + the name of the attribute variable whose location is + to be queried. + + + + + Description + glGetAttribLocation queries the + previously linked program object specified by + program for the attribute variable + specified by name and returns the index + of the generic vertex attribute that is bound to that attribute + variable. If name is a matrix attribute + variable, the index of the first column of the matrix is + returned. If the named attribute variable is not an active + attribute in the specified program object or if + name starts with the reserved prefix + "gl_", a value of -1 is returned. + + The association between an attribute variable name and a + generic attribute index can be specified at any time by calling + glBindAttribLocation. + Attribute bindings do not go into effect until + glLinkProgram + is called. After a program object has been linked successfully, + the index values for attribute variables remain fixed until the + next link command occurs. The attribute values can only be + queried after a link if the link was successful. + glGetAttribLocation returns the binding + that actually went into effect the last time + glLinkProgram + was called for the specified program object. Attribute bindings + that have been specified since the last link operation are not + returned by glGetAttribLocation. + + Errors + GL_INVALID_OPERATION is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + + Associated Gets + glGetActiveAttrib + with argument program and the index of an + active attribute + + glIsProgram + + + API Version Support + + + + + + glGetAttribLocation + + + + + + + See Also + glBindAttribLocation, + glIsProgram, + glLinkProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetBufferParameter.xml b/Source/Bind/Specifications/Docs/ES31/glGetBufferParameter.xml new file mode 100644 index 00000000..e0c8fc92 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetBufferParameter.xml @@ -0,0 +1,233 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGetBufferParameter + 3G + + + glGetBufferParameter + return parameters of a buffer object + + + C Specification + + + void glGetBufferParameteriv + GLenum target + GLenum value + GLint * data + + + + + void glGetBufferParameteri64v + GLenum target + GLenum value + GLint64 * data + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + value + + + Specifies the symbolic name of a buffer object parameter. + Accepted values are GL_BUFFER_ACCESS_FLAGS, GL_BUFFER_MAPPED, + GL_BUFFER_MAP_LENGTH, GL_BUFFER_MAP_OFFSET, + GL_BUFFER_SIZE, or GL_BUFFER_USAGE. + + + + + data + + + Returns the requested parameter. + + + + + + Description + + glGetBufferParameteriv and glGetBufferParameteri64v + return in data a selected parameter of the buffer object + specified by target. + + + value names a specific buffer object parameter, as follows: + + + + GL_BUFFER_ACCESS_FLAGS + + + params returns the access policy set while mapping the buffer object. + + + + + GL_BUFFER_MAPPED + + + params returns a flag indicating whether the buffer object is currently + mapped. The initial value is GL_FALSE. + + + + + GL_BUFFER_MAP_LENGTH + + + params returns the length of the buffer object mapping, + measured in bytes. + The initial value is 0. + + + + + GL_BUFFER_MAP_OFFSET + + + params returns the offset (start) of the buffer object mapping, + measured in bytes. + The initial value is 0. + + + + + GL_BUFFER_SIZE + + + params returns the size of the buffer object, measured in bytes. + The initial value is 0. + + + + + GL_BUFFER_USAGE + + + params returns the buffer object's usage pattern. + + + + + + Notes + + If an error is generated, + no change is made to the contents of data. + + + If glGetBufferParameteriv is used to query a value of + GL_BUFFER_SIZE, values greater than or equal to + + + + 2 + + 31 + + + + + will be clamped to + + + + 2 + + 31 + + + - + 1 + + . + + + Errors + + GL_INVALID_ENUM is generated if target or value is not an + accepted value. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_INVALID_ENUM is generated if glGetBufferParameteri64v is used to query a value of + GL_BUFFER_ACCESS_FLAGS, GL_BUFFER_MAPPED or GL_BUFFER_USAGE. + + + GL_INVALID_ENUM is generated if glGetBufferParameteriv is used to query a value of + GL_BUFFER_MAP_LENGTH or GL_BUFFER_MAP_OFFSET. + + + + API Version Support + + + + + + glGetBufferParameteriv + + + + glGetBufferParameteri64v + + + + + + + See Also + + glBindBuffer, + glBufferData, + glMapBufferRange, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetBufferPointerv.xml b/Source/Bind/Specifications/Docs/ES31/glGetBufferPointerv.xml new file mode 100644 index 00000000..c3c144a6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetBufferPointerv.xml @@ -0,0 +1,126 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGetBufferPointerv + 3G + + + glGetBufferPointerv + return the pointer to a mapped buffer object's data store + + + C Specification + + + void glGetBufferPointerv + GLenum target + GLenum pname + GLvoid ** params + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_COPY_READ_BUFFER, + GL_COPY_WRITE_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, + GL_PIXEL_UNPACK_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER, or + GL_UNIFORM_BUFFER. + + + + + pname + + + Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. + + + + + params + + + Returns the pointer value specified by pname. + + + + + + Description + + glGetBufferPointerv returns pointer information. pname is a symbolic constant + indicating the pointer to be returned, which must be GL_BUFFER_MAP_POINTER, the pointer + to which the buffer object's data store is mapped. If the data store is not currently mapped, NULL is returned. + params is a pointer to a location in which to place the returned pointer value. + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + The initial value for the pointer is NULL. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + + API Version Support + + + + + + glGetBufferPointerv + + + + + + + See Also + + glBindBuffer, + glMapBufferRange + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetError.xml b/Source/Bind/Specifications/Docs/ES31/glGetError.xml new file mode 100644 index 00000000..795ef39e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetError.xml @@ -0,0 +1,160 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGetError + 3G + + + glGetError + return error information + + + C Specification + + + GLenum glGetError + void + + + + Description + + glGetError returns the value of the error flag. + Each detectable error is assigned a numeric code and symbolic name. + When an error occurs, + the error flag is set to the appropriate error code value. + No other errors are recorded until glGetError is called, + the error code is returned, + and the flag is reset to GL_NO_ERROR. + If a call to glGetError returns GL_NO_ERROR, + there has been no detectable error since the last call to glGetError, + or since the GL was initialized. + + + To allow for distributed implementations, + there may be several error flags. + If any single error flag has recorded an error, + the value of that flag is returned + and that flag is reset to GL_NO_ERROR + when glGetError is called. + If more than one flag has recorded an error, + glGetError returns and clears an arbitrary error flag value. + Thus, glGetError should always be called in a loop, + until it returns GL_NO_ERROR, + if all error flags are to be reset. + + + Initially, all error flags are set to GL_NO_ERROR. + + + The following errors are currently defined: + + + + GL_NO_ERROR + + + No error has been recorded. + The value of this symbolic constant is guaranteed to be 0. + + + + + GL_INVALID_ENUM + + + An unacceptable value is specified for an enumerated argument. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_VALUE + + + A numeric argument is out of range. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_OPERATION + + + The specified operation is not allowed in the current state. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_FRAMEBUFFER_OPERATION + + + The framebuffer object is not complete. The offending command + is ignored and has no other side effect than to set the error flag. + + + + + GL_OUT_OF_MEMORY + + + There is not enough memory left to execute the command. + The state of the GL is undefined, + except for the state of the error flags, + after this error is recorded. + + + + + + When an error flag is set, + results of a GL operation are undefined only if GL_OUT_OF_MEMORY + has occurred. + In all other cases, + the command generating the error is ignored and has no effect on the GL state + or frame buffer contents. + If the generating command returns a value, it returns 0. + If glGetError itself generates an error, it returns 0. + + + + API Version Support + + + + + + glGetError + + + + + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetFragDataLocation.xml b/Source/Bind/Specifications/Docs/ES31/glGetFragDataLocation.xml new file mode 100644 index 00000000..d5501f32 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetFragDataLocation.xml @@ -0,0 +1,97 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetFragDataLocation + 3G + + + glGetFragDataLocation + query the bindings of color numbers to user-defined varying out variables + + + C Specification + + + GLint glGetFragDataLocation + GLuint program + const char * name + + + + Parameters + + + program + + + The name of the program containing varying out variable whose binding to query + + + + + name + + + The name of the user-defined varying out variable whose binding to query + + + + + + Description + + glGetFragDataLocation retrieves the assigned color number binding for the user-defined + varying out variable name for program program. program + must have previously been linked. name must be a null-terminated string. If name + is not the name of an active user-defined varying out fragment shader variable within program, -1 will + be returned. + + + Notes + + In OpenGL ES Shading Language version 3.00, output variables must be explicitly bound to fragment colors within + the shader text. This query simply returns that binding information. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the name of a program object. + + + + API Version Support + + + + + + glGetFragDataLocation + + + + + + + See Also + + glCreateProgram, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetFramebufferAttachmentParameteriv.xml b/Source/Bind/Specifications/Docs/ES31/glGetFramebufferAttachmentParameteriv.xml new file mode 100644 index 00000000..43baf7e4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetFramebufferAttachmentParameteriv.xml @@ -0,0 +1,240 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetFramebufferAttachmentParameteriv + 3G + + + glGetFramebufferAttachmentParameteriv + retrieve information about attachments of a bound framebuffer object + + + C Specification + + + void glGetFramebufferAttachmentParameteriv + GLenum target + GLenum attachment + GLenum pname + GLint *params + + + + Parameters + + + target + + + Specifies the target of the query operation. + + + + + attachment + + + Specifies the attachment within target + + + + + pname + + + Specifies the parameter of attachment to query. + + + + + params + + + Specifies the address of a variable receive the value of pname for attachment. + + + + + + Description + + glGetFramebufferAttachmentParameteriv returns information about attachments of a bound framebuffer + object. target specifies the framebuffer binding point and must be GL_DRAW_FRAMEBUFFER, + GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. GL_FRAMEBUFFER is equivalent + to GL_DRAW_FRAMEBUFFER. + + + If the default framebuffer is bound to target then attachment must be one of + GL_BACK, identifying a color buffer, GL_DEPTH, identifying the depth buffer, + or GL_STENCIL, identifying the stencil buffer. + + + If a framebuffer object is bound, then + attachment must be one of + GL_COLOR_ATTACHMENTi, + GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT, or + GL_DEPTH_STENCIL_ATTACHMENT. + i in + GL_COLOR_ATTACHMENTi + must be in the range zero to the value of + GL_MAX_COLOR_ATTACHMENTS minus one. + + + If attachment is GL_DEPTH_STENCIL_ATTACHMENT and different objects are bound + to the depth and stencil attachment points of target the query will fail. If the same object + is bound to both attachment points, information about that object will be returned. + + + Upon successful return from glGetFramebufferAttachmentParameteriv, if pname is + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, then params will contain one of GL_NONE, + GL_FRAMEBUFFER_DEFAULT, GL_TEXTURE, or GL_RENDERBUFFER, identifying the type of + object which contains the attached image. Other values accepted for pname depend on the type of object, as described below. + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_NONE, no framebuffer is bound to + target. In this case querying pname GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + will return zero, and all other queries will generate an error. + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is not GL_NONE, these queries apply to all other + framebuffer types: + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, + GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, + GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, + or GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, then params will contain the number + of bits in the corresponding red, green, blue, alpha, depth, or stencil component of the specified attachment. Zero is returned + if the requested component is not present in attachment. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, params will + contain the format of components of the specified attachment, one of GL_FLOAT, GL_INT, + GL_UNSIGNED_INT, GL_SIGNED_NORMALIZED, or GL_UNSIGNED_NORMALIZED + for floating-point, signed integer, unsigned integer, signed normalized fixed-point, or unsigned normalized fixed-point components + respectively. Only color buffers may have integer components. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, param will + contain the encoding of components of the specified attachment, one of GL_LINEAR or GL_SRGB + for linear or sRGB-encoded components, respectively. Only color buffer components may be sRGB-encoded. + For the default framebuffer, color encoding is determined by the implementation. + For framebuffer objects, components are sRGB-encoded if the internal format of a color attachment is one of the color-renderable SRGB + formats. + + + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_RENDERBUFFER, then: + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, params will contain + the name of the renderbuffer object which contains the attached image. + + + + + If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_TEXTURE, then: + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, then params will + contain the name of the texture object which contains the attached image. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, then params + will contain the mipmap level of the texture object which contains the attached image. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE and the texture object named + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a cube map texture, then params will contain the cube map + face of the cubemap texture object which contains the attached image. Otherwise params will contain the value + zero. + + + + + If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER and the texture object named + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a three-dimensional texture or a two-dimensional + array texture, then params will contain the number of the texture layer which contains the attached image. + Otherwise params will contain the value zero. + + + + + Any combinations of framebuffer type and pname not described above will generate an error. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted tokens. + + + GL_INVALID_ENUM is generated if pname is not valid for the value of + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE. + + + GL_INVALID_OPERATION is generated if attachment is not the accepted values + for target. + + + GL_INVALID_OPERATION is generated if attachment is GL_DEPTH_STENCIL_ATTACHMENT + and different objects are bound to the depth and stencil attachment points of target. + + + GL_INVALID_OPERATION is generated if the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is + GL_NONE and pname is not GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME. + + + + API Version Support + + + + + + glGetFramebufferAttachmentParameteriv + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetFramebufferParameter.xml b/Source/Bind/Specifications/Docs/ES31/glGetFramebufferParameter.xml new file mode 100644 index 00000000..03adbee1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetFramebufferParameter.xml @@ -0,0 +1,158 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glGetFramebufferParameter + 3G + + + glGetFramebufferParameter + retrieve a named parameter from a framebuffer + + + C Specification + + + void glGetFramebufferParameteriv + GLenum target + GLenum pname + GLint * params + + + + Parameters + + + target + + + The target of the operation, which must be GL_READ_FRAMEBUFFER, + GL_DRAW_FRAMEBUFFER or GL_FRAMEBUFFER. + + + + + pname + + + A token indicating the parameter to be retrieved. + + + + + params + + + The address of a variable to receive the value of the parameter named pname. + + + + + + Description + + glGetFramebufferParameter retrieves the current value of the parameter + named pname from the framebuffer bound to target. + target must be GL_READ_FRAMEBFUFFER, + GL_DRAW_FRAMEBUFFER or GL_FRAMEBUFFER. The + token GL_FRAMEBUFFER is treated as GL_DRAW_FRAMEBUFFER. + A non-default framebuffer must be bound to target. + + + pname specifies the parameter to be retrieved. The values retrieved from + the framebuffer are written into the variable whose address is given by params. + The following symbols are accepted in pname: + + + + GL_FRAMEBUFFER_DEFAULT_WIDTH + + + The value of GL_FRAMEBUFFER_DEFAULT_WIDTH for the framebuffer is written to the + single integer variable whose address is given by params. + + + + + GL_FRAMEBUFFER_DEFAULT_HEIGHT + + + The value of GL_FRAMEBUFFER_DEFAULT_HEIGHT for the framebuffer is written to the + single integer variable whose address is given by params. + + + + + GL_FRAMEBUFFER_DEFAULT_SAMPLES + + + The value of GL_FRAMEBUFFER_DEFAULT_SAMPLES for the framebuffer is written to the + single integer variable whose address is given by params. + + + + + GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS + + + If the value of GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS for the framebuffer is GL_TRUE + then the single integer variable whose address is in params is set to one, + otherwise it is set to zero. + + + + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the accepted + framebuffer targets. + + + GL_INVALID_ENUM is generated if pname is not one of the accepted + parameter names. + + + GL_INVALID_OPERATION is generated if the default framebuffer is bound to target. + + + params should be the address of a variable to which the client has write access otherwise + undefined behavior, including process termination may occur. + + + + API Version Support + + + + + + glGetFramebufferParameter + + + + + + + See Also + + glFramebufferParameteri. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetInternalformativ.xml b/Source/Bind/Specifications/Docs/ES31/glGetInternalformativ.xml new file mode 100644 index 00000000..a7d97b5b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetInternalformativ.xml @@ -0,0 +1,155 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group. + + + + glGetInternalformativ + 3G + + + glGetInternalformativ + retrieve information about implementation-dependent support for internal formats + + + C Specification + + + void glGetInternalformativ + GLenum target + GLenum internalformat + GLenum pname + GLsizei bufSize + GLint *params + + + + Parameters + + + target + + + Indicates the usage of the internal format. target must be GL_RENDERBUFFER. + + + + + internalformat + + + Specifies the internal format about which to retrieve information. + + + + + pname + + + Specifies the type of information to query. + + + + + bufSize + + + Specifies the maximum number of integers that may be written to params by the function. + + + + + params + + + Specifies the address of a variable into which to write the retrieved information. + + + + + + Description + + glGetInternalformativ retrieves information about implementation-dependent support for + internal formats. target indicates the target with which the internal format will + be used and must be GL_RENDERBUFFER, corresponding to usage as a renderbuffer. + + + internalformat specifies the internal format about which to retrieve information and + must be a color-renderable, depth-renderable or stencil-renderable format. + + + The information retrieved will be written to memory addressed by the pointer specified in params. No + more than bufSize integers will be written to this memory. + + + If pname is GL_NUM_SAMPLE_COUNTS, the number of sample counts that would be + returned by querying GL_SAMPLES will be returned in params. + + + If pname is GL_SAMPLES, the sample counts supported for internalformat + and target are written into params in descending numeric order. Only positive values are returned. + Querying GL_SAMPLES with bufSize of one will return just the maximum supported number of + samples for this format. + + + Notes + + Since multisampling is not supported for signed and unsigned integer internal + formats, the value of GL_NUM_SAMPLE_COUNTS will be zero for such formats. + If internalformat is GL_RGBA16F, GL_R32F, + GL_RG32F, or GL_RGBA32F, the value of GL_NUM_SAMPLE_COUNTS + may be zero, or else the maximum value in GL_SAMPLES may be less than the value of + GL_MAX_SAMPLES. + For every other accepted internalformat, the maximum value in GL_SAMPLES is guaranteed to be at least + GL_MAX_SAMPLES. + + + Errors + + GL_INVALID_VALUE is generated if bufSize is negative. + + + GL_INVALID_ENUM is generated if pname is not GL_SAMPLES or GL_NUM_SAMPLE_COUNTS. + + + GL_INVALID_ENUM is generated if internalformat is not color-, depth-, or stencil-renderable. + + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + + API Version Support + + + + + + glGetInternalformativ + + + + + + + See Also + + glGet + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramBinary.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramBinary.xml new file mode 100644 index 00000000..14f57d97 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramBinary.xml @@ -0,0 +1,140 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetProgramBinary + 3G + + + glGetProgramBinary + return a binary representation of a program object's compiled and linked executable source + + + C Specification + + + void glGetProgramBinary + GLuint program + GLsizei bufsize + GLsizei *length + GLenum *binaryFormat + void *binary + + + + Parameters + + + program + + + Specifies the name of a program object whose binary representation to retrieve. + + + + + bufSize + + + Specifies the size of the buffer whose address is given by binary. + + + + + length + + + Specifies the address of a variable to receive the number of bytes written into binary. + + + + + binaryFormat + + + Specifies the address of a variable to receive a token indicating the format of the binary data returned by the GL. + + + + + binary + + + Specifies the address an array into which the GL will return program's binary representation. + + + + + + Description + + glGetProgramBinary returns a binary representation of the compiled + and linked executable for program into the array of bytes whose + address is specified in binary. The maximum number of bytes that + may be written into binary is specified by bufSize. + If the program binary is greater in size than bufSize bytes, + then an error is generated, otherwise the actual number of bytes written into binary + is returned in the variable whose address is given by length. If + length is NULL, then no length is returned. + + + The format of the program binary written into binary is returned in + the variable whose address is given by binaryFormat, and may be implementation dependent. The binary produced + by the GL may subsequently be returned to the GL by calling glProgramBinary, + with binaryFormat and length set to the values + returned by glGetProgramBinary, and passing the returned binary data + in the binary parameter. + + + Errors + + GL_INVALID_OPERATION is generated if bufSize is less than + the size of GL_PROGRAM_BINARY_LENGTH for program. + + + GL_INVALID_OPERATION is generated if GL_LINK_STATUS for the + program object is false. + + + Associated Gets + + glGetProgramiv with argument GL_PROGRAM_BINARY_LENGTH + + + + API Version Support + + + + + + glGetProgramBinary + + + + + + + See Also + + glGetProgramiv, + glProgramBinary + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramInfoLog.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramInfoLog.xml new file mode 100644 index 00000000..e2b8c047 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramInfoLog.xml @@ -0,0 +1,153 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetProgramInfoLog + 3G + + + glGetProgramInfoLog + Returns the information log for a program object + + + C Specification + + + void glGetProgramInfoLog + GLuint program + GLsizei maxLength + GLsizei *length + GLchar *infoLog + + + + Parameters + + + program + + Specifies the program object whose information + log is to be queried. + + + + maxLength + + Specifies the size of the character buffer for + storing the returned information log. + + + + length + + Returns the length of the string returned in + infoLog (excluding the null + terminator). + + + + infoLog + + Specifies an array of characters that is used + to return the information log. + + + + + Description + glGetProgramInfoLog returns the + information log for the specified program object. The + information log for a program object is modified when the + program object is linked or validated. The string that is + returned will be null terminated. + + glGetProgramInfoLog returns in + infoLog as much of the information log as + it can, up to a maximum of maxLength + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned information + log can be obtained by calling + glGetProgramiv + with the value GL_INFO_LOG_LENGTH. + + The information log for a program object is either an + empty string, or a string containing information about the last + link operation, or a string containing information about the + last validation operation. It may contain diagnostic messages, + warning messages, and other information. When a program object + is created, its information log will be a string of length + 0. + + Notes + The information log for a program object is the OpenGL + implementer's primary mechanism for conveying information about + linking and validating. Therefore, the information log can be + helpful to application developers during the development + process, even when these operations are successful. Application + developers should not expect different OpenGL implementations to + produce identical information logs. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + maxLength is less than 0. + + + Associated Gets + glGetProgramiv + with argument GL_INFO_LOG_LENGTH + + glIsProgram + + + API Version Support + + + + + + glGetProgramInfoLog + + + + + + + See Also + glCompileShader, + glGetShaderInfoLog, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramInterface.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramInterface.xml new file mode 100644 index 00000000..f9ee47d9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramInterface.xml @@ -0,0 +1,242 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glGetProgramInterface + 3G + + + glGetProgramInterface + query a property of an interface in a program + + + C Specification + + + void glGetProgramInterfaceiv + GLuint program + GLenum programInterface + GLenum pname + GLint * params + + + + Parameters + + + program + + + The name of a program object whose interface to query. + + + + + programInterface + + + A token identifying the interface within program to query. + + + + + pname + + + The name of the parameter within programInterface to query. + + + + + params + + + The address of a variable to retrieve the value of pname for the program interface. + + + + + + Description + + glGetProgramInterfaceiv queries the property of the interface identifed + by programInterface in program, the property name of + which is given by pname. + + + program must be the name of an existing program object. programInterface + is the name of the interface within program to query and must be one of the following + values: + + + + GL_UNIFORM + + + The query is targeted at the set of active uniforms within program. + + + + + GL_UNIFORM_BLOCK + + + The query is targeted at the set of active uniform blocks within program. + + + + + GL_ATOMIC_COUNTER_BUFFER + + + The query is targeted at the set of active atomic counter buffer binding points within program. + + + + + GL_PROGRAM_INPUT + + + The query is targeted at the set of active input variables used by the first shader stage of program. + If program contains multiple shader stages then input variables from any stage other than the first + will not be enumerated. + + + + + GL_PROGRAM_OUTPUT + + + The query is targeted at the set of active output variables produced by the last shader stage of program. + If program contains multiple shader stages then output variables from any stage other than the last + will not be enumerated. + + + + + GL_TRANSFORM_FEEDBACK_VARYING + + + The query is targeted at the set of output variables from the last non-fragment stage of program that would be + captured if transform feedback were active. + + + + + GL_BUFFER_VARIABLE + + + The query is targeted at the set of active buffer variables used by program. + + + + + GL_SHADER_STORAGE_BLOCK + + + The query is targeted at the set of active shader storage blocks used by program. + + + + + GL_TRANSFORM_FEEDBACK_BUFFER + + + The query is targeted at the set of active buffer binding points to which output variables in the + GL_TRANSFORM_FEEDBACK_VARYING interface are written. + + + + + + pname identifies the property of programInterface + to return in params. + + + If pname is GL_ACTIVE_RESOURCES, the value returned is the number of + resources in the active resource list for programInterface. If the list + of active resources for programInterface is empty, zero is returned. + + + If pname is GL_MAX_NAME_LENGTH, the value returned is the length of the + longest active name string for an active resource in programInterface. + This length includes an extra character for the null terminator. If the + list of active resources for programInterface is empty, zero is + returned. It is an error to specify GL_MAX_NAME_LENGTH when programInterface + is GL_ATOMIC_COUNTER_BUFFER, as active atomic counter buffer resources are + not assigned name strings. + + + If pname is GL_MAX_NUM_ACTIVE_VARIABLES, the value returned is the number + of active variables belonging to the interface block or atomic counter + buffer resource in programInterface with the most active variables. If + the list of active resources for programInterface is empty, zero is + returned. When pname is GL_MAX_NUM_ACTIVE_VARIABLES, programInterface + must be GL_UNIFORM_BLOCK, GL_ATOMIC_COUNTER_BUFFER, or GL_SHADER_STORAGE_BLOCK. + + + Errors + + GL_INVALID_ENUM is generated if identifier + is not one of the accepted object types. + + + GL_INVALID_VALUE is generated if program + is not the name of an existing program object. + + + GL_INVALID_OPERATION is generated if pname is GL_MAX_NAME_LENGTH and + programInterface is GL_ATOMIC_COUNTER_BUFFER or GL_TRANSFORM_FEEDBACK_BUFFER, + since active atomic counter and transform feedback buffer resources are not assigned name strings. + + + GL_INVALID_OPERATION error is generated if pname is + GL_MAX_NUM_ACTIVE_VARIABLES and programInterface is not GL_UNIFORM_BLOCK, + GL_SHADER_STORAGE_BLOCK, GL_ATOMIC_COUNTER_BUFFER, or + GL_TRANSFORM_FEEDBACK_BUFFER. + + + Associated Gets + + glGet with argument GL_MAX_LABEL_LENGTH. + + + + API Version Support + + + + + + glGetProgramInterfaceiv + + + + + + + See Also + + glGetProgramResourceName, + glGetProgramResourceIndex, + glGetProgramResourceLocation, + glGetProgramResourceiv. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramPipeline.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramPipeline.xml new file mode 100644 index 00000000..2c0d777b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramPipeline.xml @@ -0,0 +1,128 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetProgramPipeline + 3G + + + glGetProgramPipeline + retrieve properties of a program pipeline object + + + C Specification + + + void glGetProgramPipelineiv + GLuint pipeline + GLenum pname + GLint *params + + + + Parameters + + + pipeline + + + Specifies the name of a program pipeline object whose parameter retrieve. + + + + + pname + + + Specifies the name of the parameter to retrieve. + + + + + params + + + Specifies the address of a variable into which will be written the value or values + of pname for pipeline. + + + + + + Description + + glGetProgramPipelineiv retrieves the value of a property of the program + pipeline object pipeline. pname specifies the + name of the parameter whose value to retrieve. The value of the parameter is written to + the variable whose address is given by params. + + + If pname is GL_ACTIVE_PROGRAM, the name of the + active program object of the program pipeline object is returned in params. + + + If pname is GL_VERTEX_SHADER, the name of the + current program object for the vertex shader type of the program pipeline object is + returned in params. + + + If pname is GL_FRAGMENT_SHADER, the name of the + current program object for the fragment shader type of the program pipeline object is + returned in params. + + + If pname is GL_INFO_LOG_LENGTH, the length of the + info log, including the null terminator, is returned in params. If there + is no info log, zero is returned. + + + Errors + + GL_INVALID_OPERATION is generated if pipeline is not zero or + a name previously returned from a call to glGenProgramPipelines + or if such a name has been deleted by a call to + glDeleteProgramPipelines. + + + GL_INVALID_ENUM is generated if pname is not one + of the accepted values. + + + + API Version Support + + + + + + glGetProgramPipelineiv + + + + + + + See Also + + glGetProgramPipelines, + glBindProgramPipeline, + glDeleteProgramPipelines + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramPipelineInfoLog.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramPipelineInfoLog.xml new file mode 100644 index 00000000..d96df792 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramPipelineInfoLog.xml @@ -0,0 +1,129 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetProgramPipelineInfoLog + 3G + + + glGetProgramPipelineInfoLog + retrieve the info log string from a program pipeline object + + + C Specification + + + void glGetProgramPipelineInfoLog + GLuint pipeline + GLsizei bufSize + GLsizei *length + GLchar *infoLog + + + + Parameters + + + pipeline + + + Specifies the name of a program pipeline object from which to retrieve the info log. + + + + + bufSize + + + Specifies the maximum number of characters, including the null terminator, that may be written into infoLog. + + + + + length + + + Specifies the address of a variable into which will be written the number of characters written into infoLog. + + + + + infoLog + + + Specifies the address of an array of characters into which will be written the info log for pipeline. + + + + + + Description + + glGetProgramPipelineInfoLog retrieves the info log for the program + pipeline object pipeline. The info log, including its null terminator, + is written into the array of characters whose address is given by infoLog. + The maximum number of characters that may be written into infoLog + is given by bufSize, and the actual number of characters written + into infoLog is returned in the integer whose address is given + by length. If length is NULL, + no length is returned. + + + The actual length of the info log for the program pipeline may be determined by calling + glGetProgramPipeline with + pname set to GL_INFO_LOG_LENGTH. + + + Errors + + GL_INVALID_OPERATION is generated if pipeline is not + a name previously returned from a call to glGenProgramPipelines + or if such a name has been deleted by a call to + glDeleteProgramPipelines. + + + Associated Gets + + glGetProgramPipeline + with parameter GL_INFO_LOG_LENGTH. + + + + API Version Support + + + + + + glGetProgramPipelineInfoLog + + + + + + + See Also + + glGenProgramPipelines, + glBindProgramPipeline, + glDeleteProgramPipelines, + glGetProgramPipeline + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramResource.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramResource.xml new file mode 100644 index 00000000..37bb41e8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramResource.xml @@ -0,0 +1,378 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glGetProgramResource + 3G + + + glGetProgramResource + retrieve values for multiple properties of a single active resource within a program object + + + C Specification + + + void glGetProgramResourceiv + GLuint program + GLenum programInterface + GLuint index + GLsizei propCount + const Glenum * props + GLsizei bufSize + GLsizei * length + GLint * params + + + + Parameters + + + program + + + The name of a program object whose resources to query. + + + + + programInterface + + + A token identifying the interface within program containing the resource named name. + + + + + + Description + + glGetProgramResourceiv returns values for multiple properties of a single active resource with an + index of index in the interface programInterface of program object + program. For each resource, values for propCount properties specified + by the array props are returned. propCount may not be zero. + An error is generated if any value + in props is not one of the properties described immediately belowor if any value in props is not + allowed for programInterface. The set of allowed programInterface + values for each property can be found in the following table: + + + + + + + + Property + Supported Interfaces + + + + + GL_NAME_LENGTH + Any except GL_ATOMIC_COUNTER_BUFFER and GL_TRANSFORM_FEEDBACK_BUFFER + + + GL_TYPE + GL_UNIFORM, GL_PROGRAM_INPUT, GL_PROGRAM_OUTPUT, GL_TRANSFORM_FEEDBACK_VARYING, GL_BUFFER_VARIABLE + + + GL_ARRAY_SIZE + GL_UNIFORM, GL_BUFFER_VARIABLE, GL_PROGRAM_INPUT, + GL_PROGRAM_OUTPUT, GL_TRANSFORM_FEEDBACK_VARYING + + + GL_OFFSET + GL_UNIFORM, GL_BUFFER_VARIABLE, GL_TRANSFORM_FEEDBACK_VARYING + + + GL_BLOCK_INDEX + GL_UNIFORM, GL_BUFFER_VARIABLE + + + GL_ARRAY_STRIDE + GL_UNIFORM, GL_BUFFER_VARIABLE + + + GL_MATRIX_STRIDE + GL_UNIFORM, GL_BUFFER_VARIABLE + + + GL_IS_ROW_MAJOR + GL_UNIFORM, GL_BUFFER_VARIABLE + + + GL_ATOMIC_COUNTER_BUFFER_INDEX + GL_UNIFORM + + + GL_BUFFER_BINDING + GL_UNIFORM_BLOCK, GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BLOCK, GL_TRANSFORM_FEEDBACK_BUFFER + + + GL_BUFFER_DATA_SIZE + GL_UNIFORM_BLOCK, GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BLOCK + + + GL_NUM_ACTIVE_VARIABLES + GL_UNIFORM_BLOCK, GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BLOCK, GL_TRANSFORM_FEEDBACK_BUFFER + + + GL_ACTIVE_VARIABLES + GL_UNIFORM_BLOCK, GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BLOCK, GL_TRANSFORM_FEEDBACK_BUFFER + + + GL_REFERENCED_BY_VERTEX_SHADER + GL_UNIFORM, GL_UNIFORM_BLOCK, GL_ATOMIC_COUNTER_SHADER, + GL_BUFFER, GL_SHADER_STORAGE_BLOCK, GL_BUFFER_VARIABLE, + GL_PROGRAM_INPUT, GL_PROGRAM_OUTPUT + + + GL_REFERENCED_BY_FRAGMENT_SHADER + GL_UNIFORM, GL_UNIFORM_BLOCK, GL_ATOMIC_COUNTER_SHADER, + GL_BUFFER, GL_SHADER_STORAGE_BLOCK, GL_BUFFER_VARIABLE, + GL_PROGRAM_INPUT, GL_PROGRAM_OUTPUT + + + GL_REFERENCED_BY_COMPUTE_SHADER + GL_UNIFORM, GL_UNIFORM_BLOCK, GL_ATOMIC_COUNTER_SHADER, + GL_BUFFER, GL_SHADER_STORAGE_BLOCK, GL_BUFFER_VARIABLE, + GL_PROGRAM_INPUT, GL_PROGRAM_OUTPUT + + + GL_TOP_LEVEL_ARRAY_SIZE + GL_BUFFER_VARIABLE + + + GL_TOP_LEVEL_ARRAY_STRIDE + GL_BUFFER_VARIABLE + + + GL_LOCATION + GL_UNIFORM, GL_PROGRAM_INPUT, GL_PROGRAM_OUTPUT + + + GL_LOCATION_INDEX + GL_PROGRAM_OUTPUT + + + GL_LOCATION_COMPONENT + GL_PROGRAM_INPUT, GL_PROGRAM_OUTPUT + + + GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE + GL_TRANSFORM_FEEDBACK_BUFFER + + + + + + + For the property GL_NAME_LENGTH, a single integer identifying the length of + the name string associated with an active variable, interface block, or + subroutine is written to params. The name length includes a terminating + null character. + + + For the property GL_TYPE, a single integer identifying the type of an active + variable is written to params. The integer returned is one of the + values found in table 2.16. + + + For the property GL_ARRAY_SIZE, a single integer identifying the number of + active array elements of an active variable is written to params. The + array size returned is in units of the type associated with the property + GL_TYPE. For active variables not corresponding to an array of basic types, + the value zero is written to params. + + + For the property GL_BLOCK_INDEX, a single integer identifying the index of + the active interface block containing an active variable is written to + params. If the variable is not the member of an interface block, the + value -1 is written to params. + + + For the property GL_OFFSET, a single integer identifying the offset of an + active variable is written to params. For variables in the GL_UNIFORM and + GL_BUFFER_VARIABLE interfaces that are backed by a buffer object, the value + written is the offset of that variable relative to the base of the buffer + range holding its value. For variables in the GL_TRANSFORM_FEEDBACK_VARYING + interface, the value written is the offset in the transform feedback + buffer storage assigned to each vertex captured in transform feedback mode + where the value of the variable will be stored. Such offsets are + assigned according to the variables position in the list of strings passed to + glTransformFeedbackVaryings. Offsets are expressed in basic machine units. + For all variables not recorded in transform feedback mode, -1 is written to params. + + + For the property GL_ARRAY_STRIDE, a single integer identifying the stride + between array elements in an active variable is written to params. For + active variables declared as an array of basic types, the value written is + the difference, in basic machine units, between the offsets of consecutive + elements in an array. For active variables not declared as an array of + basic types, zero is written to params. For active variables not backed + by a buffer object, -1 is written to params, regardless of the variable + type. + + + For the property GL_MATRIX_STRIDE, a single integer identifying the stride + between columns of a column-major matrix or rows of a row-major matrix is + written to params. For active variables declared a single matrix or + array of matrices, the value written is the difference, in basic machine + units, between the offsets of consecutive columns or rows in each matrix. + For active variables not declared as a matrix or array of matrices, zero + is written to params. For active variables not backed by a buffer + object, -1 is written to params, regardless of the variable type. + + + For the property GL_IS_ROW_MAJOR, a single integer identifying whether an + active variable is a row-major matrix is written to params. For active + variables backed by a buffer object, declared as a single matrix or array + of matrices, and stored in row-major order, one is written to params. + For all other active variables, zero is written to params. + + + For the property GL_ATOMIC_COUNTER_BUFFER_INDEX, a single integer identifying + the index of the active atomic counter buffer containing an active + variable is written to params. If the variable is not an atomic counter + uniform, the value -1 is written to params. + + + For the property GL_BUFFER_BINDING, to index of the buffer binding point + associated with the active uniform block, shader storage block, atomic + counter buffer or transform feedback buffer is written to params. + + + For the property GL_BUFFER_DATA_SIZE, then the implementation-dependent + minimum total buffer object size, in basic machine units, required to hold + all active variables associated with an active uniform block, shader + storage block, or atomic counter buffer is written to params. If the + final member of an active shader storage block is array with no declared + size, the minimum buffer size is computed assuming the array was declared + as an array with one element. + + + For the property GL_NUM_ACTIVE_VARIABLES, the number of active variables + associated with an active uniform block, shader storage block, atomic + counter buffer or transform feedback buffer is written to params. + + + For the property GL_ACTIVE_VARIABLES, an array of active variable indices + associated with an active uniform block, shader storage block, atomic + counter buffer or transform feedback buffer is written to params. The number of values written to + params for an active resource is given by the value of the property + GL_NUM_ACTIVE_VARIABLES for the resource. + + + For the properties GL_REFERENCED_BY_VERTEX_SHADER, + GL_REFERENCED_BY_FRAGMENT_SHADER, and + GL_REFERENCED_BY_COMPUTE_SHADER, a single integer is written to params, + identifying whether the active resource is referenced by the vertex, + fragment or compute shaders, respectively, in the program object. The value one is written to + params if an active variable is referenced by the corresponding shader, + or if an active uniform block, shader storage block, or atomic counter + buffer contains at least one variable referenced by the corresponding + shader. Otherwise, the value zero is written to params. + + + For the property GL_TOP_LEVEL_ARRAY_SIZE, a single integer identifying the + number of active array elements of the top-level shader storage block + member containing to the active variable is written to params. If the + top-level block member is not declared as an array, the value one is + written to params. If the top-level block member is an array with no + declared size, the value zero is written to params. + + + For the property GL_TOP_LEVEL_ARRAY_STRIDE, a single integer identifying the + stride between array elements of the top-level shader storage block member + containing the active variable is written to params. For top-level + block members declared as arrays, the value written is the difference, in + basic machine units, between the offsets of the active variable for + consecutive elements in the top-level array. For top-level block members + not declared as an array, zero is written to params. + + + For the property GL_LOCATION, a single integer identifying the assigned + location for an active uniform, input, output, or subroutine uniform + variable is written to params. For input, output, or uniform variables + with locations specified by a layout qualifier, the specified location is + used. For vertex shader input or fragment shader output variables without + a layout qualifier, the location assigned when a program is linked is + written to params. For all other input and output variables, the value + -1 is written to params. For uniforms in uniform blocks, the value -1 + is written to params. + + + For the property GL_LOCATION_INDEX, a single integer identifying the fragment + color index of an active fragment shader output variable is written to + params. If the active variable is an output for a non-fragment shader, + the value -1 will be written to params. + + + For the property GL_LOCATION_COMPONENT, a single integer indicating the first + component of the location assigned to an active input or output variable + is written to params. For input and output variables with a component + specified by a layout qualifier, the specified component is written. + For all other input and output variables, the value zero is written. + + + For the property GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE, a single integer + identifying the stride, in basic machine units, between consecutive + vertices written to the transform feedback buffer is written to params. + + + Errors + + GL_INVALID_VALUE is generated if program is + not the name of an existing program object. + + + GL_INVALID_VALUE is generated if propCount is + zero. + + + GL_INVALID_ENUM is generated if programInterface + is not one of the accepted interface types. + + + GL_INVLALID_ENUM is generated if any value in props + is not one of the accepted tokens for the interface programInterface + + + + API Version Support + + + + + + glGetProgramResourceiv + + + + + + + See Also + + glGetProgramResourceName, + glGetProgramResourceIndex, + glGetProgramResourceLocation, + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceIndex.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceIndex.xml new file mode 100644 index 00000000..8984b40d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceIndex.xml @@ -0,0 +1,187 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glGetProgramResourceIndex + 3G + + + glGetProgramResourceIndex + query the index of a named resource within a program + + + C Specification + + + GLuint glGetProgramResourceIndex + GLuint program + GLenum programInterface + const char * name + + + + Parameters + + + program + + + The name of a program object whose resources to query. + + + + + programInterface + + + A token identifying the interface within program containing the resource named name. + + + + + name + + + The name of the resource to query the index of. + + + + + + Description + + glGetProgramResourceIndex returns the unsigned + integer index assigned to a resource named name in + the interface type programInterface of program object program. + + + program must be the name of an existing program object. programInterface + is the name of the interface within program which contains the resource named + name and must be one of the following + values: + + + + GL_UNIFORM + + + The query is targeted at the set of active uniforms within program. + + + + + GL_UNIFORM_BLOCK + + + The query is targeted at the set of active uniform blocks within program. + + + + + GL_PROGRAM_INPUT + + + The query is targeted at the set of active input variables used by the first shader stage of program. + If program contains multiple shader stages then input variables from any stage other than the first + will not be enumerated. + + + + + GL_PROGRAM_OUTPUT + + + The query is targeted at the set of active output variables produced by the last shader stage of program. + If program contains multiple shader stages then output variables from any stage other than the last + will not be enumerated. + + + + + GL_TRANSFORM_FEEDBACK_VARYING + + + The query is targeted at the set of output variables from the vertex stage of program that would be + captured if transform feedback were active. + + + + + GL_BUFFER_VARIABLE + + + The query is targeted at the set of active buffer variables used by program. + + + + + GL_SHADER_STORAGE_BLOCK + + + The query is targeted at the set of active shader storage blocks used by program. + + + + + + If name exactly matches the name string of one of the active resources + for programInterface, the index of the matched resource is returned. + Additionally, if name would exactly match the name string of an active + resource if "[0]" were appended to name, the index of the matched + resource is returned. Otherwise, name is considered not to be the name + of an active resource, and GL_INVALID_INDEX is returned. + + + Errors + + GL_INVALID_ENUM is generated if programInterface + is not one of the accepted interface types. + + + GL_INVALID_ENUM is generated if programInterface is + GL_ATOMIC_COUNTER_BUFFER or GL_TRANSFORM_FEEDBACK_BUFFER, since active atomic + counter and transform feedback buffer resources are not assigned name strings. + + + Although not an error, GL_INVALID_INDEX is returned if name + is not the name of a resource within the interface identified by programInterface. + + + + API Version Support + + + + + + glGetProgramResourceIndex + + + + + + + See Also + + glGetProgramResourceName, + glGetGetProgramResource, + glGetProgramResourceLocation, + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceLocation.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceLocation.xml new file mode 100644 index 00000000..8306a20c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceLocation.xml @@ -0,0 +1,156 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glGetProgramResourceLocation + 3G + + + glGetProgramResourceLocation + query the location of a named resource within a program + + + C Specification + + + GLint glGetProgramResourceLocation + GLuint program + GLenum programInterface + const char * name + + + + Parameters + + + program + + + The name of a program object whose resources to query. + + + + + programInterface + + + A token identifying the interface within program containing the resource named name. + + + + + name + + + The name of the resource to query the location of. + + + + + + Description + + glGetProgramResourceLocation returns the location assigned + to the variable named name in interface programInterface of program + object program. program must be the name of a program that has been + linked successfully. programInterface must + be one of GL_UNIFORM, GL_PROGRAM_INPUT, GL_PROGRAM_OUTPUT, + or GL_TRANSFORM_FEEDBACK_BUFFER. + + + The value -1 will be returned if an error occurs, if name does not identify an active variable on + programInterface, or if name identifies an active variable that does + not have a valid location assigned, as described above. The locations + returned by these commands are the same locations returned when querying + the GL_LOCATION and GL_LOCATION_INDEX resource properties. + + + A string provided to glGetProgramResourceLocation is considered to match an active variable if: + + + + + the string exactly matches the name of the active variable + + + + + if the string identifies the base name of an active array, where the + string would exactly match the name of the variable if the suffix + "[0]" were appended to the string + + + + + if the string identifies an active element of the array, where the + string ends with the concatenation of the "[" character, an integer + with no "+" sign, extra leading zeroes, or whitespace identifying an + array element, and the "]" character, the integer is less than the + number of active elements of the array variable, and where the string + would exactly match the enumerated name of the array if the decimal + integer were replaced with zero. + + + + + Any other string is considered not to identify an active variable. If the + string specifies an element of an array variable, + glGetProgramResourceLocation returns the + location assigned to that element. If it + specifies the base name of an array, it identifies the resources + associated with the first element of the array. + + + Errors + + GL_INVALID_VALUE is generated if program + is not the name of an existing program object. + + + GL_INVALID_ENUM is generated if programInterface + is not one of the accepted interface types. + + + GL_INVALID_OPERATION is generated if program + has not been linked successfully. + + + + API Version Support + + + + + + glGetProgramResourceLocation + + + + + + + See Also + + glGetProgramResourceName, + glGetProgramResourceIndex, + glGetGetProgramResource, + glGetProgramResourceIndex. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceName.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceName.xml new file mode 100644 index 00000000..6fb33e62 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramResourceName.xml @@ -0,0 +1,228 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glGetProgramResourceName + 3G + + + glGetProgramResourceName + query the name of an indexed resource within a program + + + C Specification + + + void glGetProgramResourceName + GLuint program + GLenum programInterface + GLuint index + GLsizei bufSize + GLsizei * length + char * name + + + + Parameters + + + program + + + The name of a program object whose resources to query. + + + + + programInterface + + + A token identifying the interface within program containing the indexed resource. + + + + + index + + + The index of the resource within programInterface of program. + + + + + bufSize + + + The size of the character array whose address is given by name. + + + + + length + + + The address of a variable which will receive the length of the resource name. + + + + + name + + + The address of a character array into which will be written the name of the resource. + + + + + + Description + + glGetProgramResourceName retrieves the name string + assigned to the single active resource with an index of index + in the interface programInterface of program object + program. index must be less than + the number of entries in the active resource list for programInterface. + + + program must be the name of an existing program object. programInterface + is the name of the interface within program which contains the resource and must be one of the following + values: + + + + GL_UNIFORM + + + The query is targeted at the set of active uniforms within program. + + + + + GL_UNIFORM_BLOCK + + + The query is targeted at the set of active uniform blocks within program. + + + + + GL_PROGRAM_INPUT + + + The query is targeted at the set of active input variables used by the first shader stage of program. + If program contains multiple shader stages then input variables from any stage other than the first + will not be enumerated. + + + + + GL_PROGRAM_OUTPUT + + + The query is targeted at the set of active output variables produced by the last shader stage of program. + If program contains multiple shader stages then output variables from any stage other than the last + will not be enumerated. + + + + + GL_TRANSFORM_FEEDBACK_VARYING + + + The query is targeted at the set of output variables from vertex stage of program that would be + captured if transform feedback were active. + + + + + GL_BUFFER_VARIABLE + + + The query is targeted at the set of active buffer variables used by program. + + + + + GL_SHADER_STORAGE_BLOCK + + + The query is targeted at the set of active shader storage blocks used by program. + + + + + + The name string assigned to the active resource identified by index is + returned as a null-terminated string in the character array whose address is given in name. The actual number of + characters written into name, excluding the null terminator, is returned + in length. If length is NULL, no length is returned. The maximum + number of characters that may be written into name, including the null + terminator, is specified by bufSize. If the length of the name string + including the null terminator is greater than bufSize, the first + bufSize-1 characters of the name string will be written to name, + followed by a null terminator. If bufSize is zero, no error will be + generated but no characters will be written to name. The length of the + longest name string for programInterface>, including a null terminator, + can be queried by calling glGetProgramInterface with a pname of + GL_MAX_NAME_LENGTH. + + + Errors + + GL_INVALID_ENUM is generated if programInterface + is not one of the accepted interface types. + + + GL_INVALID_VALUE is generated if progam is not + the name of an existing program. + + + GL_INVALID_VALUE is generated if index is greater + than or equal to the number of entries in the active resource list for + programInterface. + + + GL_INVALID_ENUM is generated if programInterface is + GL_ATOMIC_COUNTER_BUFFER or GL_TRANSFORM_FEEDBACK_BUFFER, since active atomic + counter and transform feedback buffer resources are not assigned name strings. + + + + API Version Support + + + + + + glGetProgramResourceName + + + + + + + See Also + + glGetProgramResourceIndex, + glGetGetProgramResource, + glGetProgramResourceLocation, + glGetProgramResourceLocationIndex. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetProgramiv.xml b/Source/Bind/Specifications/Docs/ES31/glGetProgramiv.xml new file mode 100644 index 00000000..3473988f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetProgramiv.xml @@ -0,0 +1,336 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetProgramiv + 3G + + + glGetProgramiv + Returns a parameter from a program object + + + C Specification + + + void glGetProgramiv + GLuint program + GLenum pname + GLint *params + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + pname + + Specifies the object parameter. Accepted + symbolic names are + GL_ACTIVE_ATTRIBUTES, + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, + GL_ACTIVE_UNIFORMS, + GL_ACTIVE_UNIFORM_BLOCKS, + GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, + GL_ACTIVE_UNIFORM_MAX_LENGTH, + GL_ATTACHED_SHADERS, + GL_DELETE_STATUS, + GL_INFO_LOG_LENGTH, + GL_LINK_STATUS, + GL_PROGRAM_BINARY_RETRIEVABLE_HINT, + GL_TRANSFORM_FEEDBACK_BUFFER_MODE, + GL_TRANSFORM_FEEDBACK_VARYINGS, + GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH and + GL_VALIDATE_STATUS. + + + + params + + Returns the requested object parameter. + + + + + Description + glGetProgramiv + returns in params + the value of a parameter for a specific program object. The following parameters are defined: + + + + + GL_ACTIVE_ATTRIBUTES + + + + params returns the + number of active attribute variables for + program. + + + + + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH + + + + params returns the + length of the longest active attribute name for + program, including the null + termination character (i.e., the size of the + character buffer required to store the longest + attribute name). If no active attributes exist, 0 is + returned. + + + + + GL_ACTIVE_UNIFORM_BLOCKS + + + + params returns the + number of uniform blocks for program + containing active uniforms. + + + + + GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH + + + + params returns the + length of the longest active uniform block name + for program, including the + null termination character (i.e., the size of the + character buffer required to store the longest + uniform block name). If no active uniform + blocks exist, 0 is returned. + + + + + GL_ACTIVE_UNIFORMS + + + + params returns the + number of active uniform variables for + program. + + + + + GL_ACTIVE_UNIFORM_MAX_LENGTH + + + + params returns the + length of the longest active uniform variable name + for program, including the + null termination character (i.e., the size of the + character buffer required to store the longest + uniform variable name). If no active uniform + variables exist, 0 is returned. + + + + + GL_ATTACHED_SHADERS + + + + params returns the + number of shader objects attached to + program. + + + + + GL_DELETE_STATUS + + + + params returns + GL_TRUE if + program is currently flagged + for deletion, and GL_FALSE + otherwise. + + + + + GL_INFO_LOG_LENGTH + + + + params returns the + number of characters in the information log for + program including the null + termination character (i.e., the size of the + character buffer required to store the information + log). If program has no + information log, a value of 0 is + returned. + + + + + GL_LINK_STATUS + + + + params returns + GL_TRUE if the last link + operation on program was + successful, and GL_FALSE + otherwise. + + + + GL_PROGRAM_BINARY_RETRIEVABLE_HINT + + + + params returns the + current value of whether the binary retrieval + hint is enabled for program. + + + + + + GL_TRANSFORM_FEEDBACK_BUFFER_MODE + + + + params returns a symbolic constant + indicating the buffer mode used when transform feedback is active. + This may be GL_SEPARATE_ATTRIBS or + GL_INTERLEAVED_ATTRIBS. + + + + + GL_TRANSFORM_FEEDBACK_VARYINGS + + + + params returns the number of varying + variables to capture in transform feedback mode for the program. + + + + + GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH + + + + params returns the length of the longest + variable name to be used for transform feedback, including the null-terminator. + + + + + GL_VALIDATE_STATUS + + + + params returns + GL_TRUE or if the last + validation operation on + program was successful, and + GL_FALSE + otherwise. + + + + + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE + is generated if program + is not a value generated by OpenGL. + + GL_INVALID_OPERATION + is generated if program + does not refer to a program object. + + GL_INVALID_ENUM + is generated if pname + is not an accepted value. + + + Associated Gets + glGetActiveAttrib + with argument program + + glGetActiveUniform + with argument program + + glGetAttachedShaders + with argument program + + glGetProgramInfoLog + with argument program + + glIsProgram + + + + API Version Support + + + + + + glGetProgramiv + + + + + + + See Also + glAttachShader, + glCreateProgram, + glDeleteProgram, + glGetShaderiv, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetQueryObjectuiv.xml b/Source/Bind/Specifications/Docs/ES31/glGetQueryObjectuiv.xml new file mode 100644 index 00000000..41c85a1a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetQueryObjectuiv.xml @@ -0,0 +1,159 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGetQueryObjectuiv + 3G + + + glGetQueryObjectuiv + return parameters of a query object + + + C Specification + + + void glGetQueryObjectuiv + GLuint id + GLenum pname + GLuint * params + + + + Parameters + + + id + + + Specifies the name of a query object. + + + + + pname + + + Specifies the symbolic name of a query object parameter. + Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. + + + + + params + + + Returns the requested data. + + + + + + Description + + glGetQueryObjectuiv returns in params a selected parameter of the query object + specified by id. + + + pname names a specific query object parameter. pname can be as follows: + + + + GL_QUERY_RESULT + + + params returns the value of the query object's passed samples counter. + The initial value is 0. + + + + + GL_QUERY_RESULT_AVAILABLE + + + params returns whether the passed samples counter is immediately available. + If a delay would occur waiting for the query result, GL_FALSE is returned. + Otherwise, GL_TRUE is returned, which also indicates that the results of all + previous queries of the same type are available as well. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + glGetQueryObjectuiv implicitly flushes the GL pipeline so that any incomplete rendering + delimited by the occlusion query completes in finite time. + + + Repeatedly querying the GL_QUERY_RESULT_AVAILABLE state for any given query object is + guaranteed to return true eventually. Note that multiple queries to the same occlusion object may result in a + significant performance loss. For better performance it is recommended to wait N frames before querying this + state. N is implementation-dependent but is generally between one and three. + + + If multiple queries are issued using the same query object id before calling + glGetQueryObjectuiv, the results of the most recent query will be returned. In this case, + when issuing a new query, the results of the previous query are discarded. + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_OPERATION is generated if id is not the name of a query object. + + + GL_INVALID_OPERATION is generated if id is the name of a currently active + query object. + + + + API Version Support + + + + + + glGetQueryObjectuiv + + + + + + + See Also + + glBeginQuery, + glEndQuery, + glGetQueryiv, + glIsQuery, + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetQueryiv.xml b/Source/Bind/Specifications/Docs/ES31/glGetQueryiv.xml new file mode 100644 index 00000000..544296dc --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetQueryiv.xml @@ -0,0 +1,118 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glGetQueryiv + 3G + + + glGetQueryiv + return parameters of a query object target + + + C Specification + + + void glGetQueryiv + GLenum target + GLenum pname + GLint * params + + + + Parameters + + + target + + + Specifies a query object target. + Must be GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, or + GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN. + + + + + pname + + + Specifies the symbolic name of a query object target parameter. + Must be GL_CURRENT_QUERY. + + + + + params + + + Returns the requested data. + + + + + + Description + + glGetQueryiv returns in params a selected parameter of the query object target + specified by target. + + + pname names a specific query object target parameter. When pname is + GL_CURRENT_QUERY, the name of the currently active query for target, + or zero if no query is active, will be placed in params. + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + + API Version Support + + + + + + glGetQueryiv + + + + + + + See Also + + glGetQueryObjectuiv, + glIsQuery + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetRenderbufferParameteriv.xml b/Source/Bind/Specifications/Docs/ES31/glGetRenderbufferParameteriv.xml new file mode 100644 index 00000000..9c22ecdb --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetRenderbufferParameteriv.xml @@ -0,0 +1,118 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetRenderbufferParameteriv + 3G + + + glGetRenderbufferParameteriv + retrieve information about a bound renderbuffer object + + + C Specification + + + void glGetRenderbufferParameteriv + GLenum target + GLenum pname + GLint *params + + + + Parameters + + + target + + + Specifies the target of the query operation. target must be GL_RENDERBUFFER. + + + + + pname + + + Specifies the parameter whose value to retrieve from the renderbuffer bound to target. + + + + + params + + + Specifies the address of an array to receive the value of the queried parameter. + + + + + + Description + + glGetRenderbufferParameteriv retrieves information about a bound renderbuffer object. target + specifies the target of the query operation and must be GL_RENDERBUFFER. pname specifies + the parameter whose value to query and must be one of GL_RENDERBUFFER_WIDTH, GL_RENDERBUFFER_HEIGHT, + GL_RENDERBUFFER_INTERNAL_FORMAT, GL_RENDERBUFFER_RED_SIZE, GL_RENDERBUFFER_GREEN_SIZE, + GL_RENDERBUFFER_BLUE_SIZE, GL_RENDERBUFFER_ALPHA_SIZE, GL_RENDERBUFFER_DEPTH_SIZE, + GL_RENDERBUFFER_STENCIL_SIZE, or GL_RENDERBUFFER_SAMPLES. + + + Upon a successful return from glGetRenderbufferParameteriv, if pname is GL_RENDERBUFFER_WIDTH, + GL_RENDERBUFFER_HEIGHT, GL_RENDERBUFFER_INTERNAL_FORMAT, or GL_RENDERBUFFER_SAMPLES, + then params will contain the width in pixels, the height in pixels, the internal format, or the number of samples, respectively, + of the image of the renderbuffer currently bound to target. + + + If pname is GL_RENDERBUFFER_RED_SIZE, GL_RENDERBUFFER_GREEN_SIZE, + GL_RENDERBUFFER_BLUE_SIZE, GL_RENDERBUFFER_ALPHA_SIZE, GL_RENDERBUFFER_DEPTH_SIZE, + or GL_RENDERBUFFER_STENCIL_SIZE, then params will contain the actual resolutions (not the resolutions + specified when the image array was defined) for the red, green, blue, alpha depth, or stencil components, respectively, of the image of the + renderbuffer currently bound to target. + + + Errors + + GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. + + + + API Version Support + + + + + + glGetRenderbufferParameteriv + + + + + + + See Also + + glGenRenderbuffers, + glFramebufferRenderbuffer, + glBindRenderbuffer, + glRenderbufferStorage, + glRenderbufferStorageMultisample + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetSamplerParameter.xml b/Source/Bind/Specifications/Docs/ES31/glGetSamplerParameter.xml new file mode 100644 index 00000000..5ca2249e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetSamplerParameter.xml @@ -0,0 +1,226 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetSamplerParameter + 3G + + + glGetSamplerParameter + return sampler parameter values + + + C Specification + + + void glGetSamplerParameterfv + GLuint sampler + GLenum pname + GLfloat * params + + + + + void glGetSamplerParameteriv + GLuint sampler + GLenum pname + GLint * params + + + + Parameters + + + sampler + + + Specifies name of the sampler object from which to retrieve parameters. + + + + + pname + + + Specifies the symbolic name of a sampler parameter. + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, + GL_TEXTURE_WRAP_R, + GL_TEXTURE_COMPARE_MODE, and + GL_TEXTURE_COMPARE_FUNC + are accepted. + + + + + params + + + Returns the sampler parameters. + + + + + + Description + + glGetSamplerParameter* returns in params the value or values of the sampler parameter + specified as pname. + sampler defines the target sampler, and must be the name of an existing sampler object, returned from a previous call + to glGenSamplers. + pname accepts the same symbols as glSamplerParameter*, + with the same interpretations: + + + + GL_TEXTURE_MAG_FILTER + + + Returns the single-valued texture magnification filter, + a symbolic constant. The initial value is GL_LINEAR. + + + + + GL_TEXTURE_MIN_FILTER + + + Returns the single-valued texture minification filter, + a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MIN_LOD + + + Returns the single-valued texture minimum level-of-detail value. The + initial value is + + + -1000 + . + + + + + GL_TEXTURE_MAX_LOD + + + Returns the single-valued texture maximum level-of-detail value. The + initial value is 1000. + + + + + GL_TEXTURE_WRAP_S + + + Returns the single-valued wrapping function for texture coordinate + s, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_T + + + Returns the single-valued wrapping function for texture coordinate + t, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_R + + + Returns the single-valued wrapping function for texture coordinate + r, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_COMPARE_MODE + + + Returns a single-valued texture comparison mode, a symbolic constant. The + initial value is GL_NONE. See glSamplerParameter. + + + + + GL_TEXTURE_COMPARE_FUNC + + + Returns a single-valued texture comparison function, a symbolic constant. The + initial value is GL_LEQUAL. See glSamplerParameter. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_OPERATION is generated if sampler is not the name of a sampler object returned from + a previous call to glGenSamplers. + + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + + API Version Support + + + + + + glGetSamplerParameterfv + + + + glGetSamplerParameteriv + + + + + + + See Also + + glSamplerParameter, + glGenSamplers, + glDeleteSamplers, + glSamplerParameter + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetShaderInfoLog.xml b/Source/Bind/Specifications/Docs/ES31/glGetShaderInfoLog.xml new file mode 100644 index 00000000..a5d42fa5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetShaderInfoLog.xml @@ -0,0 +1,150 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetShaderInfoLog + 3G + + + glGetShaderInfoLog + Returns the information log for a shader object + + + C Specification + + + void glGetShaderInfoLog + GLuint shader + GLsizei maxLength + GLsizei *length + GLchar *infoLog + + + + Parameters + + + shader + + Specifies the shader object whose information + log is to be queried. + + + + maxLength + + Specifies the size of the character buffer for + storing the returned information log. + + + + length + + Returns the length of the string returned in + infoLog (excluding the null + terminator). + + + + infoLog + + Specifies an array of characters that is used + to return the information log. + + + + + Description + glGetShaderInfoLog returns the + information log for the specified shader object. The information + log for a shader object is modified when the shader is compiled. + The string that is returned will be null terminated. + + glGetShaderInfoLog returns in + infoLog as much of the information log as + it can, up to a maximum of maxLength + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned information + log can be obtained by calling + glGetShaderiv + with the value GL_INFO_LOG_LENGTH. + + The information log for a shader object is a string that + may contain diagnostic messages, warning messages, and other + information about the last compile operation. When a shader + object is created, its information log will be a string of + length 0. + + Notes + The information log for a shader object is the OpenGL + implementer's primary mechanism for conveying information about + the compilation process. Therefore, the information log can be + helpful to application developers during the development + process, even when compilation is successful. Application + developers should not expect different OpenGL implementations to + produce identical information logs. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + maxLength is less than 0. + + + Associated Gets + glGetShaderiv + with argument GL_INFO_LOG_LENGTH + + glIsShader + + + API Version Support + + + + + + glGetShaderInfoLog + + + + + + + See Also + glCompileShader, + glGetProgramInfoLog, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetShaderPrecisionFormat.xml b/Source/Bind/Specifications/Docs/ES31/glGetShaderPrecisionFormat.xml new file mode 100644 index 00000000..9cb03323 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetShaderPrecisionFormat.xml @@ -0,0 +1,123 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetShaderPrecisionFormat + 3G + + + glGetShaderPrecisionFormat + retrieve the range and precision for numeric formats supported by the shader compiler + + + C Specification + + + void glGetShaderPrecisionFormat + GLenum shaderType + GLenum precisionType + GLint *range + GLint *precision + + + + Parameters + + + shaderType + + + Specifies the type of shader whose precision to query. shaderType + must be GL_VERTEX_SHADER or GL_FRAGMENT_SHADER. + + + + + precisionType + + + Specifies the numeric format whose precision and range to query. + + + + + range + + + Specifies the address of array of two integers into which encodings of the implementation's + numeric range are returned. + + + + + precision + + + Specifies the address of an integer into which the numeric precision of the implementation + is written. + + + + + + Description + + glGetShaderPrecisionFormat retrieves the numeric range and precision for + the implementation's representation of quantities in different numeric formats in specified + shader type. shaderType specifies the type of shader for which the numeric + precision and range is to be retrieved and must be one of GL_VERTEX_SHADER + or GL_FRAGMENT_SHADER. precisionType specifies the + numeric format to query and must be one of GL_LOW_FLOAT, GL_MEDIUM_FLOAT + GL_HIGH_FLOAT, GL_LOW_INT, GL_MEDIUM_INT, + or GL_HIGH_INT. + + + range points to an array of two integers into which the format's numeric range + will be returned. If min and max are the smallest values representable in the format, then the values + returned are defined to be: range[0] = floor(log2(|min|)) and + range[1] = floor(log2(|max|)). + + + precision specifies the address of an integer into which will be written + the log2 value of the number of bits of precision of the format. If the smallest representable + value greater than 1 is 1 + eps, then the integer addressed by precision + will contain floor(-log2(eps)). + + + Errors + + GL_INVALID_ENUM is generated if shaderType or + precisionType is not an accepted value. + + + + API Version Support + + + + + + glGetShaderPrecisionFormat + + + + + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetShaderSource.xml b/Source/Bind/Specifications/Docs/ES31/glGetShaderSource.xml new file mode 100644 index 00000000..ce269908 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetShaderSource.xml @@ -0,0 +1,138 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetShaderSource + 3G + + + glGetShaderSource + Returns the source code string from a shader object + + + C Specification + + + void glGetShaderSource + GLuint shader + GLsizei bufSize + GLsizei *length + GLchar *source + + + + Parameters + + + shader + + Specifies the shader object to be + queried. + + + + bufSize + + Specifies the size of the character buffer for + storing the returned source code string. + + + + length + + Returns the length of the string returned in + source (excluding the null + terminator). + + + + source + + Specifies an array of characters that is used + to return the source code string. + + + + + Description + glGetShaderSource returns the + concatenation of the source code strings from the shader object + specified by shader. The source code + strings for a shader object are the result of a previous call to + glShaderSource. + The string returned by the function will be null + terminated. + + glGetShaderSource returns in + source as much of the source code string + as it can, up to a maximum of bufSize + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned source code + string can be obtained by calling + glGetShaderiv + with the value + GL_SHADER_SOURCE_LENGTH. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + + Associated Gets + glGetShaderiv + with argument + GL_SHADER_SOURCE_LENGTH + + glIsShader + + + API Version Support + + + + + + glGetShaderSource + + + + + + + See Also + glCreateShader, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetShaderiv.xml b/Source/Bind/Specifications/Docs/ES31/glGetShaderiv.xml new file mode 100644 index 00000000..65763d00 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetShaderiv.xml @@ -0,0 +1,191 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetShaderiv + 3G + + + glGetShaderiv + Returns a parameter from a shader object + + + C Specification + + + void glGetShaderiv + GLuint shader + GLenum pname + GLint *params + + + + Parameters + + + shader + + Specifies the shader object to be + queried. + + + + pname + + Specifies the object parameter. Accepted + symbolic names are + GL_SHADER_TYPE, + GL_DELETE_STATUS, + GL_COMPILE_STATUS, + GL_INFO_LOG_LENGTH, + GL_SHADER_SOURCE_LENGTH. + + + + params + + Returns the requested object parameter. + + + + + Description + + glGetShaderiv + returns in params + the value of a parameter for a specific shader object. The + following parameters are defined: + + + + GL_SHADER_TYPE + + params returns + GL_VERTEX_SHADER if + shader is a vertex shader + object, and GL_FRAGMENT_SHADER + if shader is a fragment + shader object. + + + + + GL_DELETE_STATUS + + params returns + GL_TRUE if + shader is currently flagged + for deletion, and GL_FALSE + otherwise. + + + + + GL_COMPILE_STATUS + + params returns + GL_TRUE if the last compile + operation on shader was + successful, and GL_FALSE + otherwise. + + + + + GL_INFO_LOG_LENGTH + + params returns the + number of characters in the information log for + shader including the null + termination character (i.e., the size of the + character buffer required to store the information + log). If shader has no + information log, a value of 0 is returned. + + + + + GL_SHADER_SOURCE_LENGTH + + params returns the + length of the concatenation of the source strings + that make up the shader source for the + shader, including the null + termination character. (i.e., the size of the + character buffer required to store the shader + source). If no source code exists, 0 is + returned. + + + + + Notes + + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader does not refer to a shader + object. + + GL_INVALID_ENUM is generated if + pname is not an accepted value. + + + Associated Gets + glGetShaderInfoLog + with argument shader + + glGetShaderSource + with argument shader + + glIsShader + + + API Version Support + + + + + + glGetShaderiv + + + + + + + See Also + glCompileShader, + glCreateShader, + glDeleteShader, + glGetProgramiv, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetString.xml b/Source/Bind/Specifications/Docs/ES31/glGetString.xml new file mode 100644 index 00000000..c975cece --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetString.xml @@ -0,0 +1,209 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGetString + 3G + + + glGetString + return a string describing the current GL connection + + + C Specification + + + const GLubyte* glGetString + GLenum name + + + + + const GLubyte* glGetStringi + GLenum name + GLuint index + + + + Parameters + + + name + + + Specifies a symbolic constant, one of + GL_EXTENSIONS, GL_RENDERER, + GL_SHADING_LANGUAGE_VERSION, GL_VENDOR, or + GL_VERSION. + glGetStringi accepts only the GL_EXTENSIONS token. + + + + + index + + + For glGetStringi, specifies the index of the string to return. + + + + + + Description + + glGetString returns a pointer to a static string + describing some aspect of the current GL connection. + name can be one of the following: + + + + GL_EXTENSIONS + + + Returns the extension string supported by the implementation. + + + + + GL_VENDOR + + + Returns the company responsible for this GL implementation. + This name does not change from release to release. + + + + + GL_RENDERER + + + Returns the name of the renderer. + This name is typically specific to a particular configuration of a hardware + platform. + It does not change from release to release. + + + + + GL_VERSION + + + Returns a version or release number. + + + + + GL_SHADING_LANGUAGE_VERSION + + + Returns a version or release number for the shading language. + + + + + + glGetStringi returns a pointer to a static string + indexed by index. + name can be one of the following: + + + + GL_EXTENSIONS + + + Returns the extension string supported by the implementation at index. + + + + + + Strings GL_VENDOR and GL_RENDERER together uniquely specify + a platform. They do not change from release to release and should be used + by platform-recognition algorithms. + + + The GL_VERSION and GL_SHADING_LANGUAGE_VERSION strings begin with a version number. + The version number uses one + of these forms: + + + major_number.minor_number + major_number.minor_number.release_number + + + Vendor-specific information may follow the version + number. Its format depends on the implementation, but + a space always separates the version number and + the vendor-specific information. + + + All strings are null-terminated. + + + Notes + + If an error is generated, glGetString returns 0. + + + The client and server may support different versions. + glGetString always returns a compatible version number. + The release number always describes the server. + + + There is no defined relationship between the order in which extension names appear in + the non-indexed string and the order in which they appear in the indexed query. + + + There is no defined relationship between any particular extension name and the index values; + an extension name may correspond to a different index in different GL contexts and/or implementations. + + + Errors + + GL_INVALID_ENUM is generated if name is not an accepted value. + + + GL_INVALID_VALUE is generated by glGetStringi if + index is outside the valid range for indexed state name. + + + + API Version Support + + + + + + GetString + + + + GetStringi + + + + + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetSynciv.xml b/Source/Bind/Specifications/Docs/ES31/glGetSynciv.xml new file mode 100644 index 00000000..20f51696 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetSynciv.xml @@ -0,0 +1,145 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetSynciv + 3G + + + glGetSynciv + query the properties of a sync object + + + C Specification + + + void glGetSynciv + GLsync sync + GLenum pname + GLsizei bufSize + GLsizei *length + GLint *values + + + + Parameters + + + sync + + + Specifies the sync object whose properties to query. + + + + + pname + + + Specifies the parameter whose value to retrieve from the sync object specified in sync. + + + + + bufSize + + + Specifies the size of the buffer whose address is given in values. + + + + + length + + + Specifies the address of an variable to receive the number of integers placed in values. + + + + + values + + + Specifies the address of an array to receive the values of the queried parameter. + + + + + + Description + + glGetSynciv retrieves properties of a sync object. sync specifies the name of the sync + object whose properties to retrieve. + + + On success, glGetSynciv replaces up to bufSize integers in values with the + corresponding property values of the object being queried. The actual number of integers replaced is returned in the variable whose address is + specified in length. If length is NULL, no length is returned. + + + If pname is GL_OBJECT_TYPE, a single value representing the specific type of the sync object is + placed in values. The only type supported is GL_SYNC_FENCE. + + + If pname is GL_SYNC_STATUS, a single value representing the status of the sync object + (GL_SIGNALED or GL_UNSIGNALED) is placed in values. + + + If pname is GL_SYNC_CONDITION, a single value representing the condition of the sync object + is placed in values. The only condition supported is GL_SYNC_GPU_COMMANDS_COMPLETE. + + + If pname is GL_SYNC_FLAGS, a single value representing the flags with which the sync object + was created is placed in values. No flags are currently supportedflags is + expected to be used in future extensions to the sync objects.. + + + If an error occurs, nothing will be written to values or length. + + + Errors + + GL_INVALID_VALUE is generated if sync is not the name of a sync object. + + + GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. + + + + API Version Support + + + + + + glGetSynciv + + + + + + + See Also + + glFenceSync, + glWaitSync, + glClientWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetTexParameter.xml b/Source/Bind/Specifications/Docs/ES31/glGetTexParameter.xml new file mode 100644 index 00000000..fda9d955 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetTexParameter.xml @@ -0,0 +1,300 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glGetTexParameter + 3G + + + glGetTexParameter + return texture parameter values + + + C Specification + + + void glGetTexParameterfv + GLenum target + GLenum pname + GLfloat * params + + + + + void glGetTexParameteriv + GLenum target + GLenum pname + GLint * params + + + + Parameters + + + target + + + Specifies the symbolic name of the target texture. + GL_TEXTURE_2D, + GL_TEXTURE_2D_ARRAY, + GL_TEXTURE_3D, and + GL_TEXTURE_CUBE_MAP + are accepted. + + + + + pname + + + Specifies the symbolic name of a texture parameter. + GL_TEXTURE_BASE_LEVEL, + GL_TEXTURE_COMPARE_FUNC, + GL_TEXTURE_COMPARE_MODE, + GL_TEXTURE_IMMUTABLE_FORMAT, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MAX_LEVEL, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_SWIZZLE_R, + GL_TEXTURE_SWIZZLE_G, + GL_TEXTURE_SWIZZLE_B, + GL_TEXTURE_SWIZZLE_A, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, and + GL_TEXTURE_WRAP_R + are accepted. + + + + + params + + + Returns the texture parameters. + + + + + + Description + + glGetTexParameter returns in params the value or values of the texture parameter + specified as pname. + target defines the target texture. + GL_TEXTURE_2D, + GL_TEXTURE_3D, + GL_TEXTURE_2D_ARRAY, and + GL_TEXTURE_CUBE_MAP + specify two- or three-dimensional, two-dimensional array, or cube-mapped texturing, respectively. + pname accepts the same symbols as glTexParameter, + with the same interpretations: + + + + GL_TEXTURE_BASE_LEVEL + + + Returns the single-valued base texture mipmap level. The initial value is 0. + + + + + GL_TEXTURE_COMPARE_FUNC + + + Returns a single-valued texture comparison function, a symbolic constant. The + initial value is GL_LEQUAL. See glTexParameter. + + + + + GL_TEXTURE_COMPARE_MODE + + + Returns a single-valued texture comparison mode, a symbolic constant. The + initial value is GL_NONE. See glTexParameter. + + + + + GL_TEXTURE_IMMUTABLE_FORMAT + + + Returns a single-value boolean representing the immutability of the texture format and size. + initial value is GL_FALSE. See glTexStorage2D. + + + + + GL_TEXTURE_MAG_FILTER + + + Returns the single-valued texture magnification filter, + a symbolic constant. The initial value is GL_LINEAR. + + + + + GL_TEXTURE_MAX_LEVEL + + + Returns the single-valued maximum texture mipmap array level. The initial + value is 1000. + + + + + GL_TEXTURE_MAX_LOD + + + Returns the single-valued texture maximum level-of-detail value. The + initial value is 1000. + + + + + GL_TEXTURE_MIN_FILTER + + + Returns the single-valued texture minification filter, + a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MIN_LOD + + + Returns the single-valued texture minimum level-of-detail value. The + initial value is + + + -1000 + . + + + + + GL_TEXTURE_SWIZZLE_R + + + Returns the red component swizzle. The initial value is GL_RED. + + + + + GL_TEXTURE_SWIZZLE_G + + + Returns the green component swizzle. The initial value is GL_GREEN. + + + + + GL_TEXTURE_SWIZZLE_B + + + Returns the blue component swizzle. The initial value is GL_BLUE. + + + + + GL_TEXTURE_SWIZZLE_A + + + Returns the alpha component swizzle. The initial value is GL_ALPHA. + + + + + GL_TEXTURE_WRAP_S + + + Returns the single-valued wrapping function for texture coordinate + s, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_T + + + Returns the single-valued wrapping function for texture coordinate + t, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_R + + + Returns the single-valued wrapping function for texture coordinate + r, + a symbolic constant. The initial value is GL_REPEAT. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + + API Version Support + + + + + + glGetTexParameterfv + + + + glGetTexParameteriv + + + + + + + See Also + + glTexParameter, + glTexStorage2D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetTransformFeedbackVarying.xml b/Source/Bind/Specifications/Docs/ES31/glGetTransformFeedbackVarying.xml new file mode 100644 index 00000000..58960d68 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetTransformFeedbackVarying.xml @@ -0,0 +1,178 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetTransformFeedbackVarying + 3G + + + glGetTransformFeedbackVarying + retrieve information about varying variables selected for transform feedback + + + C Specification + + + void glGetTransformFeedbackVarying + GLuint program + GLuint index + GLsizei bufSize + GLsizei * length + GLsizei size + GLenum * type + char * name + + + + Parameters + + + program + + + The name of the target program object. + + + + + index + + + The index of the varying variable whose information to retrieve. + + + + + bufSize + + + The maximum number of characters, including the null terminator, that may be written into name. + + + + + length + + + The address of a variable which will receive the number of characters written into name, + excluding the null-terminator. If length is NULL no length is returned. + + + + + size + + + The address of a variable that will receive the size of the varying. + + + + + type + + + The address of a variable that will recieve the type of the varying. + + + + + name + + + The address of a buffer into which will be written the name of the varying. + + + + + + Description + + Information about the set of varying variables in a linked program that will be captured + during transform feedback may be retrieved by calling glGetTransformFeedbackVarying. + glGetTransformFeedbackVarying provides information about the varying + variable selected by index. An index of 0 selects + the first varying variable specified in the varyings array passed + to glTransformFeedbackVaryings, and + an index of GL_TRANSFORM_FEEDBACK_VARYINGS-1 selects + the last such variable. + + + The name of the selected varying is returned as a null-terminated string in + name. The actual number of characters written into name, + excluding the null terminator, is returned in length. If length + is NULL, no length is returned. The maximum number of characters that may be written into name, + including the null terminator, is specified by bufSize. + + + The length of the longest varying name in program is given by GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, + which can be queried with glGetProgramiv. + + + For the selected varying variable, its type is returned into type. The size of + the varying is returned into size. The value in size is + in units of the type returned in type. The type returned can be any of the + scalar, vector, or matrix attribute types returned by glGetActiveAttrib. + If an error occurred, the return parameters length, size, + type and name will be unmodified. This command will return as much + information about the varying variables as possible. If no information is available, length + will be set to zero and name will be an empty string. This situation could + arise if glGetTransformFeedbackVarying is called after a failed link. + + + Errors + + GL_INVALID_VALUE is generated if program is not + the name of a program object. + + + GL_INVALID_VALUE is generated if index is greater or equal to + the value of GL_TRANSFORM_FEEDBACK_VARYINGS. + + + GL_INVALID_OPERATION is generated program has not been linked. + + + Associated Gets + + glGetProgramiv with argument GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH + or GL_TRANSFORM_FEEDBACK_VARYINGS. + + + + API Version Support + + + + + + glGetTransformFeedbackVarying + + + + + + + See Also + + glBeginTransformFeedback, + glEndTransformFeedback, + glTransformFeedbackVaryings, + glGetProgramiv + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetUniform.xml b/Source/Bind/Specifications/Docs/ES31/glGetUniform.xml new file mode 100644 index 00000000..6bd7f8b4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetUniform.xml @@ -0,0 +1,178 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetUniform + 3G + + + glGetUniform + glGetUniformfv + glGetUniformiv + glGetUniformuiv + Returns the value of a uniform variable + + + C Specification + + + void glGetUniformfv + GLuint program + GLint location + GLfloat *params + + + void glGetUniformiv + GLuint program + GLint location + GLint *params + + + void glGetUniformuiv + GLuint program + GLint location + GLuint *params + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + location + + Specifies the location of the uniform variable + to be queried. + + + + params + + Returns the value of the specified uniform + variable. + + + + + Description + glGetUniform returns in + params the value(s) of the specified + uniform variable. The type of the uniform variable specified by + location determines the number of values + returned. If the uniform variable is defined in the shader as a + boolean, int, unsigned int, or float, a single value will be returned. If it + is defined as a vec2, ivec2, uvec2, or bvec2, two values will be + returned. If it is defined as a vec3, ivec3, uvec3, or bvec3, three + values will be returned, and so on. To query values stored in + uniform variables declared as arrays, call + glGetUniform for each element of the array. + To query values stored in uniform variables declared as + structures, call glGetUniform for each + field in the structure. The values for uniform variables + declared as a matrix will be returned in column major + order. + + The locations assigned to uniform variables are not known + until the program object is linked. After linking has occurred, + the command + glGetUniformLocation + can be used to obtain the location of a uniform variable. This + location value can then be passed to + glGetUniform in order to query the current + value of the uniform variable. After a program object has been + linked successfully, the index values for uniform variables + remain fixed until the next link command occurs. The uniform + variable values can only be queried after a link if the link was + successful. + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + GL_INVALID_OPERATION is generated if + location does not correspond to a valid + uniform variable location for the specified program object. + + + Associated Gets + glGetActiveUniform + with arguments program and the index of an active + uniform variable + + glGetProgramiv + with arguments program and + GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH + + glGetUniformLocation + with arguments program and the name of a + uniform variable + glIsProgram + + + API Version Support + + + + + + glGetUniformfv + + + + glGetUniformiv + + + + glGetUniformuiv + + + + + + + See Also + glCreateProgram, + glLinkProgram, + glUniform + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetUniformBlockIndex.xml b/Source/Bind/Specifications/Docs/ES31/glGetUniformBlockIndex.xml new file mode 100644 index 00000000..e3ecf66b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetUniformBlockIndex.xml @@ -0,0 +1,105 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetUniformBlockIndex + 3G + + + glGetUniformBlockIndex + retrieve the index of a named uniform block + + + C Specification + + + GLuint glGetUniformBlockIndex + GLuint program + const GLchar *uniformBlockName + + + + Parameters + + + program + + + Specifies the name of a program containing the uniform block. + + + + + uniformBlockName + + + Specifies the address an array of characters containing the name of the uniform block whose index to retrieve. + + + + + + Description + + glGetUniformBlockIndex retrieves the index of a uniform block within program. + + + program must be the name of a program object for which the command + glLinkProgram must have been called in the past, although it is not required that + glLinkProgram must have succeeded. The link could have failed because the number + of active uniforms exceeded the limit. + + + uniformBlockName must contain a nul-terminated string specifying the name of the uniform block. + + + glGetUniformBlockIndex returns the uniform block index for the uniform block named uniformBlockName + of program. If uniformBlockName does not identify an active uniform block of program, + glGetUniformBlockIndex returns the special identifier, GL_INVALID_INDEX. Indices of the active uniform + blocks of a program are assigned in consecutive order, beginning with zero. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the name of a program object for which + glLinkProgram has been called in the past. + + + + API Version Support + + + + + + glGetUniformBlockIndex + + + + + + + See Also + + glGetActiveUniformBlockName, + glGetActiveUniformBlockiv, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetUniformIndices.xml b/Source/Bind/Specifications/Docs/ES31/glGetUniformIndices.xml new file mode 100644 index 00000000..b18d852c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetUniformIndices.xml @@ -0,0 +1,128 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glGetUniformIndices + 3G + + + glGetUniformIndices + retrieve the index of a named uniform block + + + C Specification + + + void glGetUniformIndices + GLuint program + GLsizei uniformCount + const GLchar **uniformNames + GLuint *uniformIndices + + + + Parameters + + + program + + + Specifies the name of a program containing uniforms whose indices to query. + + + + + uniformCount + + + Specifies the number of uniforms whose indices to query. + + + + + uniformNames + + + Specifies the address of an array of pointers to buffers containing the names of the queried uniforms. + + + + + uniformIndices + + + Specifies the address of an array that will receive the indices of the uniforms. + + + + + + Description + + glGetUniformIndices retrieves the indices of a number of uniforms within program. + + + program must be the name of a program object for which the command + glLinkProgram must have been called in the past, although it is not required that + glLinkProgram must have succeeded. The link could have failed because the number + of active uniforms exceeded the limit. + + + uniformCount indicates both the number of elements in the array of names uniformNames and the + number of indices that may be written to uniformIndices. + + + uniformNames contains a list of uniformCount nul-terminated name strings identifying the + uniform names to be queried for indices. For each name string in uniformNames, the index assigned to the active + uniform of that name will be written to the corresponding element of uniformIndices. If a string in + uniformNames is not the name of an active uniform, the special value GL_INVALID_INDEX will + be written to the corresponding element of uniformIndices. + + + If an error occurs, nothing is written to uniformIndices. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the name of a program object for which + glLinkProgram has been called in the past. + + + + API Version Support + + + + + + glGetUniformIndices + + + + + + + See Also + + glGetActiveUniform, + glGetActiveUniformsiv, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetUniformLocation.xml b/Source/Bind/Specifications/Docs/ES31/glGetUniformLocation.xml new file mode 100644 index 00000000..cacab4ca --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetUniformLocation.xml @@ -0,0 +1,163 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetUniformLocation + 3G + + + glGetUniformLocation + Returns the location of a uniform variable + + + C Specification + + + GLint glGetUniformLocation + GLuint program + const GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + name + + Points to a null terminated string containing + the name of the uniform variable whose location is + to be queried. + + + + + Description + glGetUniformLocation returns an + integer that represents the location of a specific uniform + variable within a the default uniform block of a program object. + name must be a null terminated string + that contains no white space. name must + be an active uniform variable name in program + that is not a structure, an array of structures, or a subcomponent + of a vector or a matrix. This function returns -1 if + name does not correspond to an active uniform variable in + program or if name + is associated with a named uniform block. + + + Uniform variables that are structures or arrays of + structures may be queried by calling + glGetUniformLocation for each field within + the structure. The array element operator "[]" and the + structure field operator "." may be used in + name in order to select elements within + an array or fields within a structure. The result of using these + operators is not allowed to be another structure, an array of + structures, or a subcomponent of a vector or a matrix. + The first element of a uniform array is identified using the name + of the uniform array appended with "[0]". If the last part + of the string name indicates a uniform array, then the location of the + first element of that array can be retrieved by either using the name of + the array, or by using the name appended by "[0]". + + + Locations for sequential array indices are not required to be sequential. The + location for "a[1]" may or may not be equal to the location for + "a[0]" + 1. Furthermore, since unused elements at the end of uniform + arrays may be trimmed the location of the i + 1 array element may not be valid + even if the location of the i element is valid. As a direct consequence, the + value of the location of "a[0]" + 1 may refer to a different uniform + entirely. Applications that wish to set individual array elements should query + the locations of each element separately. + + + The actual locations assigned to uniform variables are not + known until the program object is linked successfully. After + linking has occurred, the command + glGetUniformLocation can be used to obtain + the location of a uniform variable. This location value can then + be passed to + glUniform + to set the value of the uniform variable or to + glGetUniform + in order to query the current value of the uniform variable. + After a program object has been linked successfully, the index + values for uniform variables remain fixed until the next link + command occurs. Uniform variable locations and values can only + be queried after a link if the link was successful. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + + Associated Gets + glGetActiveUniform + with arguments program and the index of + an active uniform variable + + glGetProgramiv + with arguments program and + GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH + + glGetUniform + with arguments program and the name of a + uniform variable + glIsProgram + + + API Version Support + + + + + + glGetUniformLocation + + + + + + + See Also + glLinkProgram, + glUniform + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetVertexAttrib.xml b/Source/Bind/Specifications/Docs/ES31/glGetVertexAttrib.xml new file mode 100644 index 00000000..4a1b3c9a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetVertexAttrib.xml @@ -0,0 +1,302 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetVertexAttrib + 3G + + + glGetVertexAttrib + glGetVertexAttribfv + glGetVertexAttribiv + glGetVertexAttribIiv + glGetVertexAttribIuiv + Return a generic vertex attribute parameter + + + C Specification + + + void glGetVertexAttribfv + GLuint index + GLenum pname + GLfloat *params + + + void glGetVertexAttribiv + GLuint index + GLenum pname + GLint *params + + + void glGetVertexAttribIiv + GLuint index + GLenum pname + GLint *params + + + void glGetVertexAttribIuiv + GLuint index + GLenum pname + GLuint *params + + + + Parameters + + + index + + Specifies the generic vertex attribute + parameter to be queried. + + + + pname + + Specifies the symbolic name of the vertex + attribute parameter to be queried. Accepted values are + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, + GL_VERTEX_ATTRIB_ARRAY_ENABLED, + GL_VERTEX_ATTRIB_ARRAY_SIZE, + GL_VERTEX_ATTRIB_ARRAY_STRIDE, + GL_VERTEX_ATTRIB_ARRAY_TYPE, + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, + GL_VERTEX_ATTRIB_ARRAY_INTEGER, + GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or + GL_CURRENT_VERTEX_ATTRIB. + + + + params + + Returns the requested data. + + + + + Description + glGetVertexAttrib returns in + params the value of a generic vertex + attribute parameter. The generic vertex attribute to be queried + is specified by index, and the parameter + to be queried is specified by pname. + + The accepted parameter names are as follows: + + + + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + + + + params returns a + single value, the name of the buffer object currently bound to + the binding point corresponding to generic vertex attribute array + index. If no buffer object is bound, + 0 is returned. The initial value is 0. + + + + + GL_VERTEX_ATTRIB_ARRAY_ENABLED + + + + params returns a + single value that is non-zero (true) if the vertex + attribute array for index is + enabled and 0 (false) if it is disabled. The initial + value is GL_FALSE. + + + + + GL_VERTEX_ATTRIB_ARRAY_SIZE + + + + params returns a + single value, the size of the vertex attribute array + for index. The size is the + number of values for each element of the vertex + attribute array, and it will be 1, 2, 3, or 4. The + initial value is 4. + + + + + GL_VERTEX_ATTRIB_ARRAY_STRIDE + + + + params returns a + single value, the array stride for (number of bytes + between successive elements in) the vertex attribute + array for index. A value of 0 + indicates that the array elements are stored + sequentially in memory. The initial value is 0. + + + + + GL_VERTEX_ATTRIB_ARRAY_TYPE + + + + params returns a + single value, a symbolic constant indicating the + array type for the vertex attribute array for + index. Possible values are + GL_BYTE, + GL_UNSIGNED_BYTE, + GL_SHORT, + GL_UNSIGNED_SHORT, + GL_INT, + GL_INT_2_10_10_10_REV, + GL_UNSIGNED_INT, + GL_FIXED, + GL_HALF_FLOAT, and + GL_FLOAT. The initial value is + GL_FLOAT. + + + + + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED + + + + params returns a + single value that is non-zero (true) if fixed-point + data types for the vertex attribute array indicated + by index are normalized when + they are converted to floating point, and 0 (false) + otherwise. The initial value is + GL_FALSE. + + + + + GL_VERTEX_ATTRIB_ARRAY_INTEGER + + + + params returns a + single value that is non-zero (true) if fixed-point + data types for the vertex attribute array indicated + by index have integer data types, and 0 (false) + otherwise. The initial value is + 0 (GL_FALSE). + + + + + GL_VERTEX_ATTRIB_ARRAY_DIVISOR + + + + params returns a + single value that is the frequency divisor used for instanced + rendering. See glVertexAttribDivisor. + The initial value is 0. + + + + + GL_CURRENT_VERTEX_ATTRIB + + + + params returns four + values that represent the current value for the + generic vertex attribute specified by index. The initial value + for all generic vertex attributes is (0,0,0,1). + + + + + All of the parameters except GL_CURRENT_VERTEX_ATTRIB + represent state stored in the currently bound vertex array object. If the zero object + is bound, these values are client state. + + + Notes + If an error is generated, no change is made to the + contents of params. + + Errors + + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_ENUM is generated if + pname is not an accepted value. + + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + + API Version Support + + + + + + glGetVertexAttribfv + + + + glGetVertexAttribiv + + + + glGetVertexAttribIiv + + + + glGetVertexAttribIuiv + + + + + + + See Also + glBindAttribLocation, + glBindBuffer, + glDisableVertexAttribArray, + glEnableVertexAttribArray, + glVertexAttrib, + glVertexAttribDivisor, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glGetVertexAttribPointerv.xml b/Source/Bind/Specifications/Docs/ES31/glGetVertexAttribPointerv.xml new file mode 100644 index 00000000..53bd6250 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glGetVertexAttribPointerv.xml @@ -0,0 +1,119 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glGetVertexAttribPointerv + 3G + + + glGetVertexAttribPointerv + return the address of the specified generic vertex attribute pointer + + + C Specification + + + void glGetVertexAttribPointerv + GLuint index + GLenum pname + GLvoid **pointer + + + + Parameters + + + index + + Specifies the generic vertex attribute + parameter to be returned. + + + + pname + + Specifies the symbolic name of the generic + vertex attribute parameter to be returned. Must be + GL_VERTEX_ATTRIB_ARRAY_POINTER. + + + + pointer + + Returns the pointer value. + + + + + Description + glGetVertexAttribPointerv returns + pointer information. index is the generic + vertex attribute to be queried, pname is + a symbolic constant indicating the pointer to be returned, and + params is a pointer to a location in + which to place the returned data. + + The pointer returned is a byte offset into the data store of the buffer object + that was bound to the GL_ARRAY_BUFFER target + (see glBindBuffer) when the desired pointer was previously specified. + + + Notes + The state returned is retrieved from the currently bound vertex array object. If the zero object is bound, + the value is queried from client state. + The initial value for each pointer is 0. + + Errors + + GL_INVALID_VALUE + is generated if index + is greater than or equal to GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_ENUM + is generated if pname + is not an accepted value. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + + API Version Support + + + + + + glGetVertexAttribPointerv + + + + + + + See Also + glGetVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glHint.xml b/Source/Bind/Specifications/Docs/ES31/glHint.xml new file mode 100644 index 00000000..ae017d25 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glHint.xml @@ -0,0 +1,171 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glHint + 3G + + + glHint + specify implementation-specific hints + + + C Specification + + + void glHint + GLenum target + GLenum mode + + + + Parameters + + + target + + + Specifies a symbolic constant indicating the behavior to be controlled. + GL_FRAGMENT_SHADER_DERIVATIVE_HINT, and + GL_GENERATE_MIPMAP_HINT + are accepted. + + + + + mode + + + Specifies a symbolic constant indicating the desired behavior. + GL_FASTEST, + GL_NICEST, and + GL_DONT_CARE are accepted. + + + + + + Description + + Certain aspects of GL behavior, + when there is room for interpretation, + can be controlled with hints. + A hint is specified with two arguments. + target is a symbolic + constant indicating the behavior to be controlled, + and mode is another symbolic constant indicating the desired + behavior. The initial value for each target is GL_DONT_CARE. + mode can be one of the following: + + + + GL_FASTEST + + + + + The most efficient option should be chosen. + + + + + GL_NICEST + + + + + The most correct, + or highest quality, + option should be chosen. + + + + + GL_DONT_CARE + + + + + No preference. + + + + + + Though the implementation aspects that can be hinted are well defined, + the interpretation of the hints depends on the implementation. + The hint aspects that can be specified with target, + along with suggested semantics, + are as follows: + + + + GL_FRAGMENT_SHADER_DERIVATIVE_HINT + + + + + Indicates the accuracy of the derivative calculation for the GL shading language fragment processing built-in functions: + dFdx, dFdy, and fwidth. + + + + + GL_GENERATE_MIPMAP_HINT + + + Indicates the quality of filtering when generating mipmap images with + glGenerateMipmap. + + + + + + Notes + + The interpretation of hints depends on the implementation. + Some implementations ignore glHint settings. + + + Errors + + GL_INVALID_ENUM is generated if either target or mode is not + an accepted value. + + + + API Version Support + + + + + + glHint + + + + + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glInvalidateFramebuffer.xml b/Source/Bind/Specifications/Docs/ES31/glInvalidateFramebuffer.xml new file mode 100644 index 00000000..65375ec1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glInvalidateFramebuffer.xml @@ -0,0 +1,144 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glInvalidateFramebuffer + 3G + + + glInvalidateFramebuffer + Invalidate the contents of attachments within a framebuffer + + + C Specification + + + void glInvalidateFramebuffer + GLenum target + GLsizei numAttachments + const GLenum *attachments + + + + Parameters + + + target + + + Specifies the target of the invalidate operation. Must be GL_FRAMEBUFFER. + + + + + numAttachments + + + Specifies how many attachments are supplied in the attachments list. + + + + + attachments + + + A list of numAttachments attachments to invalidate. + + + + + + Description + + glInvalidateFramebuffer signals to the GL + that it need not preserve all pixels of a bound framebuffer + object. attachments contains a list of + numAttachments to be invalidated. If an + attachment is specified that does not exist in the bound + framebuffer, it is ignored. + + + If a framebuffer object is bound, then + attachments may contain + GL_COLOR_ATTACHMENTi, + GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT, and/or + GL_DEPTH_STENCIL_ATTACHMENT. If the + framebuffer object is not complete, + glInvalidateFramebuffer may be ignored. + + + If the default framebuffer is bound, then + attachments may contain + GL_COLOR, identifying the color buffer; + GL_DEPTH, identifying the depth buffer; + and/or GL_STENCIL, identifying the stencil + buffer. + + + Notes + + The intention of this function is to provide a hint to the GL + implementation that there is no longer a need to preserve the + contents of particular attachments of a framebuffer object, or + the default framebuffer. It is possible, for example, to signal + the intention that depth and or stencil data is no longer needed + at the end of a scene, or that multisample color buffer data is + no longer needed after a resolve through + glBlitFramebuffer. + + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_FRAMEBUFFER. + + + GL_INVALID_OPERATION is generated if + attachments contains + GL_COLOR_ATTACHMENTm and m is greater than + or equal to the value of + GL_MAX_COLOR_ATTACHMENTS. + + + + API Version Support + + + + + + glInvalidateFramebuffer + + + + + + + See Also + + glBindFramebuffer, + glBlitFramebuffer + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFramebufferTextureLayer, + glInvalidateSubFramebuffer + + + Copyright + + Copyright 2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glInvalidateSubFramebuffer.xml b/Source/Bind/Specifications/Docs/ES31/glInvalidateSubFramebuffer.xml new file mode 100644 index 00000000..553b398c --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glInvalidateSubFramebuffer.xml @@ -0,0 +1,186 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glInvalidateSubFramebuffer + 3G + + + glInvalidateSubFramebuffer + Invalidate portions of the contents of attachments within a framebuffer + + + C Specification + + + void glInvalidateSubFramebuffer + GLenum target + GLsizei numAttachments + const GLenum *attachments + GLintx + GLinty + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies the target of the invalidate operation. Must be GL_FRAMEBUFFER. + + + + + numAttachments + + + Specifies how many attachments are supplied in the attachments list. + + + + + attachments + + + A list of numAttachments attachments to invalidate. + + + + + x + + + Specifies the left origin of the pixel rectangle to invalidate, with lower left hand corner at (0,0). + + + + + y + + + Specifies the bottom origin of the pixel rectangle to invalidate, with lower left hand corner at (0,0). + + + + + width + + + Specifies the width of the pixel rectangle to invalidate. + + + + + height + + + Specifies the height of the pixel rectangle to invalidate. + + + + + + Description + + glInvalidateSubFramebuffer signals to the + GL that it need not preserve all pixels of a specified region of + a bound framebuffer object. attachments + contains a list of numAttachments to be + invalidated. If an attachment is specified that does not exist + in the bound framebuffer, it is ignored. + x, y, + width and height + specify the bounds of the pixel rectangle to invalidate. Any of + these pixels lying outside of the window allocated to the + current GL context, or outside of the image attached to the + currently bound framebuffer object, are ignored. + + + If a framebuffer object is bound, then + attachments may contain + GL_COLOR_ATTACHMENTi, + GL_DEPTH_ATTACHMENT, + GL_STENCIL_ATTACHMENT, and/or + GL_DEPTH_STENCIL_ATTACHMENT. If the + framebuffer object is not complete, + glInvalidateSubFramebuffer may be ignored. + + + If the default framebuffer is bound, then + attachments may contain + GL_COLOR, identifying the color buffer; + GL_DEPTH, identifying the depth buffer; + and/or GL_STENCIL, identifying the stencil + buffer. + + + Notes + + The intention of this function is to provide a hint to the GL + implementation that there is no longer a need to preserve the + contents of particular attachments of a framebuffer object, or + the default framebuffer. It is possible, for example, to signal + the intention that depth and or stencil data is no longer needed + at the end of a scene, or that multisample color buffer data is + no longer needed after a resolve through + glBlitFramebuffer. + + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_FRAMEBUFFER. + + + GL_INVALID_OPERATION is generated if + attachments contains + GL_COLOR_ATTACHMENTm and m is greater than + or equal to the value of + GL_MAX_COLOR_ATTACHMENTS. + + + + API Version Support + + + + + + glInvalidateSubFramebuffer + + + + + + + See Also + + glBindFramebuffer, + glBlitFramebuffer + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFramebufferTextureLayer, + glInvalidateFramebuffer + + + Copyright + + Copyright 2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsBuffer.xml b/Source/Bind/Specifications/Docs/ES31/glIsBuffer.xml new file mode 100644 index 00000000..7c2ee58e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsBuffer.xml @@ -0,0 +1,87 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glIsBuffer + 3G + + + glIsBuffer + determine if a name corresponds to a buffer object + + + C Specification + + + GLboolean glIsBuffer + GLuint buffer + + + + Parameters + + + buffer + + + Specifies a value that may be the name of a buffer object. + + + + + + Description + + glIsBuffer returns GL_TRUE if buffer is currently the name of a buffer object. + If buffer is zero, or is a non-zero value that is not currently the + name of a buffer object, or if an error occurs, glIsBuffer returns GL_FALSE. + + + A name returned by glGenBuffers, but not yet associated with a buffer object + by calling glBindBuffer, is not the name of a buffer object. + + + + API Version Support + + + + + + glIsBuffer + + + + + + + See Also + + glBindBuffer, + glDeleteBuffers, + glGenBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsEnabled.xml b/Source/Bind/Specifications/Docs/ES31/glIsEnabled.xml new file mode 100644 index 00000000..8ac74d07 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsEnabled.xml @@ -0,0 +1,206 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glIsEnabled + 3G + + + glIsEnabled + test whether a capability is enabled + + + C Specification + + + GLboolean glIsEnabled + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + index + + + Specifies the index of the capability. + + + + + + Description + + glIsEnabled returns GL_TRUE if cap is an enabled capability + and returns GL_FALSE otherwise. Initially all capabilities except GL_DITHER are disabled; + GL_DITHER is initially enabled. + + + The following capabilities are accepted for cap: + + + + + + + + + + + Constant + + + See + + + + + + + GL_BLEND + + + glBlendFunc + + + + + GL_CULL_FACE + + + glCullFace + + + + + GL_DEPTH_TEST + + + glDepthFunc, glDepthRangef + + + + + GL_DITHER + + + glEnable + + + + + GL_POLYGON_OFFSET_FILL + + + glPolygonOffset + + + + + GL_PRIMITIVE_RESTART_FIXED_INDEX + + + glEnable + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + glSampleCoverage + + + + + GL_SAMPLE_COVERAGE + + + glSampleCoverage + + + + + GL_SCISSOR_TEST + + + glScissor + + + + + GL_STENCIL_TEST + + + glStencilFunc, glStencilOp + + + + + + + + + Notes + + If an error is generated, + glIsEnabled returns GL_FALSE. + + + Errors + + GL_INVALID_ENUM is generated if cap is not an accepted value. + + + + API Version Support + + + + + + glIsEnabled + + + + + + + See Also + + glEnable, + glDisable, + glGet + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsFramebuffer.xml b/Source/Bind/Specifications/Docs/ES31/glIsFramebuffer.xml new file mode 100644 index 00000000..62de2fda --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsFramebuffer.xml @@ -0,0 +1,80 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsFramebuffer + 3G + + + glIsFramebuffer + determine if a name corresponds to a framebuffer object + + + C Specification + + + GLboolean glIsFramebuffer + GLuint framebuffer + + + + Parameters + + + framebuffer + + + Specifies a value that may be the name of a framebuffer object. + + + + + + Description + + glIsFramebuffer returns GL_TRUE if framebuffer is currently the name of a framebuffer + object. If framebuffer is zero, or if framebuffer is not the name of a framebuffer object, or if an error + occurs, glIsFramebuffer returns GL_FALSE. If framebuffer is a name returned by + glGenFramebuffers, by that has not yet been bound through a call to + glBindFramebuffer, then the name is not a framebuffer object and glIsFramebuffer + returns GL_FALSE. + + + + API Version Support + + + + + + glIsFramebuffer + + + + + + + See Also + + glGenFramebuffers, + glBindFramebuffer, + glDeleteFramebuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsProgram.xml b/Source/Bind/Specifications/Docs/ES31/glIsProgram.xml new file mode 100644 index 00000000..f38c72e6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsProgram.xml @@ -0,0 +1,129 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glIsProgram + 3G + + + glIsProgram + Determines if a name corresponds to a program object + + + C Specification + + + GLboolean glIsProgram + GLuint program + + + + Parameters + + + program + + Specifies a potential program object. + + + + + Description + glIsProgram returns + GL_TRUE if program + is the name of a program object previously created with + glCreateProgram + and not yet deleted with glDeleteProgram. + If program is zero or a non-zero value that + is not the name of a program object, or if an error occurs, + glIsProgram returns GL_FALSE. + + Notes + No error is generated if program is + not a valid program object name. + + A program object marked for deletion with glDeleteProgram + but still in use as part of current rendering state is still considered + a program object and glIsProgram will return GL_TRUE. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with arguments program and the index of + an active attribute variable + + glGetActiveUniform + with arguments program and the index of + an active uniform variable + + glGetAttachedShaders + with argument program + + glGetAttribLocation + with arguments program and the name of an + attribute variable + + glGetProgramiv + with arguments program and the parameter + to be queried + + glGetProgramInfoLog + with argument program + + glGetUniform + with arguments program and the location + of a uniform variable + + glGetUniformLocation + with arguments program and the name of a + uniform variable + + + API Version Support + + + + + + glIsProgram + + + + + + + See Also + glAttachShader, + glBindAttribLocation, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsProgramPipeline.xml b/Source/Bind/Specifications/Docs/ES31/glIsProgramPipeline.xml new file mode 100644 index 00000000..a8a45249 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsProgramPipeline.xml @@ -0,0 +1,83 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsProgramPipeline + 3G + + + glIsProgramPipeline + determine if a name corresponds to a program pipeline object + + + C Specification + + + GLboolean glIsProgramPipeline + GLuint pipeline + + + + Parameters + + + pipeline + + + Specifies a value that may be the name of a program pipeline object. + + + + + + Description + + glIsProgramPipeline returns GL_TRUE if + pipeline is currently the name of a program pipeline object. + If pipeline is zero, or if pipeline is not the + name of a program pipeline object, or if an error occurs, glIsProgramPipeline + returns GL_FALSE. If pipeline is a name returned by + glGenProgramPipelines, but that + has not yet been bound through a call to glBindProgramPipeline, + then the name is not a program pipeline object and glIsProgramPipeline + returns GL_FALSE. + + + + API Version Support + + + + + + glIsProgramPipeline + + + + + + + See Also + + glGenProgramPipelines, + glBindProgramPipeline, + glDeleteProgramPipeline + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsQuery.xml b/Source/Bind/Specifications/Docs/ES31/glIsQuery.xml new file mode 100644 index 00000000..7da4af80 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsQuery.xml @@ -0,0 +1,87 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2014 + Khronos Group + + + + glIsQuery + 3G + + + glIsQuery + determine if a name corresponds to a query object + + + C Specification + + + GLboolean glIsQuery + GLuint id + + + + Parameters + + + id + + + Specifies a value that may be the name of a query object. + + + + + + Description + + glIsQuery returns GL_TRUE if id is currently the name of a query object. + If id is zero, or is a non-zero value that is not currently the + name of a query object, or if an error occurs, glIsQuery returns GL_FALSE. + + + A name returned by glGenQueries, but not yet associated with a query object + by calling glBeginQuery, is not the name of a query object. + + + + API Version Support + + + + + + glIsQuery + + + + + + + See Also + + glBeginQuery, + glDeleteQueries, + glEndQuery, + glGenQueries + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsRenderbuffer.xml b/Source/Bind/Specifications/Docs/ES31/glIsRenderbuffer.xml new file mode 100644 index 00000000..818b0b34 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsRenderbuffer.xml @@ -0,0 +1,81 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsRenderbuffer + 3G + + + glIsRenderbuffer + determine if a name corresponds to a renderbuffer object + + + C Specification + + + GLboolean glIsRenderbuffer + GLuint renderbuffer + + + + Parameters + + + renderbuffer + + + Specifies a value that may be the name of a renderbuffer object. + + + + + + Description + + glIsRenderbuffer returns GL_TRUE if renderbuffer is currently the name of a renderbuffer + object. If renderbuffer is zero, or if renderbuffer is not the name of a renderbuffer object, or if an error + occurs, glIsRenderbuffer returns GL_FALSE. If renderbuffer is a name returned by + glGenRenderbuffers, by that has not yet been bound through a call to + glBindRenderbuffer or glFramebufferRenderbuffer, + then the name is not a renderbuffer object and glIsRenderbuffer returns GL_FALSE. + + + + API Version Support + + + + + + glIsRenderbuffer + + + + + + + See Also + + glGenRenderbuffers, + glBindRenderbuffer, + glFramebufferRenderbuffer, + glDeleteRenderbuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsSampler.xml b/Source/Bind/Specifications/Docs/ES31/glIsSampler.xml new file mode 100644 index 00000000..239e2ea5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsSampler.xml @@ -0,0 +1,80 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsSampler + 3G + + + glIsSampler + determine if a name corresponds to a sampler object + + + C Specification + + + GLboolean glIsSampler + GLuint id + + + + Parameters + + + id + + + Specifies a value that may be the name of a sampler object. + + + + + + Description + + glIsSampler returns GL_TRUE if id is currently the name of a sampler object. + If id is zero, or is a non-zero value that is not currently the + name of a sampler object, or if an error occurs, glIsSampler returns GL_FALSE. + + + A name returned by glGenSamplers, is the name of a sampler object. + + + + API Version Support + + + + + + glIsSampler + + + + + + + See Also + + glGenSamplers, + glBindSampler, + glDeleteSamplers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsShader.xml b/Source/Bind/Specifications/Docs/ES31/glIsShader.xml new file mode 100644 index 00000000..b6aa97c2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsShader.xml @@ -0,0 +1,108 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glIsShader + 3G + + + glIsShader + Determines if a name corresponds to a shader object + + + C Specification + + + GLboolean glIsShader + GLuint shader + + + + Parameters + + + shader + + Specifies a potential shader object. + + + + + Description + glIsShader returns + GL_TRUE if shader is + the name of a shader object previously created with + glCreateShader + and not yet deleted with glDeleteShader. + If shader is + zero or a non-zero value that is not the name of a shader + object, or if an error occurs, glIsShader returns + GL_FALSE. + + Notes + No error is generated if shader is + not a valid shader object name. + + A shader object marked for deletion with glDeleteShader + but still attached to a program object is still considered + a shader object and glIsShader will return GL_TRUE. + + Associated Gets + glGetAttachedShaders + with a valid program object + + glGetShaderiv + with arguments shader and a parameter to + be queried + + glGetShaderInfoLog + with argument object + + glGetShaderSource + with argument object + + + API Version Support + + + + + + glIsShader + + + + + + + See Also + glAttachShader, + glCompileShader, + glCreateShader, + glDeleteShader, + glDetachShader, + glLinkProgram, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsSync.xml b/Source/Bind/Specifications/Docs/ES31/glIsSync.xml new file mode 100644 index 00000000..ed813e9a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsSync.xml @@ -0,0 +1,78 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsSync + 3G + + + glIsSync + determine if a name corresponds to a sync object + + + C Specification + + + GLboolean glIsSync + GLsync sync + + + + Parameters + + + sync + + + Specifies a value that may be the name of a sync object. + + + + + + Description + + glIsSync returns GL_TRUE if sync is currently the name of a sync object. + If sync is not the name of a sync object, or if an error occurs, glIsSync returns + GL_FALSE. Note that zero is not the name of a sync object. + + + + API Version Support + + + + + + glIsSync + + + + + + + See Also + + glFenceSync, + glWaitSync, + glClientWaitSync, + glDeleteSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsTexture.xml b/Source/Bind/Specifications/Docs/ES31/glIsTexture.xml new file mode 100644 index 00000000..5fad8cfb --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsTexture.xml @@ -0,0 +1,92 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glIsTexture + 3G + + + glIsTexture + determine if a name corresponds to a texture + + + C Specification + + + GLboolean glIsTexture + GLuint texture + + + + Parameters + + + texture + + + Specifies a value that may be the name of a texture. + + + + + + Description + + glIsTexture returns GL_TRUE if texture is currently the name of a texture. + If texture is zero, or is a non-zero value that is not currently the + name of a texture, or if an error occurs, glIsTexture returns GL_FALSE. + + + A name returned by glGenTextures, but not yet associated with a texture + by calling glBindTexture, is not the name of a texture. + + + + API Version Support + + + + + + glIsTexture + + + + + + + See Also + + glBindTexture, + glCopyTexImage2D, + glDeleteTextures, + glGenTextures, + glGet, + glGetTexParameter, + glTexImage2D, + glTexImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES31/glIsTransformFeedback.xml new file mode 100644 index 00000000..6e9d2ca4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsTransformFeedback.xml @@ -0,0 +1,80 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsTransformFeedback + 3G + + + glIsTransformFeedback + determine if a name corresponds to a transform feedback object + + + C Specification + + + GLboolean glIsTransformFeedback + GLuint id + + + + Parameters + + + id + + + Specifies a value that may be the name of a transform feedback object. + + + + + + Description + + glIsTransformFeedback returns GL_TRUE if id is currently the name of a transform feedback + object. If id is zero, or if id is not the name of a transform feedback object, or if an error + occurs, glIsTransformFeedback returns GL_FALSE. If id is a name returned by + glGenTransformFeedbacks, but that has not yet been bound through a call to + glBindTransformFeedback, then the name is not a transform feedback object and glIsTransformFeedback + returns GL_FALSE. + + + + API Version Support + + + + + + glIsTransformFeedback + + + + + + + See Also + + glGenTransformFeedbacks, + glBindTransformFeedback, + glDeleteTransformFeedbacks + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glIsVertexArray.xml b/Source/Bind/Specifications/Docs/ES31/glIsVertexArray.xml new file mode 100644 index 00000000..ece5afff --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glIsVertexArray.xml @@ -0,0 +1,80 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glIsVertexArray + 3G + + + glIsVertexArray + determine if a name corresponds to a vertex array object + + + C Specification + + + GLboolean glIsVertexArray + GLuint array + + + + Parameters + + + array + + + Specifies a value that may be the name of a vertex array object. + + + + + + Description + + glIsVertexArray returns GL_TRUE if array is currently the name of a vertex array + object. If array is zero, or if array is not the name of a vertex array object, or if an error + occurs, glIsVertexArray returns GL_FALSE. If array is a name returned by + glGenVertexArrays, by that has not yet been bound through a call to + glBindVertexArray, then the name is not a vertex array object and + glIsVertexArray returns GL_FALSE. + + + + API Version Support + + + + + + glIsVertexArray + + + + + + + See Also + + glGenVertexArrays, + glBindVertexArray, + glDeleteVertexArrays + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glLineWidth.xml b/Source/Bind/Specifications/Docs/ES31/glLineWidth.xml new file mode 100644 index 00000000..2770ddf1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glLineWidth.xml @@ -0,0 +1,138 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glLineWidth + 3G + + + glLineWidth + specify the width of rasterized lines + + + C Specification + + + void glLineWidth + GLfloat width + + + + Parameters + + + width + + + Specifies the width of rasterized lines. + The initial value is 1. + + + + + + Description + + glLineWidth specifies the rasterized width of + lines. + + + The actual width is determined by rounding the supplied width + to the nearest integer. + (If the rounding results in the value 0, + it is as if the line width were 1.) + If + + + + + + Δ + x + + + >= + + + Δ + y + + + + , + i pixels are filled in each column that is rasterized, + where i is the rounded value of width. + Otherwise, + i pixels are filled in each row that is rasterized. + + + There is a range of supported line widths. Only width 1 is guaranteed to be supported; others depend on the + implementation. + To query the range of supported widths, call glGet + with argument GL_ALIASED_LINE_WIDTH_RANGE. + + + Notes + + The line width specified by glLineWidth is always returned when GL_LINE_WIDTH + is queried. + Clamping and rounding have no effect on the specified value. + + + Line width may be clamped to an implementation-dependent maximum. Call glGet with GL_ALIASED_LINE_WIDTH_RANGE to determine the maximum width. + + + Errors + + GL_INVALID_VALUE is generated if width is less than or equal to 0. + + + Associated Gets + + glGet with argument GL_LINE_WIDTH + + + glGet with argument GL_ALIASED_LINE_WIDTH_RANGE + + + + API Version Support + + + + + + glLineWidth + + + + + + + See Also + + glEnable + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glLinkProgram.xml b/Source/Bind/Specifications/Docs/ES31/glLinkProgram.xml new file mode 100644 index 00000000..6616f16e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glLinkProgram.xml @@ -0,0 +1,268 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glLinkProgram + 3G + + + glLinkProgram + Links a program object + + + C Specification + + + void glLinkProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object to be linked. + + + + + + Description + glLinkProgram links the program + object specified by program. Shader objects + of type GL_VERTEX_SHADER attached to + program are used to + create an executable that will run on the programmable vertex + processor. Shader objects of type GL_FRAGMENT_SHADER + attached to program are used to create an + executable that will run on the programmable fragment + processor. + + The status of the link operation will be stored as part of + the program object's state. This value will be set to + GL_TRUE if the program object was linked + without errors and is ready for use, and + GL_FALSE otherwise. It can be queried by + calling + glGetProgramiv + with arguments program and + GL_LINK_STATUS. + + As a result of a successful link operation, all active + user-defined uniform variables belonging to + program will be initialized to 0, and + each of the program object's active uniform variables will be + assigned a location that can be queried by calling + glGetUniformLocation. + All active uniforms belonging to the program’s named uniform blocks are + assigned offsets (and strides for array and matrix type uniforms) within + the uniform block. Also, any active user-defined attribute variables that have not + been bound to a generic vertex attribute index will be bound to + one at this time. + + Linking of a program object can fail for a number of + reasons as specified in the OpenGL ES Shading Language + Specification. The following lists some of the + conditions that will cause a link error. + + + + A vertex shader and a fragment shader are not both + present in the program object. + + + The vertex and fragment shader do not use the same + shader language version. + + + The number of active attribute variables supported + by the implementation has been exceeded. + + + The storage limit for uniform variables has been + exceeded. + + + The number of active uniform variables supported + by the implementation has been exceeded. + + + The main function is missing + for the vertex or fragment shader. + + + A varying variable actually used in the fragment + shader is not declared in the same way (or is not + declared at all) in the vertex shader. + + + A reference to a function or variable name is + unresolved. + + + A shared global is declared with two different + types or two different initial values. + + + One or more of the attached shader objects has not + been successfully compiled (via glCompileShader) + or loaded with a pre-compiled shader binary + (via glShaderBinary). + + + Binding a generic attribute matrix caused some + rows of the matrix to fall outside the allowed maximum + of GL_MAX_VERTEX_ATTRIBS. + + + Not enough contiguous vertex attribute slots could + be found to bind attribute matrices. + + + Any variable name specified to glTransformFeedbackVaryings + in the varyings array is not declared as an output in the vertex shader. + + + Any two entries in the varyings array given + glTransformFeedbackVaryings + specify the same varying variable. + + + The total number of components to capture in any transform feedback varying variable + is greater than the constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS + and the buffer mode is GL_SEPARATE_ATTRIBS. + + + The total number of components to capture in any transform feedback varying variable + is greater than the constant GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS + and the buffer mode is GL_INTERLEAVED_ATTRIBS. + + + + When a program object has been successfully linked, the + program object can be made part of current state by calling + glUseProgram. + Whether or not the link operation was successful, the program + object's information log will be overwritten. The information + log can be retrieved by calling + glGetProgramInfoLog. + + glLinkProgram will also install the + generated executables as part of the current rendering state if + the link operation was successful and the specified program + object is already currently in use as a result of a previous + call to + glUseProgram. + If the program object currently in use is relinked + unsuccessfully, its link status will be set to + GL_FALSE , but the executables and + associated state will remain part of the current state until a + subsequent call to glUseProgram removes it + from use. After it is removed from use, it cannot be made part + of current state until it has been successfully relinked. + + The program object's information log is updated and the + program is generated at the time of the link operation. After + the link operation, applications are free to modify attached + shader objects, compile attached shader objects, detach shader + objects, delete shader objects, and attach additional shader + objects. None of these operations affects the information log or + the program that is part of the program object. + + Notes + If the link operation is unsuccessful, any information about a previous link operation on program + is lost (i.e., a failed link does not restore the old state of program + ). Certain information can still be retrieved from program + even after an unsuccessful link operation. See for instance glGetActiveAttrib + and glGetActiveUniform. + + Errors + GL_INVALID_VALUE + is generated if program + is not a value generated by OpenGL. + GL_INVALID_OPERATION + is generated if program + is not a program object. + GL_INVALID_OPERATION + is generated if program is the currently active program + object and transform feedback mode is active. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + glGetActiveAttrib + with argument program + and the index of an active attribute variable + glGetActiveUniform + with argument program + and the index of an active uniform variable + glGetActiveUniformBlockiv + with argument program + and the index of an active uniform block + glGetAttachedShaders + with argument program + glGetAttribLocation + with argument program + and an attribute variable name + glGetProgramiv + with arguments program + and GL_LINK_STATUS + glGetProgramInfoLog + with argument program + glGetUniform + with argument program + and a uniform variable location + glGetUniformLocation + with argument program + and a uniform variable name + glIsProgram + + + API Version Support + + + + + + glLinkProgram + + + + + + + See Also + glAttachShader, + glBindAttribLocation, + glCompileShader, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glMapBufferRange.xml b/Source/Bind/Specifications/Docs/ES31/glMapBufferRange.xml new file mode 100644 index 00000000..d8576418 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glMapBufferRange.xml @@ -0,0 +1,272 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glMapBufferRange + 3G + + + glMapBufferRange + map a section of a buffer object's data store + + + C Specification + + + void *glMapBufferRange + GLenum target + GLintptr offset + GLsizeiptr length + GLbitfield access + + + + + GLboolean glUnmapBuffer + GLenum target + + + + Parameters for <function>glMapBufferRange</function> + + + target + + + Specifies a binding to which the target buffer is bound. + + + + + offset + + + Specifies the starting offset within the buffer of the range to be mapped. + + + + + length + + + Specifies the length of the range to be mapped. + + + + + access + + + Specifies a combination of access flags indicating the desired access to the range. + + + + + + Parameters for <function>glUnmapBuffer</function> + + + target + + + Specifies a binding to which the target buffer is bound. + + + + + + + Description + + glMapBufferRange maps all or part of the data store of a buffer object into the client's address + space. target specifies the target to which the buffer is bound and must be one of GL_ARRAY_BUFFER, + GL_ATOMIC_COUNTER_BUFFER, GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, + GL_DISPATCH_INDIRECT_BUFFER, GL_DRAW_INDIRECT_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, GL_PIXEL_UNPACK_BUFFER, GL_SHADER_STORAGE_BUFFER, + GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER. offset and + length indicate the range of data in the buffer object that is to be mapped, in terms of basic machine units. + access is a bitfield containing flags which describe the requested mapping. These flags are described below. + + + If no error occurs, a pointer to the beginning of the mapped range is returned once all pending operations on that buffer have + completed, and may be used to modify and/or query the corresponding range of the buffer, according to the following flag bits set + in access: + + + + GL_MAP_READ_BIT indicates that the returned pointer may be used to read + buffer object data. No GL error is generated if the pointer is used to query + a mapping which excludes this flag, but the result is undefined and system + errors (possibly including program termination) may occur. + + + + + GL_MAP_WRITE_BIT indicates that the returned pointer may be used to modify + buffer object data. No GL error is generated if the pointer is used to modify + a mapping which excludes this flag, but the result is undefined and system + errors (possibly including program termination) may occur. + + + + + + Furthermore, the following optional flag bits in access may be used to modify the mapping: + + + + GL_MAP_INVALIDATE_RANGE_BIT indicates that the previous contents of the + specified range may be discarded. Data within this range are undefined with + the exception of subsequently written data. No GL error is generated if subsequent + GL operations access unwritten data, but the result is undefined and + system errors (possibly including program termination) may occur. This flag + may not be used in combination with GL_MAP_READ_BIT. + + + + + GL_MAP_INVALIDATE_BUFFER_BIT indicates that the previous contents of the + entire buffer may be discarded. Data within the entire buffer are undefined + with the exception of subsequently written data. No GL error is generated if + subsequent GL operations access unwritten data, but the result is undefined + and system errors (possibly including program termination) may occur. This + flag may not be used in combination with GL_MAP_READ_BIT. + + + + + GL_MAP_FLUSH_EXPLICIT_BIT indicates that one or more discrete subranges + of the mapping may be modified. When this flag is set, modifications to + each subrange must be explicitly flushed by calling glFlushMappedBufferRange. + No GL error is set if a subrange of the mapping is modified and + not flushed, but data within the corresponding subrange of the buffer are undefined. + This flag may only be used in conjunction with GL_MAP_WRITE_BIT. + When this option is selected, flushing is strictly limited to regions that are + explicitly indicated with calls to glFlushMappedBufferRange + prior to unmap; if this option is not selected glUnmapBuffer + will automatically flush the entire mapped range when called. + + + + + GL_MAP_UNSYNCHRONIZED_BIT indicates that the GL should not attempt to + synchronize pending operations on the buffer prior to returning from glMapBufferRange. + No GL error is generated if pending operations which source or modify the buffer overlap the mapped region, + but the result of such previous and any subsequent operations is undefined. + + + + + + If an error occurs, glMapBufferRange returns a NULL pointer. + + + A mapped data store must be unmapped with glUnmapBuffer before its buffer object is used. + Otherwise an error will be generated by any GL command that attempts to dereference the buffer object's data store. + When a data store is unmapped, the pointer to its data store becomes invalid. glUnmapBuffer + returns GL_TRUE unless the data store contents have become corrupt during the time + the data store was mapped. This can occur for system-specific reasons that affect the availability of graphics + memory, such as screen mode changes. In such situations, GL_FALSE is returned and the + data store contents are undefined. An application must detect this rare condition and reinitialize the data store. + + + A buffer object's mapped data store is automatically unmapped when the buffer object is deleted or its data store + is recreated with glBufferData. + + + Notes + + Mappings to the data stores of buffer objects may have nonstandard performance characteristics. + For example, such mappings may be marked as uncacheable regions of memory, and in such cases reading from them may be very slow. + To ensure optimal performance, the client should use the mapping in a fashion consistent + with the values of GL_BUFFER_USAGE and access. + Using a mapping in a fashion inconsistent with these values is liable to be multiple orders of magnitude slower + than using normal memory. + + + The GL_ATOMIC_COUNTER_BUFFER, GL_DISPATCH_INDIRECT_BUFFER, + GL_DRAW_INDIRECT_BUFFER and GL_SHADER_STORAGE_BUFFER + targets are available only if the GL ES version is 3.1 or greater. + + + Errors + + GL_INVALID_VALUE is generated if either of offset or length is negative, + or if offset + length is greater than the value of GL_BUFFER_SIZE. + + + GL_INVALID_VALUE is generated if access has any bits set other than those defined above. + + + GL_INVALID_OPERATION is generated for any of the following conditions: + + + + The buffer is already in a mapped state. + + + + + Neither GL_MAP_READ_BIT or GL_MAP_WRITE_BIT is set. + + + + + GL_MAP_READ_BIT is set and any of GL_MAP_INVALIDATE_RANGE_BIT, + GL_MAP_INVALIDATE_BUFFER_BIT, or GL_MAP_UNSYNCHRONIZED_BIT is set. + + + + + GL_MAP_FLUSH_EXPLICIT_BIT is set and GL_MAP_WRITE_BIT is not set. + + + + + + GL_OUT_OF_MEMORY is generated if glMapBufferRange fails because memory for the + mapping could not be obtained. + + + + API Version Support + + + + + + glMapBufferRange + + + + glUnmapBuffer + + + + + + + See Also + + glBindBuffer + glFlushMappedBufferRange, + glUnmapBuffer, + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glMemoryBarrier.xml b/Source/Bind/Specifications/Docs/ES31/glMemoryBarrier.xml new file mode 100644 index 00000000..f22ed99b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glMemoryBarrier.xml @@ -0,0 +1,312 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + glMemoryBarrier + 3G + + + glMemoryBarrier + defines a barrier ordering memory transactions + + + C Specification + + + void glMemoryBarrier + GLbitfield barriers + + + + Parameters + + + barriers + + + Specifies the barriers to insert. Must be a bitwise combination of GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT, + GL_ELEMENT_ARRAY_BARRIER_BIT, GL_UNIFORM_BARRIER_BIT, GL_TEXTURE_FETCH_BARRIER_BIT, + GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, GL_COMMAND_BARRIER_BIT, GL_PIXEL_BUFFER_BARRIER_BIT, + GL_TEXTURE_UPDATE_BARRIER_BIT, GL_BUFFER_UPDATE_BARRIER_BIT, + GL_FRAMEBUFFER_BARRIER_BIT, GL_TRANSFORM_FEEDBACK_BARRIER_BIT, GL_ATOMIC_COUNTER_BARRIER_BIT, + or GL_SHADER_STORAGE_BARRIER_BIT. + If the special value GL_ALL_BARRIER_BITS is specified, all supported barriers will be inserted. + + + + + + Description + + glMemoryBarrier defines a barrier ordering the memory transactions issued prior to the + command relative to those issued after the barrier. For the purposes of + this ordering, memory transactions performed by shaders are considered to + be issued by the rendering command that triggered the execution of the + shader. barriers is a bitfield indicating the set of operations that + are synchronized with shader stores; the bits used in barriers are as + follows: + + + + + GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT + + + If set, vertex data sourced from + buffer objects after the barrier will reflect data written by shaders + prior to the barrier. The set of buffer objects affected by this bit + is derived from the buffer object bindings used for + generic vertex attributes derived from the GL_VERTEX_ATTRIB_ARRAY_BUFFER bindings. + + + + + GL_ELEMENT_ARRAY_BARRIER_BIT + + + If set, vertex array indices sourced from + buffer objects after the barrier will reflect data written by shaders + prior to the barrier. The buffer objects affected by this bit are + derived from the GL_ELEMENT_ARRAY_BUFFER binding. + + + + + GL_UNIFORM_BARRIER_BIT + + + Shader uniforms sourced from buffer objects after the barrier will reflect data + written by shaders prior to the barrier. + + + + + GL_TEXTURE_FETCH_BARRIER_BIT + + + Texture fetches from shaders after the + barrier will reflect data written by shaders prior to the barrier. + + + + + GL_SHADER_IMAGE_ACCESS_BARRIER_BIT + + + Memory accesses using shader image + load, store, and atomic built-in functions issued after the barrier + will reflect data written by shaders prior to the barrier. + Additionally, image stores and atomics issued after the barrier will + not execute until all memory accesses (e.g., loads, stores, texture + fetches, vertex fetches) initiated prior to the barrier complete. + + + + + GL_COMMAND_BARRIER_BIT + + + Command data sourced from buffer objects by + Draw*Indirect commands after the barrier will reflect data written by + shaders prior to the barrier. The buffer objects affected by this bit + are derived from the GL_DRAW_INDIRECT_BUFFER binding. + + + + + GL_PIXEL_BUFFER_BARRIER_BIT + + + Reads and writes of buffer objects via the + GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER + bindings (via glReadPixels, + glTexSubImage, etc.) after the + barrier will reflect data written by shaders prior to the barrier. + Additionally, buffer object writes issued after the barrier will wait + on the completion of all shader writes initiated prior to the barrier. + + + + + GL_TEXTURE_UPDATE_BARRIER_BIT + + + Writes to a texture via glTex(Sub)Image*, + glCopyTex(Sub)Image*, glCompressedTex(Sub)Image* + after the barrier will reflect data written by shaders + prior to the barrier. Additionally, texture writes from these + commands issued after the barrier will not execute until all shader + writes initiated prior to the barrier complete. + + + + + GL_BUFFER_UPDATE_BARRIER_BIT + + + Reads or writes via glBufferSubData, + glCopyBufferSubData, or + to buffer object memory mapped by glMapBufferRange + after the barrier will reflect data written by shaders prior to the barrier. + Additionally, writes via these commands issued after the barrier will + wait on the completion of any shader writes to the same memory + initiated prior to the barrier. + + + + + GL_FRAMEBUFFER_BARRIER_BIT + + + Reads and writes via framebuffer object + attachments after the barrier will reflect data written by shaders + prior to the barrier. Additionally, framebuffer writes issued after + the barrier will wait on the completion of all shader writes issued + prior to the barrier. + + + + + GL_TRANSFORM_FEEDBACK_BARRIER_BIT + + + Writes via transform feedback + bindings after the barrier will reflect data written by shaders prior + to the barrier. Additionally, transform feedback writes issued after + the barrier will wait on the completion of all shader writes issued + prior to the barrier. + + + + + GL_ATOMIC_COUNTER_BARRIER_BIT + + + Accesses to atomic counters after the + barrier will reflect writes prior to the barrier. + + + + + GL_SHADER_STORAGE_BARRIER_BIT + + + Accesses to shader storage blocks after the + barrier will reflect writes prior to the barrier. + + + + + + + If barriers is GL_ALL_BARRIER_BITS, shader memory accesses + will be synchronized relative to all the operations described above. + + + Implementations may cache buffer object and texture image memory that + could be written by shaders in multiple caches; for example, there may be + separate caches for texture, vertex fetching, and one or more caches for + shader memory accesses. Implementations are not required to keep these + caches coherent with shader memory writes. Stores issued by one + invocation may not be immediately observable by other pipeline stages or + other shader invocations because the value stored may remain in a cache + local to the processor executing the store, or because data overwritten by + the store is still in a cache elsewhere in the system. When glMemoryBarrier + is called, the GL flushes and/or invalidates any caches relevant to the + operations specified by the barriers parameter to ensure consistent + ordering of operations across the barrier. + + + To allow for independent shader invocations to communicate by reads and + writes to a common memory address, image variables in the OpenGL ES Shading + Language may be declared as "coherent". Buffer object or texture image + memory accessed through such variables may be cached only if caches are + automatically updated due to stores issued by any other shader invocation. + If the same address is accessed using both coherent and non-coherent + variables, the accesses using variables declared as coherent will observe + the results stored using coherent variables in other invocations. Using + variables declared as "coherent" guarantees only that the results of + stores will be immediately visible to shader invocations using + similarly-declared variables; calling glMemoryBarrier is required to ensure + that the stores are visible to other operations. + + + The following guidelines may be helpful in choosing when to use coherent + memory accesses and when to use barriers. + + + + Data that are read-only or constant may be accessed without using + coherent variables or calling MemoryBarrier(). Updates to the + read-only data via API calls such as BufferSubData will invalidate + shader caches implicitly as required. + + Data that are shared between shader invocations at a fine granularity + (e.g., written by one invocation, consumed by another invocation) should + use coherent variables to read and write the shared data. + + Data written by one shader invocation and consumed by other shader + invocations launched as a result of its execution ("dependent + invocations") should use coherent variables in the producing shader + invocation and call memoryBarrier() after the last write. The consuming + shader invocation should also use coherent variables. + + Data written to image variables in one rendering pass and read by the + shader in a later pass need not use coherent variables or + memoryBarrier(). Calling MemoryBarrier() with the + SHADER_IMAGE_ACCESS_BARRIER_BIT set in barriers between passes is + necessary. + + Data written by the shader in one rendering pass and read by another + mechanism (e.g., vertex or index buffer pulling) in a later pass need + not use coherent variables or memoryBarrier(). Calling + glMemoryBarrier with the appropriate bits set in barriers between + passes is necessary. + + + + Errors + + GL_INVALID_VALUE is generated if barriers contains any unsupported + bits, or is not the special value GL_ALL_BARRIER_BITS. + + + + API Version Support + + + + + + glMemoryBarrier + + + + + + + See Also + + glBindImageTexture, + glBufferData, + glMapBufferRange, + glFlushMappedBufferRange + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glPauseTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES31/glPauseTransformFeedback.xml new file mode 100644 index 00000000..e291c97b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glPauseTransformFeedback.xml @@ -0,0 +1,74 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glPauseTransformFeedback + 3G + + + glPauseTransformFeedback + pause transform feedback operations + + + C Specification + + + void glPauseTransformFeedback + void + + + + Description + + glPauseTransformFeedback pauses transform feedback operations on the currently active transform feedback + object. When transform feedback operations are paused, transform feedback is still considered active and changing most + transform feedback state related to the object results in an error. However, a new transform feedback object may be bound + while transform feedback is paused. + + + Errors + + GL_INVALID_OPERATION is generated if the currently bound transform feedback object is not active or is paused. + + + + API Version Support + + + + + + glPauseTransformFeedback + + + + + + + See Also + + glGenTransformFeedbacks, + glBindTransformFeedback, + glBeginTransformFeedback, + glResumeTransformFeedback, + glEndTransformFeedback, + glDeleteTransformFeedbacks + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glPixelStorei.xml b/Source/Bind/Specifications/Docs/ES31/glPixelStorei.xml new file mode 100644 index 00000000..b6372a99 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glPixelStorei.xml @@ -0,0 +1,1190 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glPixelStorei + 3G + + + glPixelStorei + set pixel storage modes + + + C Specification + + + void glPixelStorei + GLenum pname + GLint param + + + + Parameters + + + pname + + + Specifies the symbolic name of the parameter to be set. + Six values affect the packing of pixel data into memory: + GL_PACK_ROW_LENGTH, + GL_PACK_IMAGE_HEIGHT, + GL_PACK_SKIP_PIXELS, + GL_PACK_SKIP_ROWS, + GL_PACK_SKIP_IMAGES, and + GL_PACK_ALIGNMENT. + Six more affect the unpacking of pixel data from memory: + GL_UNPACK_ROW_LENGTH, + GL_UNPACK_IMAGE_HEIGHT, + GL_UNPACK_SKIP_PIXELS, + GL_UNPACK_SKIP_ROWS, + GL_UNPACK_SKIP_IMAGES, and + GL_UNPACK_ALIGNMENT. + + + + + param + + + Specifies the value that pname is set to. + + + + + + Description + + glPixelStorei sets pixel storage modes that affect the operation of subsequent + glReadPixels as well as the unpacking of + texture patterns (see glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D). + + + pname is a symbolic constant indicating the parameter to be set, and + param is the new value. Six of the twelve storage parameters affect + how pixel data is returned to client memory. + They are as follows: + + + + GL_PACK_ROW_LENGTH + + + If greater than 0, + GL_PACK_ROW_LENGTH defines the number of pixels in a row. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + + + + + + a + s + + + + + + + + s + + n + + l + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_PACK_ROW_LENGTH if it is greater than 0, + the + width + argument to the pixel routine otherwise), + a + is the value of GL_PACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + In the case of 1-bit values, + the location of the next row is obtained by skipping + + + + + + k + = + + 8 + + a + + + + + + n + + l + + + + + 8 + + a + + + + + + + + + + components or indices. + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_PACK_IMAGE_HEIGHT + + + If greater than 0, + GL_PACK_IMAGE_HEIGHT defines the number of pixels in an image + three-dimensional texture volume, where ``image'' is defined by all pixels + sharing the same third dimension index. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + h + + + + + + + a + s + + + + + + + + s + + n + + l + + h + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, where + n + is the number of components or indices + in a pixel, + l + is the number of pixels in a row + (GL_PACK_ROW_LENGTH if it is greater than 0, the + width + argument to glTexImage3D otherwise), + h + is the number of + rows in a pixel image (GL_PACK_IMAGE_HEIGHT if it is greater than + 0, the + height + argument to the glTexImage3D routine otherwise), + a + is the value of + GL_PACK_ALIGNMENT, and + s + is the size, in bytes, of a single + component (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, and GL_PACK_SKIP_IMAGES + + + These values are provided as a convenience to the programmer; + they provide no functionality that cannot be duplicated simply by + incrementing the pointer passed to glReadPixels. + Setting GL_PACK_SKIP_PIXELS to + i + is equivalent to incrementing + the pointer by + + + + i + + n + + + components or indices, + where + n + is the number of components or indices in each pixel. + Setting GL_PACK_SKIP_ROWS to + j + is equivalent to incrementing + the pointer by + + + + j + + m + + + components or indices, + where + m + is the number of components or indices per row, + as just computed in the GL_PACK_ROW_LENGTH section. + Setting GL_PACK_SKIP_IMAGES to + k + is equivalent to incrementing + the pointer by + + + + k + + p + + , + where + p + is the number of components or indices + per image, as computed in the GL_PACK_IMAGE_HEIGHT section. + + + + + GL_PACK_ALIGNMENT + + + Specifies the alignment requirements for the start of each pixel row in memory. + The allowable values are + 1 (byte-alignment), + 2 (rows aligned to even-numbered bytes), + 4 (word-alignment), and + 8 (rows start on double-word boundaries). + + + + + + The other six of the twelve storage parameters affect how pixel data is + read from client memory. + These values are significant for + glTexImage2D, + glTexImage3D, + glTexSubImage2D, and + glTexSubImage3D + + + They are as follows: + + + + GL_UNPACK_ROW_LENGTH + + + If greater than 0, + GL_UNPACK_ROW_LENGTH defines the number of pixels in a row. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + + + + + + a + s + + + + + + + + s + + n + + l + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_UNPACK_ROW_LENGTH if it is greater than 0, + the + width + argument to the pixel routine otherwise), + a + is the value of GL_UNPACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + In the case of 1-bit values, + the location of the next row is obtained by skipping + + + + + + k + = + + 8 + + a + + + + + + n + + l + + + + + 8 + + a + + + + + + + + + + components or indices. + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_UNPACK_IMAGE_HEIGHT + + + If greater than 0, + GL_UNPACK_IMAGE_HEIGHT defines the number of pixels in an image of + a three-dimensional texture volume. Where ``image'' is defined by all + pixel sharing the same third dimension index. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + h + + + + + + + a + s + + + + + + + + s + + n + + l + + h + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_UNPACK_ROW_LENGTH if it is greater than 0, + the + width + argument to glTexImage3D otherwise), + h + is the number of rows in an image (GL_UNPACK_IMAGE_HEIGHT if + it is greater than 0, the + height + argument to glTexImage3D otherwise), + a + is the value of GL_UNPACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS and GL_UNPACK_SKIP_IMAGES + + + These values are provided as a convenience to the programmer; + they provide no functionality that cannot be duplicated by + incrementing the pointer passed to + glTexImage1D, + glTexImage2D, + glTexSubImage1D or + glTexSubImage2D. + Setting GL_UNPACK_SKIP_PIXELS to + i + is equivalent to incrementing + the pointer by + + + + i + + n + + + components or indices, + where + n + is the number of components or indices in each pixel. + Setting GL_UNPACK_SKIP_ROWS to + j + is equivalent to incrementing + the pointer by + + + + j + + k + + + components or indices, + where + k + is the number of components or indices per row, + as just computed in the GL_UNPACK_ROW_LENGTH section. + Setting GL_UNPACK_SKIP_IMAGES to + k + is equivalent to incrementing + the pointer by + + + + k + + p + + , + where + p + is the number of components or indices + per image, as computed in the GL_UNPACK_IMAGE_HEIGHT section. + + + + + GL_UNPACK_ALIGNMENT + + + Specifies the alignment requirements for the start of each pixel row in memory. + The allowable values are + 1 (byte-alignment), + 2 (rows aligned to even-numbered bytes), + 4 (word-alignment), and + 8 (rows start on double-word boundaries). + + + + + + The following table gives the type, + initial value, + and range of valid values for each storage parameter + that can be set with glPixelStorei. + + + + + + + + + + + + + pname + + + Type + + + Initial Value + + + Valid Range + + + + + + + GL_PACK_ROW_LENGTH + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_IMAGE_HEIGHT + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_ROWS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_PIXELS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_IMAGES + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_ALIGNMENT + + + integer + + + 4 + + + 1, 2, 4, or 8 + + + + + GL_UNPACK_ROW_LENGTH + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_IMAGE_HEIGHT + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_ROWS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_PIXELS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_IMAGES + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_ALIGNMENT + + + integer + + + 4 + + + 1, 2, 4, or 8 + + + + + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_VALUE is generated if a negative row length, + pixel skip, + or row skip value is specified, + or if alignment is specified as other than 1, 2, 4, or 8. + + + Associated Gets + + glGet with argument GL_PACK_ROW_LENGTH + + + glGet with argument GL_PACK_IMAGE_HEIGHT + + + glGet with argument GL_PACK_SKIP_ROWS + + + glGet with argument GL_PACK_SKIP_PIXELS + + + glGet with argument GL_PACK_SKIP_IMAGES + + + glGet with argument GL_PACK_ALIGNMENT + + + glGet with argument GL_UNPACK_ROW_LENGTH + + + glGet with argument GL_UNPACK_IMAGE_HEIGHT + + + glGet with argument GL_UNPACK_SKIP_ROWS + + + glGet with argument GL_UNPACK_SKIP_PIXELS + + + glGet with argument GL_UNPACK_SKIP_IMAGES + + + glGet with argument GL_UNPACK_ALIGNMENT + + + + API Version Support + + + + + + glPixelStorei + + + + + + + See Also + + glReadPixels, + glTexImage2D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glPolygonOffset.xml b/Source/Bind/Specifications/Docs/ES31/glPolygonOffset.xml new file mode 100644 index 00000000..466aa4c8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glPolygonOffset.xml @@ -0,0 +1,136 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glPolygonOffset + 3G + + + glPolygonOffset + set the scale and units used to calculate depth values + + + C Specification + + + void glPolygonOffset + GLfloat factor + GLfloat units + + + + Parameters + + + factor + + + Specifies a scale factor that is used to create a variable + depth offset for each polygon. The initial value is 0. + + + + + units + + + Is multiplied by an implementation-specific value to + create a constant depth offset. The initial value is 0. + + + + + + Description + + When GL_POLYGON_OFFSET_FILL is enabled, each + fragment's depth value will be offset after it is interpolated + from the depth values of the appropriate vertices. + The value of the offset is + + + + + factor + × + DZ + + + + + r + × + units + + + , + where + + + DZ + + is a measurement of the change in depth relative to the screen + area of the polygon, and + r + is the smallest value that is guaranteed to + produce a resolvable offset for a given implementation. + The offset is added before the depth test is performed and before + the value is written into the depth buffer. + + + glPolygonOffset is useful for applying decals. + + + Associated Gets + + glIsEnabled with argument + GL_POLYGON_OFFSET_FILL. + + + glGet with argument GL_POLYGON_OFFSET_FACTOR or + GL_POLYGON_OFFSET_UNITS. + + + + API Version Support + + + + + + glPolygonOffset + + + + + + + See Also + + glDepthFunc, + glEnable, + glGet, + glIsEnabled + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glProgramBinary.xml b/Source/Bind/Specifications/Docs/ES31/glProgramBinary.xml new file mode 100644 index 00000000..db8a4fc9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glProgramBinary.xml @@ -0,0 +1,153 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glProgramBinary + 3G + + + glProgramBinary + load a program object with a program binary + + + C Specification + + + void glProgramBinary + GLuint program + GLenum binaryFormat + const void *binary + GLsizei length + + + + Parameters + + + program + + + Specifies the name of a program object into which to load a program binary. + + + + + binaryFormat + + + Specifies the format of the binary data in binary. + + + + + binary + + + Specifies the address of an array containing the binary to be loaded into program. + + + + + length + + + Specifies the number of bytes contained in binary. + + + + + + Description + + glProgramBinary loads a program object with a program binary previously + returned from glGetProgramBinary. + binaryFormat and binary must be those returned + by a previous call to glGetProgramBinary, + and length must be the length returned by + glGetProgramBinary, or by + glGetProgramiv when called with + pname set to GL_PROGRAM_BINARY_LENGTH. + If these conditions are not met, loading the program binary will fail and program's + GL_LINK_STATUS will be set to GL_FALSE. + + + A program object's program binary is replaced by calls to + glLinkProgram or + glProgramBinary. When linking success or failure is concerned, glProgramBinary + can be considered to perform an implicit linking operation. + glLinkProgram and glProgramBinary + both set the program object's GL_LINK_STATUS to GL_TRUE + or GL_FALSE. + + + A successful call to glProgramBinary will reset all uniform variables to their + initial values, GL_FALSE for booleans and zero for all others. Additionally, all vertex shader input + and fragment shader output assignments that were in effect when the program was linked before saving are + restored with glProgramBinary is called. + + + Errors + + GL_INVALID_OPERATION is generated if program is not the + name of an existing program object. + + + GL_INVALID_ENUM is generated if binaryFormat is not a + value recognized by the implementation. + + + Notes + + A program binary may fail to load if the implementation determines that there has been a + change in hardware or software configuration from when the program binary was produced such + as having been compiled with an incompatible or outdated version of the compiler. + + + Associated Gets + + glGetProgramiv with argument GL_PROGRAM_BINARY_LENGTH + + + glGet with argument GL_NUM_PROGRAM_BINARY_FORMATS + + + glGet with argument GL_PROGRAM_BINARY_FORMATS + + + + API Version Support + + + + + + glProgramBinary + + + + + + + See Also + + glGetProgramiv, + glGetProgramBinary + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glProgramParameteri.xml b/Source/Bind/Specifications/Docs/ES31/glProgramParameteri.xml new file mode 100644 index 00000000..c81799b8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glProgramParameteri.xml @@ -0,0 +1,149 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glProgramParameteri + 3G + + + glProgramParameteri + specify a parameter for a program object + + + C Specification + + + void glProgramParameteri + GLuint program + GLenum pname + GLint value + + + + Parameters + + + program + + + Specifies the name of a program object whose parameter to modify. + + + + + pname + + + Specifies the name of the parameter to modify. + + + + + value + + + Specifies the new value of the parameter specified by pname for program. + + + + + + Description + + glProgramParameteri specifies a new value for the parameter nameed by + pname for the program object program. + + + If pname is + GL_PROGRAM_BINARY_RETRIEVABLE_HINT, + value should be + GL_FALSE or GL_TRUE to + indicate to the implementation the intention of the application + to retrieve the program's binary representation with + glGetProgramBinary. + The implementation may use this information to store information + that may be useful for a future query of the program's binary. + It is recommended to set + GL_PROGRAM_BINARY_RETRIEVABLE_HINT for the + program to GL_TRUE before calling + glLinkProgram, + and using the program at run-time if the binary is to be + retrieved later. + + + If pname is + GL_PROGRAM_SEPARABLE, + value must be + GL_TRUE or GL_FALSE + and indicates whether program can be + bound to individual pipeline stages via + glUseProgramStages. + A program's GL_PROGRAM_SEPARABLE parameter + must be set to GL_TRUE + before + glLinkProgram + is called in order for it to be usable with a program pipeline + object. The initial state of + GL_PROGRAM_SEPARABLE is + GL_FALSE. + + + Errors + + GL_INVALID_OPERATION is generated if + program is not the name of an existing + program object. + + + GL_INVALID_ENUM is generated if + pname is not one of the accepted values. + + + GL_INVALID_VALUE is generated if + value is not a valid value for the + parameter named by pname. + + + Associated Gets + + glGetProgramiv. + + + + API Version Support + + + + + + glProgramParameteri + + + + + + + See Also + + glGetProgramiv, + glGetProgramBinary, + glProgramBinary + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glProgramUniform.xml b/Source/Bind/Specifications/Docs/ES31/glProgramUniform.xml new file mode 100644 index 00000000..f4f932b7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glProgramUniform.xml @@ -0,0 +1,721 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glProgramUniform + 3G + + + glProgramUniform + glProgramUniform1f + glProgramUniform2f + glProgramUniform3f + glProgramUniform4f + glProgramUniform1i + glProgramUniform2i + glProgramUniform3i + glProgramUniform4i + glProgramUniform1ui + glProgramUniform2ui + glProgramUniform3ui + glProgramUniform4ui + glProgramUniform1fv + glProgramUniform2fv + glProgramUniform3fv + glProgramUniform4fv + glProgramUniform1iv + glProgramUniform2iv + glProgramUniform3iv + glProgramUniform4iv + glProgramUniform1uiv + glProgramUniform2uiv + glProgramUniform3uiv + glProgramUniform4uiv + glProgramUniformMatrix2fv + glProgramUniformMatrix3fv + glProgramUniformMatrix4fv + glProgramUniformMatrix2x3fv + glProgramUniformMatrix3x2fv + glProgramUniformMatrix2x4fv + glProgramUniformMatrix4x2fv + glProgramUniformMatrix3x4fv + glProgramUniformMatrix4x3fv + Specify the value of a uniform variable for a specified program object + + + C Specification + + + void glProgramUniform1f + GLuint program + GLint location + GLfloat v0 + + + void glProgramUniform2f + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + + + void glProgramUniform3f + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glProgramUniform4f + GLuint program + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glProgramUniform1i + GLuint program + GLint location + GLint v0 + + + void glProgramUniform2i + GLuint program + GLint location + GLint v0 + GLint v1 + + + void glProgramUniform3i + GLuint program + GLint location + GLint v0 + GLint v1 + GLint v2 + + + void glProgramUniform4i + GLuint program + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + void glProgramUniform1ui + GLuint program + GLint location + GLuint v0 + + + void glProgramUniform2ui + GLuint program + GLint location + GLint v0 + GLuint v1 + + + void glProgramUniform3ui + GLuint program + GLint location + GLint v0 + GLint v1 + GLuint v2 + + + void glProgramUniform4ui + GLuint program + GLint location + GLint v0 + GLint v1 + GLint v2 + GLuint v3 + + + + void glProgramUniform1fv + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + void glProgramUniform2fv + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + void glProgramUniform3fv + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + void glProgramUniform4fv + GLuint program + GLint location + GLsizei count + const GLfloat *value + + + void glProgramUniform1iv + GLuint program + GLint location + GLsizei count + const GLint *value + + + void glProgramUniform2iv + GLuint program + GLint location + GLsizei count + const GLint *value + + + void glProgramUniform3iv + GLuint program + GLint location + GLsizei count + const GLint *value + + + void glProgramUniform4iv + GLuint program + GLint location + GLsizei count + const GLint *value + + + void glProgramUniform1uiv + GLuint program + GLint location + GLsizei count + const GLuint *value + + + void glProgramUniform2uiv + GLuint program + GLint location + GLsizei count + const GLuint *value + + + void glProgramUniform3uiv + GLuint program + GLint location + GLsizei count + const GLuint *value + + + void glProgramUniform4uiv + GLuint program + GLint location + GLsizei count + const GLuint *value + + + + void glProgramUniformMatrix2fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix3fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix4fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix2x3fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix3x2fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix2x4fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix4x2fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix3x4fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glProgramUniformMatrix4x3fv + GLuint program + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + Parameters + + + program + + Specifies the handle of the program containing the uniform + variable to be modified. + + + + location + + Specifies the location of the uniform variable + to be modified. + + + + count + + + For the vector commands + (glProgramUniform*v), specifies the + number of elements that are to be modified. This should be 1 + if the targeted uniform variable is not an array, and 1 or + more if it is an array. + + + For the matrix commands + (glProgramUniformMatrix*), specifies + the number of matrices that are to be modified. This should + be 1 if the targeted uniform variable is not an array of + matrices, and 1 or more if it is an array of matrices. + + + + + transpose + + + For the matrix commands, specifies whether to transpose the + matrix as the values are loaded into the uniform variable. + + + + + + v0, + v1, + v2, + v3 + + + + For the scalar commands, specifies the new values to be used + for the specified uniform variable. + + + + + value + + + For the vector and matrix commands, specifies a pointer to + an array of count values that will be + used to update the specified uniform variable. + + + + + + Description + glProgramUniform modifies the value of a + uniform variable or a uniform variable array. The location of + the uniform variable to be modified is specified by + location, which should be a value + returned by + glGetUniformLocation. + glProgramUniform operates on the program object + specified by program. + + The commands glProgramUniform{1|2|3|4}{f|i|ui} + are used to change the value of the uniform variable specified + by location using the values passed as + arguments. The number specified in the command should match the + number of components in the data type of the specified uniform + variable (e.g., 1 for float, int, unsigned int, bool; + 2 for vec2, ivec2, uvec2, bvec2, etc.). The suffix + f indicates that floating-point values are + being passed; the suffix i indicates that + integer values are being passed; the suffix ui indicates that + unsigned integer values are being passed, and this type should also match + the data type of the specified uniform variable. The + i variants of this function should be used + to provide values for uniform variables defined as int, ivec2, + ivec3, ivec4, or arrays of these. The + ui variants of this function should be used + to provide values for uniform variables defined as unsigned int, uvec2, + uvec3, uvec4, or arrays of these. The f + variants should be used to provide values for uniform variables + of type float, vec2, vec3, vec4, or arrays of these. Either the + i, ui or f variants + may be used to provide values for uniform variables of type + bool, bvec2, bvec3, bvec4, or arrays of these. The uniform + variable will be set to false if the input value is 0 or 0.0f, + and it will be set to true otherwise. + + All active uniform variables defined in a program object + are initialized to 0 when the program object is linked + successfully. They retain the values assigned to them by a call + to glProgramUniform until the next successful + link operation occurs on the program object, when they are once + again initialized to 0. + + The commands glProgramUniform{1|2|3|4}{f|i|ui}v + can be used to modify a single uniform variable or a uniform + variable array. These commands pass a count and a pointer to the + values to be loaded into a uniform variable or a uniform + variable array. A count of 1 should be used if modifying the + value of a single uniform variable, and a count of 1 or greater + can be used to modify an entire array or part of an array. When + loading n elements starting at an arbitrary + position m in a uniform variable array, + elements m + n - 1 in + the array will be replaced with the new values. If + m + n - 1 is + larger than the size of the uniform variable array, values for + all array elements beyond the end of the array will be ignored. + The number specified in the name of the command indicates the + number of components for each element in + value, and it should match the number of + components in the data type of the specified uniform variable + (e.g., 1 for float, int, bool; + 2 for vec2, ivec2, bvec2, etc.). The data + type specified in the name of the command must match the data + type for the specified uniform variable as described previously + for glProgramUniform{1|2|3|4}{f|i|ui}. + + For uniform variable arrays, each element of the array is + considered to be of the type indicated in the name of the + command (e.g., glProgramUniform3f or + glProgramUniform3fv can be used to load a uniform + variable array of type vec3). The number of elements of the + uniform variable array to be modified is specified by + count + + The commands + glProgramUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv + are used to modify a matrix or an array of matrices. The numbers in the + command name are interpreted as the dimensionality of the matrix. + The number 2 indicates a 2 × 2 matrix + (i.e., 4 values), the number 3 indicates a + 3 × 3 matrix (i.e., 9 values), and the number + 4 indicates a 4 × 4 matrix (i.e., 16 + values). Non-square matrix dimensionality is explicit, with the first + number representing the number of columns and the second number + representing the number of rows. For example, + 2x4 indicates a 2 × 4 matrix with 2 columns + and 4 rows (i.e., 8 values). + If transpose is + GL_FALSE, each matrix is assumed to be + supplied in column major order. If + transpose is + GL_TRUE, each matrix is assumed to be + supplied in row major order. The count + argument indicates the number of matrices to be passed. A count + of 1 should be used if modifying the value of a single matrix, + and a count greater than 1 can be used to modify an array of + matrices. + + Notes + glProgramUniform1i and + glProgramUniform1iv are the only two functions + that may be used to load uniform variables defined as sampler + types. Loading samplers with any other function will result in a + GL_INVALID_OPERATION error. + + If count is greater than 1 and the + indicated uniform variable is not an array, a + GL_INVALID_OPERATION error is generated and the + specified uniform variable will remain unchanged. + + Other than the preceding exceptions, if the type and size + of the uniform variable as defined in the shader do not match + the type and size specified in the name of the command used to + load its value, a GL_INVALID_OPERATION error will + be generated and the specified uniform variable will remain + unchanged. + + If location is a value other than + -1 and it does not represent a valid uniform variable location + in within program, an error will be generated, and + no changes will be made to the uniform variable storage of + program. If location is + equal to -1, the data passed in will be silently ignored and the + specified uniform variable will not be changed. + + Errors + GL_INVALID_OPERATION is generated if + program does not refer to a program object owned + by the GL. + + GL_INVALID_OPERATION is generated if the + size of the uniform variable declared in the shader does not + match the size indicated by the glProgramUniform + command. + + GL_INVALID_OPERATION is generated if one of + the signed or unsigned integer variants of this function is used to load a uniform + variable of type float, vec2, vec3, vec4, or an array of these, + or if one of the floating-point variants of this function is + used to load a uniform variable of type int, ivec2, ivec3, + ivec4, unsigned int, uvec2, uvec3, + uvec4, or an array of these. + + GL_INVALID_OPERATION is generated if one of + the signed integer variants of this function is used to load a uniform + variable of type unsigned int, uvec2, uvec3, + uvec4, or an array of these. + + GL_INVALID_OPERATION is generated if one of + the unsigned integer variants of this function is used to load a uniform + variable of type int, ivec2, ivec3, + ivec4, or an array of these. + + GL_INVALID_OPERATION is generated if + location is an invalid uniform location + for program and + location is not equal to -1. + + GL_INVALID_VALUE is generated if + count is less than 0. + + GL_INVALID_OPERATION is generated if + count is greater than 1 and the indicated + uniform variable is not an array variable. + + GL_INVALID_OPERATION is generated if a + sampler is loaded using a command other than + glProgramUniform1i and + glProgramUniform1iv. + + + Associated Gets + glGetActiveUniform + with the handle of a program object and the index of an active uniform variable + + glGetUniform + with the handle of a program object and the location of a + uniform variable + + glGetUniformLocation + with the handle of a program object and the name of a uniform + variable + + + API Version Support + + + + + + glProgramUniform1f#newin31# + + + + glProgramUniform2f#newin31# + + + + glProgramUniform3f#newin31# + + + + glProgramUniform4f#newin31# + + + + glProgramUniform1i#newin31# + + + + glProgramUniform2i#newin31# + + + + glProgramUniform3i#newin31# + + + + glProgramUniform4i#newin31# + + + + glProgramUniform1ui#newin31# + + + + glProgramUniform2ui#newin31# + + + + glProgramUniform3ui#newin31# + + + + glProgramUniform4ui#newin31# + + + + glProgramUniform1fv#newin31# + + + + glProgramUniform2fv#newin31# + + + + glProgramUniform3fv#newin31# + + + + glProgramUniform4fv#newin31# + + + + glProgramUniform1iv#newin31# + + + + glProgramUniform2iv#newin31# + + + + glProgramUniform3iv#newin31# + + + + glProgramUniform4iv#newin31# + + + + glProgramUniform1uiv#newin31# + + + + glProgramUniform2uiv#newin31# + + + + glProgramUniform3uiv#newin31# + + + + glProgramUniform4uiv#newin31# + + + + glProgramUniformMatrix2fv#newin31# + + + + glProgramUniformMatrix3fv#newin31# + + + + glProgramUniformMatrix4fv#newin31# + + + + glProgramUniformMatrix2x3fv#newin31# + + + + glProgramUniformMatrix3x2fv#newin31# + + + + glProgramUniformMatrix2x4fv#newin31# + + + + glProgramUniformMatrix4x2fv#newin31# + + + + glProgramUniformMatrix3x4fv#newin31# + + + + glProgramUniformMatrix4x3fv#newin31# + + + + + + + See Also + + glLinkProgram, + glUseProgram + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glReadBuffer.xml b/Source/Bind/Specifications/Docs/ES31/glReadBuffer.xml new file mode 100644 index 00000000..8bf8eaee --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glReadBuffer.xml @@ -0,0 +1,113 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glReadBuffer + 3G + + + glReadBuffer + select a color buffer source for pixels + + + C Specification + + + void glReadBuffer + GLenum mode + + + + Parameters + + + mode + + + Specifies a color buffer. + Accepted values are + GL_BACK, + GL_NONE, and + GL_COLOR_ATTACHMENTi. + + + + + + Description + + glReadBuffer specifies a color buffer as the source for subsequent + glReadPixels, , glCopyTexImage2D, + glCopyTexSubImage2D, and + glCopyTexSubImage3D commands. + mode accepts one of the following values: + GL_NONE, + GL_BACK names the back buffer of the default framebuffer, and + GL_COLOR_ATTACHMENTi names a color attachment of the current framebuffer, + + + Errors + + GL_INVALID_ENUM is generated if mode is not GL_BACK, + GL_NONE, or GL_COLOR_ATTACHMENTi, where i is less than + GL_MAX_COLOR_ATTACHMENTS. + + + GL_INVALID_OPERATION is generated if the current framebuffer is the default framebufer and + mode is not GL_NONE or GL_BACK. + + + GL_INVALID_OPERATION is generated if the current framebuffer is a named framebufer and + mode is not GL_NONE or GL_COLOR_ATTACHMENTi. + + + Associated Gets + + glGet with argument GL_READ_BUFFER + + + + API Version Support + + + + + + glReadBuffer + + + + + + + See Also + + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawBuffers, + glReadPixels + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glReadPixels.xml b/Source/Bind/Specifications/Docs/ES31/glReadPixels.xml new file mode 100644 index 00000000..25f292e3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glReadPixels.xml @@ -0,0 +1,636 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glReadPixels + 3G + + + glReadPixels + read a block of pixels from the frame buffer + + + C Specification + + + void glReadPixels + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + GLvoid * data + + + + Parameters + + + x + y + + + Specify the window coordinates of the first pixel + that is read from the frame buffer. + This location is the lower left corner of a rectangular block of pixels. + + + + + width + height + + + Specify the dimensions of the pixel rectangle. + width and height of one correspond to a single pixel. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RGBA, and + GL_RGBA_INTEGER. + An implementation-chosen format will also be accepted. + This can be queried with glGet and + GL_IMPLEMENTATION_COLOR_READ_FORMAT. + + + + + type + + + Specifies the data type of the pixel data. + Must be one of + GL_UNSIGNED_BYTE, + GL_UNSIGNED_INT, + GL_INT, or + GL_FLOAT. + An implementation-chosen type will also be accepted. + This can be queried with glGet and + GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + + + data + + + Returns the pixel data. + + + + + + Description + + glReadPixels returns pixel data from the frame buffer, + starting with the pixel whose lower left corner + is at location (x, y), + into client memory starting at location data. + Several parameters control the processing of the pixel data before + it is placed into client memory. + These parameters are set with glPixelStorei. + This reference page describes the effects on glReadPixels of most, + but not all of the parameters specified by these three commands. + + + If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target + (see glBindBuffer) while a block of pixels is + requested, data is treated as a byte offset into the buffer object's data store + rather than a pointer to client memory. + + + glReadPixels returns values from each pixel with lower left corner at + + + + + x + + + i + + + y + + + j + + + + for + + + + 0 + <= + i + < + width + + + and + + + + 0 + <= + j + < + height + + . + This pixel is said to be the + ith + pixel in the + jth + row. + Pixels are returned in row order from the lowest to the highest row, + left to right in each row. + + + format specifies the format for the returned pixel values; + accepted values are + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA + + + Finally, the indices or components + are converted to the proper format, + as specified by type. + If type is GL_FLOAT, then each integer index is converted to + single-precision floating-point format. + + + If format is + GL_RED, + GL_RG, + GL_RGB, or + GL_RGBA, and type is not GL_FLOAT, + each component is multiplied by the multiplier shown in the following table. + If type is GL_FLOAT, then each component is passed as is + (or converted to the client's single-precision floating-point format if + it is different from the one used by the GL). + + + + + + + + + + + + type + + + Index Mask + + + Component Conversion + + + + + + + GL_UNSIGNED_BYTE + + + + + + 2 + 8 + + - + 1 + + + + + + + + + + 2 + 8 + + - + 1 + + + + c + + + + + + + GL_BYTE + + + + + + 2 + 7 + + - + 1 + + + + + + + + + + + + 2 + 8 + + - + 1 + + + + c + - + 1 + + + 2 + + + + + + + GL_HALF_FLOAT + + + none + + + c + + + + + GL_FLOAT + + + none + + + c + + + + + GL_UNSIGNED_SHORT_5_6_5 + + + + + + 2 + N + + - + 1 + + + + + + + + + + 2 + N + + - + 1 + + + + c + + + + + + + GL_UNSIGNED_SHORT_4_4_4_4 + + + + + + 2 + N + + - + 1 + + + + + + + + + + 2 + N + + - + 1 + + + + c + + + + + + + GL_UNSIGNED_SHORT_5_5_5_1 + + + + + + 2 + N + + - + 1 + + + + + + + + + + 2 + N + + - + 1 + + + + c + + + + + + + GL_UNSIGNED_INT_2_10_10_10_REV + + + + + + 2 + N + + - + 1 + + + + + + + + + + 2 + N + + - + 1 + + + + c + + + + + + + GL_UNSIGNED_INT_10F_11F_11F_REV + + + -- + + + Special + + + + + GL_UNSIGNED_INT_5_9_9_9_REV + + + -- + + + Special + + + + + + + Return values are placed in memory as follows. + If format is + GL_RED, or + GL_RED_INTEGER, + a single value is returned and the data for the + ith + pixel in the + jth + row + is placed in location + + + + + j + + + width + + + i + + . + GL_RG and GL_RG_INTEGER return two values, + GL_RGB and GL_RGB_INTEGER return three values, + GL_RGBA and GL_RGBA_INTEGER return four values for each pixel, + with all values corresponding to a single pixel occupying contiguous space + in data. + See glPixelStorei for a description of parameters which affect + the packing of data into memory. + + + Notes + + Values for pixels that lie outside the window + connected to the current GL context are undefined. + + + If an error is generated, + no change is made to the contents of data. + + + Only two format/type parameter pairs are + accepted. For normalized fixed point rendering surfaces, GL_RGBA/GL_UNSIGNED_BYTE is + accepted. For signed integer rendering surfaces, GL_RGBA_INTEGER/GL_INT is accepted. + For unsigned integer rendering surfaces, GL_RGBA_INTEGER/GL_UNSIGNED_INT is accepted. + The other acceptable pair can be discovered by querying + GL_IMPLEMENTATION_COLOR_READ_FORMAT and + GL_IMPLEMENTATION_COLOR_READ_TYPE. The implementation chosen format may also vary depending on the + format of the currently bound rendering surface. + + + Errors + + GL_INVALID_ENUM is generated if format or type is not an + accepted value. + + + GL_INVALID_VALUE is generated if either width or height is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer + object such that the memory writes required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if GL_READ_BUFFER is GL_NONE or + if GL_READ_FRAMEBUFFER_BINDING is non-zero and the read buffer selects an attachment that has no image attached. + + + GL_INVALID_OPERATION is generated if GL_READ_FRAMEBUFFER_BINDING + is non-zero, the read framebuffer is complete, and the value of GL_SAMPLE_BUFFERS + for the read framebuffer is greater than zero. + + + GL_INVALID_OPERATION is generated if the readbuffer of the currently bound framebuffer is + a fixed point normalized surface and format + and type are neither GL_RGBA and + GL_UNSIGNED_BYTE, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_OPERATION is generated if the readbuffer of the currently bound framebuffer is + a floating point surface and format + and type are neither GL_RGBA and + GL_FLOAT, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_OPERATION is generated if the readbuffer of the currently bound framebuffer is + a signed integer surface and format + and type are neither GL_RGBA_INTEGER and + GL_INT, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_OPERATION is generated if the readbuffer of the currently bound framebuffer is + an unsigned integer surface and format + and type are neither GL_RGBA_INTEGER and + GL_UNSIGNED_INT, respectively, nor the format/type pair + returned by querying GL_IMPLEMENTATION_COLOR_READ_FORMAT + and GL_IMPLEMENTATION_COLOR_READ_TYPE. + + + GL_INVALID_FRAMEBUFFER_OPERATION is generated if + the currently bound framebuffer is not framebuffer complete (i.e. the + return value from glCheckFramebufferStatus + is not GL_FRAMEBUFFER_COMPLETE). + + + Associated Gets + + glGet with argument GL_PIXEL_PACK_BUFFER_BINDING + + + + API Version Support + + + + + + glReadPixels + + + + + + + See Also + + glPixelStorei, + glReadBuffer + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glReleaseShaderCompiler.xml b/Source/Bind/Specifications/Docs/ES31/glReleaseShaderCompiler.xml new file mode 100644 index 00000000..f1f5acb4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glReleaseShaderCompiler.xml @@ -0,0 +1,65 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glReleaseShaderCompiler + 3G + + + glReleaseShaderCompiler + release resources consumed by the implementation's shader compiler + + + C Specification + + + void glReleaseShaderCompiler + void + + + + Description + + glReleaseShaderCompiler provides a hint to the implementation that it + may free internal resources associated with its shader compiler. glCompileShader + may subsequently be called and the implementation may at that time reallocate resources + previously freed by the call to glReleaseShaderCompiler. + + + + API Version Support + + + + + + glReleaseShaderCompiler + + + + + + + See Also + + glCompileShader, + glLinkProgram + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glRenderbufferStorage.xml b/Source/Bind/Specifications/Docs/ES31/glRenderbufferStorage.xml new file mode 100644 index 00000000..f68274ff --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glRenderbufferStorage.xml @@ -0,0 +1,137 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glRenderbufferStorage + 3G + + + glRenderbufferStorage + establish data storage, format and dimensions of a renderbuffer object's image + + + C Specification + + + void glRenderbufferStorage + GLenum target + GLenum internalformat + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies a binding to which the target of the allocation and must be GL_RENDERBUFFER. + + + + + internalformat + + + Specifies the internal format to use for the renderbuffer object's image. + + + + + width + + + Specifies the width of the renderbuffer, in pixels. + + + + + height + + + Specifies the height of the renderbuffer, in pixels. + + + + + + Description + + glRenderbufferStorage is equivalent to calling + glRenderbufferStorageMultisample with the + samples set to zero. + + + The target of the operation, specified by target must be GL_RENDERBUFFER. + internalformat specifies the internal format to be used for the renderbuffer object's storage and + must be a color-renderable, depth-renderable, or stencil-renderable format, as shown in Table 1 below. + width and height are the dimensions, in pixels, of the renderbuffer. + Both width and height must be less than or equal to the value of + GL_MAX_RENDERBUFFER_SIZE. + + + Upon success, glRenderbufferStorage deletes any existing data store for the renderbuffer + image and the contents of the data store after calling glRenderbufferStorage are undefined. + + + + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + GL_INVALID_VALUE is generated if either of width or height is negative, + or greater than the value of GL_MAX_RENDERBUFFER_SIZE. + + + GL_INVALID_ENUM is generated if internalformat is not a color-renderable, depth-renderable, + or stencil-renderable format. + + + GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store of the requested size. + + + + API Version Support + + + + + + glRenderbufferStorage + + + + + + + See Also + + glGenRenderbuffers, + glBindRenderbuffer, + glRenderbufferStorageMultisample, + glFramebufferRenderbuffer, + glDeleteRenderbuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glRenderbufferStorageMultisample.xml b/Source/Bind/Specifications/Docs/ES31/glRenderbufferStorageMultisample.xml new file mode 100644 index 00000000..e6d9ff6f --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glRenderbufferStorageMultisample.xml @@ -0,0 +1,167 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glRenderbufferStorageMultisample + 3G + + + glRenderbufferStorageMultisample + establish data storage, format, dimensions and sample count of a renderbuffer object's image + + + C Specification + + + void glRenderbufferStorageMultisample + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specifies a binding to which the target of the allocation and must be GL_RENDERBUFFER. + + + + + samples + + + Specifies the number of samples to be used for the renderbuffer object's storage. + + + + + internalformat + + + Specifies the internal format to use for the renderbuffer object's image. + + + + + width + + + Specifies the width of the renderbuffer, in pixels. + + + + + height + + + Specifies the height of the renderbuffer, in pixels. + + + + + + Description + + glRenderbufferStorageMultisample establishes the data storage, format, dimensions and number of + samples of a renderbuffer object's image. + + + The target of the operation, specified by target must be GL_RENDERBUFFER. + internalformat specifies the internal format to be used for the renderbuffer object's storage and + must be a color-renderable, depth-renderable, or stencil-renderable format, as shown in Table 1 below. + width and height are the dimensions, in pixels, of the renderbuffer. + Both width and height must be less than or equal to the value of + GL_MAX_RENDERBUFFER_SIZE. samples specifies the number of samples to be used + for the renderbuffer object's image. If internalformat is a signed or unsigned integer format then + samples must be 0. Otherwise, samples must be must be less than or equal to + the maximum number of samples supported for internalformat. + (see glGetInternalformativ). + + + Upon success, glRenderbufferStorageMultisample deletes any existing data store for the renderbuffer + image and the contents of the data store after calling glRenderbufferStorageMultisample are undefined. + + + + + + Notes + + Since different implementations may support different sample counts for multisample + rendering, the actual number of samples allocated for the renderbuffer image is + implementation-dependent. However, the resulting value for GL_RENDERBUFFER_SAMPLES + is guaranteed to be greater than or equal to samples and no more than the + next larger sample count supported by the implementation. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. + + + GL_INVALID_VALUE is generated if samples is greater than the maximum number of samples + supported for internalformat. + + + GL_INVALID_ENUM is generated if internalformat is not a color-renderable, depth-renderable, + or stencil-renderable format. + + + GL_INVALID_OPERATION is generated if internalformat is a signed or unsigned integer format + and samples is greater than 0. + + + GL_INVALID_VALUE is generated if either of width or height is negative, + or greater than the value of GL_MAX_RENDERBUFFER_SIZE. + + + GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store of the requested size. + + + + API Version Support + + + + + + glRenderbufferStorageMultisample + + + + + + + See Also + + glGenRenderbuffers, + glGetInternalformativ, + glBindRenderbuffer, + glRenderbufferStorage, + glFramebufferRenderbuffer, + glDeleteRenderbuffers + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glResumeTransformFeedback.xml b/Source/Bind/Specifications/Docs/ES31/glResumeTransformFeedback.xml new file mode 100644 index 00000000..289b3d7d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glResumeTransformFeedback.xml @@ -0,0 +1,74 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glResumeTransformFeedback + 3G + + + glResumeTransformFeedback + resume transform feedback operations + + + C Specification + + + void glResumeTransformFeedback + void + + + + Description + + glResumeTransformFeedback resumes transform feedback operations on the currently active transform feedback + object. When transform feedback operations are paused, transform feedback is still considered active and changing most + transform feedback state related to the object results in an error. However, a new transform feedback object may be bound + while transform feedback is paused. + + + Errors + + GL_INVALID_OPERATION is generated if the currently bound transform feedback object is not active or is not paused. + + + + API Version Support + + + + + + glResumeTransformFeedback + + + + + + + See Also + + glGenTransformFeedbacks, + glBindTransformFeedback, + glBeginTransformFeedback, + glPauseTransformFeedback, + glEndTransformFeedback, + glDeleteTransformFeedbacks + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glSampleCoverage.xml b/Source/Bind/Specifications/Docs/ES31/glSampleCoverage.xml new file mode 100644 index 00000000..e7ec1d2d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glSampleCoverage.xml @@ -0,0 +1,136 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glSampleCoverage + 3G + + + glSampleCoverage + specify multisample coverage parameters + + + C Specification + + + void glSampleCoverage + GLfloat value + GLboolean invert + + + + Parameters + + + value + + + Specify a single floating-point sample coverage value. The value is + clamped to the range + + + + 0 + 1 + + . + The initial value is 1.0. + + + + + invert + + + Specify a single boolean value representing if the coverage masks should be + inverted. GL_TRUE and GL_FALSE are accepted. The initial value + is GL_FALSE. + + + + + + Description + + Multisampling samples a pixel multiple times at various + implementation-dependent subpixel locations to generate antialiasing + effects. Multisampling transparently antialiases points, lines, polygons, + and images if it is enabled. + + + value is used in constructing a temporary mask used in determining which + samples will be used in resolving the final fragment color. This mask is + bitwise-anded with the coverage mask generated from the multisampling + computation. If the invert flag is set, the temporary mask is inverted + (all bits flipped) and then the bitwise-and is computed. + + + If an implementation does not have any multisample buffers available, or + multisampling is disabled, rasterization occurs with only a single sample + computing a pixel's final RGB color. + + + Provided an implementation supports multisample buffers, and multisampling + is enabled, then a pixel's final color is generated by combining several + samples per pixel. Each sample contains color, depth, and stencil + information, allowing those operations to be performed on each sample. + + + Associated Gets + + glGet with argument GL_SAMPLE_COVERAGE_VALUE + + + glGet with argument GL_SAMPLE_COVERAGE_INVERT + + + glIsEnabled with argument GL_MULTISAMPLE + + + glIsEnabled with argument GL_SAMPLE_ALPHA_TO_COVERAGE + + + glIsEnabled with argument GL_SAMPLE_COVERAGE + + + + API Version Support + + + + + + glSampleCoverage + + + + + + + See Also + + glEnable + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glSamplerParameter.xml b/Source/Bind/Specifications/Docs/ES31/glSamplerParameter.xml new file mode 100644 index 00000000..8e43b572 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glSamplerParameter.xml @@ -0,0 +1,1082 @@ + %mathent; ]> + + + + + + + 2010-2014 + KhronosGroup + + + + glSamplerParameter + 3G + + + glSamplerParameter + set sampler parameters + + + C Specification + + + void glSamplerParameterf + GLuint sampler + GLenum pname + GLfloat param + + + + + void glSamplerParameteri + GLuint sampler + GLenum pname + GLint param + + + + + + void glSamplerParameterfv + GLuint sampler + GLenum pname + const GLfloat * params + + + + + void glSamplerParameteriv + GLuint sampler + GLenum pname + const GLint * params + + + + Parameters + + + sampler + + + Specifies the sampler object whose parameter to modify. + + + + + pname + + + Specifies the symbolic name of a single-valued sampler parameter. + pname can be one of the following: + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, + GL_TEXTURE_WRAP_R, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_COMPARE_MODE, or + GL_TEXTURE_COMPARE_FUNC. + + + + + param + + + For the scalar commands, specifies the value of + pname. + + + + + params + + + For the vector commands + (glSamplerParameter*v), specifies a + pointer to an array where the value or values of + pname are stored. + + + + + + Description + + glSamplerParameter assigns the value or values in params to the sampler parameter + specified as pname. + sampler specifies the sampler object to be modified, and must be the name of a sampler object previously + returned from a call to glGenSamplers. + The following symbols are accepted in pname: + + + + GL_TEXTURE_MIN_FILTER + + + The texture minifying function is used whenever the pixel being textured + maps to an area greater than one texture element. + There are six defined minifying functions. + Two of them use the nearest one or nearest four texture elements + to compute the texture value. + The other four use mipmaps. + + + A mipmap is an ordered set of arrays representing the same image + at progressively lower resolutions. + If the texture has dimensions + + + + 2 + n + + × + 2 + m + + + , + there are + + + + + max + + + n + m + + + + + 1 + + + mipmaps. + The first mipmap is the original texture, + with dimensions + + + + 2 + n + + × + 2 + m + + + . + Each subsequent mipmap has dimensions + + + + 2 + + + k + - + 1 + + + + × + 2 + + + l + - + 1 + + + + + , + where + + + + 2 + k + + × + 2 + l + + + + are the dimensions of the previous mipmap, + until either + + + + k + = + 0 + + + or + + + + l + = + 0 + + . + At that point, + subsequent mipmaps have dimension + + + + 1 + × + 2 + + + l + - + 1 + + + + + + or + + + + 2 + + + k + - + 1 + + + + × + 1 + + + until the final mipmap, + which has dimension + + + + 1 + × + 1 + + . + To define the mipmaps, call glTexStorage2D, glTexImage2D, + glTexStorage2D, glTexImage3D, + or glCopyTexImage2D + with the level argument indicating the order of the mipmaps. + Level 0 is the original texture; + level + + + + max + + + n + m + + + + is the final + + + + 1 + × + 1 + + + mipmap. + + + params supplies a function for minifying the texture as one of the + following: + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the center of the pixel being textured. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the center of the pixel being textured. + + + + + GL_NEAREST_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element nearest to the center of the pixel) + to produce a texture value. + + + + + GL_LINEAR_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest + to the center of the pixel) + to produce a texture value. + + + + + GL_NEAREST_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element nearest to the center of the pixel) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + GL_LINEAR_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest + to the center of the pixel) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + + + As more texture elements are sampled in the minification process, + fewer aliasing artifacts will be apparent. + While the GL_NEAREST and GL_LINEAR minification functions can be + faster than the other four, + they sample only one or four texture elements to determine the texture value + of the pixel being rendered and can produce moire patterns + or ragged transitions. + The initial value of GL_TEXTURE_MIN_FILTER is + GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MAG_FILTER + + + The texture magnification function is used when the pixel being textured + maps to an area less than or equal to one texture element. + It sets the texture magnification function to either GL_NEAREST + or GL_LINEAR (see below). GL_NEAREST is generally faster + than GL_LINEAR, + but it can produce textured images with sharper edges + because the transition between texture elements is not as smooth. + The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR. + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the center of the pixel being textured. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the center of the pixel being textured. + + + + + + + + + + + + + GL_TEXTURE_MIN_LOD + + + Sets the minimum level-of-detail parameter. This floating-point value + limits the selection of highest resolution mipmap (lowest mipmap + level). The initial value is -1000. + + + + + + + + + GL_TEXTURE_MAX_LOD + + + Sets the maximum level-of-detail parameter. This floating-point value + limits the selection of the lowest resolution mipmap (highest mipmap + level). The initial value is 1000. + + + + + + + + + GL_TEXTURE_WRAP_S + + + Sets the wrap parameter for texture coordinate + s + to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. GL_CLAMP_TO_EDGE causes + s + coordinates to be clamped to the + range + + + + + + + 1 + + 2N + + + + + + 1 + - + + + + 1 + + 2N + + + + + + + , + where + N + is the size + of the texture in the direction of clamping. GL_REPEAT causes the + integer part of the + s + coordinate to be ignored; the GL uses only the + fractional part, thereby creating a repeating pattern. + GL_MIRRORED_REPEAT causes the + s + coordinate to be set to the + fractional part of the texture coordinate if the integer part of + s + is + even; if the integer part of + s + is odd, then the + s + texture coordinate is + set to + + + + 1 + - + + frac + + + s + + + + , + where + + + + frac + + + s + + + + represents the fractional part of + s. + Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT. + + + + + + + + + GL_TEXTURE_WRAP_T + + + Sets the wrap parameter for texture coordinate + t + to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT. + + + + + GL_TEXTURE_WRAP_R + + + Sets the wrap parameter for texture coordinate + r + to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT. + + + + + GL_TEXTURE_COMPARE_MODE + + + Specifies the texture comparison mode for currently bound textures. + That is, a texture whose base internal format is GL_DEPTH_COMPONENT or + GL_DEPTH_STENCIL; see + glTexImage2D) + Permissible values are: + + + GL_COMPARE_REF_TO_TEXTURE + + + Specifies that the interpolated and clamped + r + texture coordinate should + be compared to the value in the currently bound texture. See the + discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison + is evaluated. The result of the comparison is assigned to the red channel. + + + + + GL_NONE + + + Specifies that the red channel should be assigned the + appropriate value from the currently bound texture. + + + + + + + + + GL_TEXTURE_COMPARE_FUNC + + + Specifies the comparison operator used when GL_TEXTURE_COMPARE_MODE is + set to GL_COMPARE_REF_TO_TEXTURE. Permissible values are: + + + + + + + + Texture Comparison Function + + + Computed result + + + + + + + GL_LEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + <= + + D + t + + + + + + + r + > + + D + t + + + + + + + + + + + + + + GL_GEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + >= + + D + t + + + + + + + r + < + + D + t + + + + + + + + + + + + + + GL_LESS + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + < + + D + t + + + + + + + r + >= + + D + t + + + + + + + + + + + + + + GL_GREATER + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + > + + D + t + + + + + + + r + <= + + D + t + + + + + + + + + + + + + + GL_EQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + = + + D + t + + + + + + + r + + + D + t + + + + + + + + + + + + + + GL_NOTEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + + + D + t + + + + + + + r + = + + D + t + + + + + + + + + + + + + + GL_ALWAYS + + + + + + result + = + 1.0 + + + + + + + + GL_NEVER + + + + + + result + = + 0.0 + + + + + + + + + where r + is the current interpolated texture coordinate, and + + + D + t + + + is the texture value sampled from the currently bound texture. + result + is assigned to + + + R + t + + . + + + + + + Notes + + If a sampler object is bound to a texture unit and that unit is used to sample from a texture, the parameters in the sampler + are used to sample from the texture, rather than the equivalent parameters in the texture object bound to that unit. This + introduces the possibility of sampling from the same texture object with different sets of sampler state, which may lead to + a condition where a texture is incomplete with respect to one sampler object and not with respect to + another. Thus, completeness can be considered a function of a sampler object and a texture object bound to a single + texture unit, rather than a property of the texture object itself. + + + The results of a texture lookup are undefined if: + + + + The sampler used in a texture lookup function is not one of the shadow sampler types, the texture object's base + internal format is GL_DEPTH_COMPONENT or GL_DEPTH_STENCIL, and the + GL_TEXTURE_COMPARE_MODE is not GL_NONE. + + + + + The sampler used in a texture lookup function is one of the shadow sampler types, the texture object's base internal format + is GL_DEPTH_COMPONENT or GL_DEPTH_STENCIL, and the + GL_TEXTURE_COMPARE_MODE is GL_NONE. + + + + + The sampler used in a texture lookup function is one of the shadow sampler types, and the texture object's base + internal format is not GL_DEPTH_COMPONENT or GL_DEPTH_STENCIL. + + + + + + Errors + + GL_INVALID_OPERATION is generated if sampler is not the name of a sampler object previously + returned from a call to glGenSamplers. + + + GL_INVALID_ENUM is generated if params should have a defined + constant value (based on the value of pname) and does not. + + + Associated Gets + + glGetSamplerParameter + + + + API Version Support + + + + + + glSamplerParameterf + + + + glSamplerParameteri + + + + + + + See Also + + glGenSamplers, + glBindSampler, + glDeleteSamplers, + glIsSampler, + glBindTexture, + glTexParameter + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glScissor.xml b/Source/Bind/Specifications/Docs/ES31/glScissor.xml new file mode 100644 index 00000000..978f2b93 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glScissor.xml @@ -0,0 +1,130 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glScissor + 3G + + + glScissor + define the scissor box + + + C Specification + + + void glScissor + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + x + y + + + Specify the lower left corner of the scissor box. + Initially (0, 0). + + + + + width + height + + + Specify the width and height of the scissor box. + When a GL context is first attached to a window, + width and height are set to the dimensions of that + window. + + + + + + Description + + glScissor defines a rectangle, called the scissor box, + in window coordinates. + The first two arguments, + x and y, + specify the lower left corner of the box. + width and height specify the width and height of the box. + + + To enable and disable the scissor test, call + glEnable and glDisable with argument + GL_SCISSOR_TEST. The test is initially disabled. + While the test is enabled, only pixels that lie within the scissor box + can be modified by drawing commands. + Window coordinates have integer values at the shared corners of + frame buffer pixels. + glScissor(0,0,1,1) allows modification of only the lower left + pixel in the window, and glScissor(0,0,0,0) doesn't allow + modification of any pixels in the window. + + + When the scissor test is disabled, + it is as though the scissor box includes the entire window. + + + Errors + + GL_INVALID_VALUE is generated if either width or height is negative. + + + Associated Gets + + glGet with argument GL_SCISSOR_BOX + + + glIsEnabled with argument GL_SCISSOR_TEST + + + + API Version Support + + + + + + glScissor + + + + + + + See Also + + glEnable, + glViewport + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glShaderBinary.xml b/Source/Bind/Specifications/Docs/ES31/glShaderBinary.xml new file mode 100644 index 00000000..059b4d66 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glShaderBinary.xml @@ -0,0 +1,147 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glShaderBinary + 3G + + + glShaderBinary + load pre-compiled shader binaries + + + C Specification + + + void glShaderBinary + GLsizei count + const GLuint *shaders + GLenum binaryFormat + const void *binary + GLsizei length + + + + Parameters + + + count + + + Specifies the number of shader object handles contained in shaders. + + + + + shaders + + + Specifies the address of an array of shader handles into which to load pre-compiled shader binaries. + + + + + binaryFormat + + + Specifies the format of the shader binaries contained in binary. + + + + + binary + + + Specifies the address of an array of bytes containing pre-compiled binary shader code. + + + + + length + + + Specifies the length of the array whose address is given in binary. + + + + + + Description + + glShaderBinary loads pre-compiled shader binary code into the count + shader objects whose handles are given in shaders. binary + points to length bytes of binary shader code stored in client memory. + binaryFormat specifies the format of the pre-compiled code. + + + The binary image contained in binary will be decoded according to the extension + specification defining the specified binaryFormat token. OpenGL ES + does not define any specific binary formats, but it does provide a mechanism to obtain token + vaues for such formats provided by such extensions. + + + Depending on the types of the shader objects in shaders, glShaderBinary + will individually load binary vertex or fragment shaders, or load an executable binary that contains an optimized + pair of vertex and fragment shaders stored in the same binary. + + + Errors + + GL_INVALID_OPERATION is generated if more than one of the handles in + shaders refers to the same shader object. + + + GL_INVALID_ENUM is generated if binaryFormat is not an + accepted value. + + + GL_INVALID_VALUE is generated if the data pointed to by binary + does not match the format specified by binaryFormat. + + + Associated Gets + + glGet with parameter GL_NUM_SHADER_BINARY_FORMATS. + + + glGet with parameter GL_SHADER_BINARY_FORMATS. + + + + API Version Support + + + + + + glShaderBinary + + + + + + + See Also + + glGetProgramiv, + glGetProgramBinary, + glProgramBinary + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glShaderSource.xml b/Source/Bind/Specifications/Docs/ES31/glShaderSource.xml new file mode 100644 index 00000000..f4ce7ec5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glShaderSource.xml @@ -0,0 +1,145 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glShaderSource + 3G + + + glShaderSource + Replaces the source code in a shader object + + + C Specification + + + void glShaderSource + GLuint shader + GLsizei count + const GLchar **string + const GLint *length + + + + Parameters + + + shader + + Specifies the handle of the shader object + whose source code is to be replaced. + + + + count + + Specifies the number of elements in the + string and + length + arrays. + + + + string + + Specifies an array of pointers to strings + containing the source code to be loaded into the + shader. + + + + length + + Specifies an array of string lengths. + + + + + Description + glShaderSource sets the source code + in shader to the source code in the array + of strings specified by string. Any + source code previously stored in the shader object is completely + replaced. The number of strings in the array is specified by + count. If length + is NULL, each string is assumed to be null + terminated. If length is a value other + than NULL, it points to an array containing + a string length for each of the corresponding elements of + string. Each element in the + length array may contain the length of + the corresponding string (the null character is not counted as + part of the string length) or a value less than 0 to indicate + that the string is null terminated. The source code strings are + not scanned or parsed at this time; they are simply copied into + the specified shader object. + + Notes + The GL copies the shader source code strings when + glShaderSource is called, so an application + may free its copy of the source code strings immediately after + the function returns. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + count is less than 0. + + + Associated Gets + glGetShaderiv + with arguments shader and + GL_SHADER_SOURCE_LENGTH + + glGetShaderSource + with argument shader + + glIsShader + + + API Version Support + + + + + + glShaderSource + + + + + + + See Also + glCompileShader, + glCreateShader, + glDeleteShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glShaderStorageBlockBinding.xml b/Source/Bind/Specifications/Docs/ES31/glShaderStorageBlockBinding.xml new file mode 100644 index 00000000..efc0e1e4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glShaderStorageBlockBinding.xml @@ -0,0 +1,114 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glShaderStorageBlockBinding + 3G + + + glShaderStorageBlockBinding + change an active shader storage block binding + + + C Specification + + + void glShaderStorageBlockBinding + GLuint program + GLuint storageBlockIndex + GLuint storageBlockBinding + + + + Parameters + + + program + + + The name of the program containing the block whose binding to change. + + + + + storageBlockIndex + + + The index storage block within the program. + + + + + storageBlockBinding + + + The index storage block binding to associate with the specified storage block. + + + + + + Description + + glShaderStorageBlockBinding, changes the active + shader storage block with an assigned index of storageBlockIndex + in program object program. storageBlockIndex must be an active shader storage block + index in program. storageBlockBinding must be less than the value of GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS. + If successful, glShaderStorageBinding specifies that program will use the data store of + the buffer object bound to the binding point storageBlockBinding to read + and write the values of the buffer variables in the shader storage block identified by storageBlockIndex. + + + Errors + + GL_INVALID_VALUE is generated if attribindex is greater than + or equal to the value of GL_MAX_VERTEX_ATTRIBS. + + + GL_INVALID_VALUE is generated if bindingindex is greater than + or equal to the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. + + + GL_INVALID_OPERATION is generated if no vertex array object is bound. + + + Associated Gets + + glGet with arguments GL_SHADER_STORAGE_BUFFER_BINDING, + GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, + GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS, + GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS, GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS, + GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, or GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES. + + + + API Version Support + + + + + + glShaderStorageBlockBinding + + + + + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glStencilFunc.xml b/Source/Bind/Specifications/Docs/ES31/glStencilFunc.xml new file mode 100644 index 00000000..007ec1f3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glStencilFunc.xml @@ -0,0 +1,312 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilFunc + 3G + + + glStencilFunc + set front and back function and reference value for stencil testing + + + C Specification + + + void glStencilFunc + GLenum func + GLint ref + GLuint mask + + + + Parameters + + + func + + + Specifies the test function. + Eight symbolic constants are valid: + GL_NEVER, + GL_LESS, + GL_LEQUAL, + GL_GREATER, + GL_GEQUAL, + GL_EQUAL, + GL_NOTEQUAL, and + GL_ALWAYS. The initial value is GL_ALWAYS. + + + + + ref + + + Specifies the reference value for the stencil test. + Stencil comparison operations and queries of + ref clamp its value to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. The + initial value is 0. + + + + + mask + + + Specifies a mask that is ANDed with both the reference value + and the stored stencil value when the test is done. The initial value + is all 1's. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + Stencil planes are first drawn into using GL drawing primitives, then + geometry and images are rendered using the stencil planes to mask out + portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the reference value + and the value in the stencil buffer. + To enable and disable the test, call glEnable and glDisable + with argument GL_STENCIL_TEST. + To specify actions based on the outcome of the stencil test, call + glStencilOp or + glStencilOpSeparate. + + + There can be two separate sets of func, ref, and + mask parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilFunc sets both front + and back stencil state to the same values. Use glStencilFuncSeparate + to set front and back stencil state to different values. + + + func is a symbolic constant that determines the stencil comparison function. + It accepts one of eight values, + shown in the following list. + ref is an integer reference value that is used in the stencil comparison. + Stencil comparison operations and queries clamp the value to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + mask is bitwise ANDed with both the reference value + and the stored stencil value, + with the ANDed values participating in the comparison. + + + If stencil represents the value stored in the corresponding + stencil buffer location, + the following list shows the effect of each comparison function + that can be specified by func. + Only if the comparison succeeds is the pixel passed through + to the next stage in the rasterization process + (see glStencilOp). + All tests treat stencil values as unsigned integers in the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + + + The following values are accepted by func: + + + + GL_NEVER + + + Always fails. + + + + + GL_LESS + + + Passes if ( ref & mask ) < ( stencil & mask ). + + + + + GL_LEQUAL + + + Passes if ( ref & mask ) <= ( stencil & mask ). + + + + + GL_GREATER + + + Passes if ( ref & mask ) > ( stencil & mask ). + + + + + GL_GEQUAL + + + Passes if ( ref & mask ) >= ( stencil & mask ). + + + + + GL_EQUAL + + + Passes if ( ref & mask ) = ( stencil & mask ). + + + + + GL_NOTEQUAL + + + Passes if ( ref & mask ) != ( stencil & mask ). + + + + + GL_ALWAYS + + + Always passes. + + + + + + Notes + + Initially, the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur and it is as if + the stencil test always passes. + + + glStencilFunc is the same as + calling glStencilFuncSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if func is not one of the eight + accepted values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + + API Version Support + + + + + + glStencilFunc + + + + + + + See Also + + glDepthFunc, + glEnable, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glStencilFuncSeparate.xml b/Source/Bind/Specifications/Docs/ES31/glStencilFuncSeparate.xml new file mode 100644 index 00000000..e4f6bda8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glStencilFuncSeparate.xml @@ -0,0 +1,321 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilFuncSeparate + 3G + + + glStencilFuncSeparate + set front and/or back function and reference value for stencil testing + + + C Specification + + + void glStencilFuncSeparate + GLenum face + GLenum func + GLint ref + GLuint mask + + + + Parameters + + + face + + + Specifies whether front and/or back stencil state is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + func + + + Specifies the test function. + Eight symbolic constants are valid: + GL_NEVER, + GL_LESS, + GL_LEQUAL, + GL_GREATER, + GL_GEQUAL, + GL_EQUAL, + GL_NOTEQUAL, and + GL_ALWAYS. The initial value is GL_ALWAYS. + + + + + ref + + + Specifies the reference value for the stencil test. + Stencil comparison operations and queries of + ref clamp its value to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. The + initial value is 0. + + + + + mask + + + Specifies a mask that is ANDed with both the reference value + and the stored stencil value when the test is done. The initial value + is all 1's. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the reference value + and the value in the stencil buffer. + To enable and disable the test, call glEnable and glDisable + with argument GL_STENCIL_TEST. + To specify actions based on the outcome of the stencil test, call + glStencilOp or + glStencilOpSeparate. + + + There can be two separate sets of func, ref, and + mask parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilFunc sets both front + and back stencil state to the same values, as if + glStencilFuncSeparate were called + with face set to GL_FRONT_AND_BACK. + + + func is a symbolic constant that determines the stencil comparison function. + It accepts one of eight values, + shown in the following list. + ref is an integer reference value that is used in the stencil comparison. + Stencil comparison operations and queries clamp the value to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + mask is bitwise ANDed with both the reference value + and the stored stencil value, + with the ANDed values participating in the comparison. + + + If stencil represents the value stored in the corresponding + stencil buffer location, + the following list shows the effect of each comparison function + that can be specified by func. + Only if the comparison succeeds is the pixel passed through + to the next stage in the rasterization process + (see glStencilOp). + All tests treat stencil values as unsigned integers in the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + + + The following values are accepted by func: + + + + GL_NEVER + + + Always fails. + + + + + GL_LESS + + + Passes if ( ref & mask ) < ( stencil & mask ). + + + + + GL_LEQUAL + + + Passes if ( ref & mask ) <= ( stencil & mask ). + + + + + GL_GREATER + + + Passes if ( ref & mask ) > ( stencil & mask ). + + + + + GL_GEQUAL + + + Passes if ( ref & mask ) >= ( stencil & mask ). + + + + + GL_EQUAL + + + Passes if ( ref & mask ) = ( stencil & mask ). + + + + + GL_NOTEQUAL + + + Passes if ( ref & mask ) != ( stencil & mask ). + + + + + GL_ALWAYS + + + Always passes. + + + + + + Notes + + Initially, the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur and it is as if + the stencil test always passes. + + + Errors + + GL_INVALID_ENUM is generated if func is not one of the eight + accepted values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + + API Version Support + + + + + + glStencilFuncSeparate + + + + + + + See Also + + glDepthFunc, + glEnable, + glStencilFunc, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glStencilMask.xml b/Source/Bind/Specifications/Docs/ES31/glStencilMask.xml new file mode 100644 index 00000000..048a45f6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glStencilMask.xml @@ -0,0 +1,119 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilMask + 3G + + + glStencilMask + control the front and back writing of individual bits in the stencil planes + + + C Specification + + + void glStencilMask + GLuint mask + + + + Parameters + + + mask + + + Specifies a bit mask to enable and disable writing of individual bits + in the stencil planes. + Initially, the mask is all 1's. + + + + + + Description + + glStencilMask controls the writing of individual bits in the stencil planes. + The least significant + n + bits of mask, + where + n + is the number of bits in the stencil buffer, + specify a mask. + Where a 1 appears in the mask, + it's possible to write to the corresponding bit in the stencil buffer. + Where a 0 appears, + the corresponding bit is write-protected. + Initially, all bits are enabled for writing. + + + There can be two separate mask writemasks; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilMask sets both front + and back stencil writemasks to the same values. Use glStencilMaskSeparate + to set front and back stencil writemasks to different values. + + + Notes + + glStencilMask is the same as + calling glStencilMaskSeparate + with face set to GL_FRONT_AND_BACK. + + + Associated Gets + + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + or GL_STENCIL_BITS + + + + API Version Support + + + + + + glStencilMask + + + + + + + See Also + + glColorMask, + glDepthMask, + glStencilFunc, + glStencilFuncSeparate, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glStencilMaskSeparate.xml b/Source/Bind/Specifications/Docs/ES31/glStencilMaskSeparate.xml new file mode 100644 index 00000000..cdcbac74 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glStencilMaskSeparate.xml @@ -0,0 +1,131 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilMaskSeparate + 3G + + + glStencilMaskSeparate + control the front and/or back writing of individual bits in the stencil planes + + + C Specification + + + void glStencilMaskSeparate + GLenum face + GLuint mask + + + + Parameters + + + face + + + Specifies whether the front and/or back stencil writemask is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + mask + + + Specifies a bit mask to enable and disable writing of individual bits + in the stencil planes. + Initially, the mask is all 1's. + + + + + + Description + + glStencilMaskSeparate controls the writing of individual bits in the stencil planes. + The least significant + n + bits of mask, + where + n + is the number of bits in the stencil buffer, + specify a mask. + Where a 1 appears in the mask, + it's possible to write to the corresponding bit in the stencil buffer. + Where a 0 appears, + the corresponding bit is write-protected. + Initially, all bits are enabled for writing. + + + There can be two separate mask writemasks; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilMask sets both front + and back stencil writemasks to the same values, as if + glStencilMaskSeparate were called + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if face is not one of the accepted tokens. + + + Associated Gets + + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + or GL_STENCIL_BITS + + + + API Version Support + + + + + + glStencilMaskSeparate + + + + + + + See Also + + glColorMask, + glDepthMask, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glStencilOp.xml b/Source/Bind/Specifications/Docs/ES31/glStencilOp.xml new file mode 100644 index 00000000..81f11ab1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glStencilOp.xml @@ -0,0 +1,288 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilOp + 3G + + + glStencilOp + set front and back stencil test actions + + + C Specification + + + void glStencilOp + GLenum sfail + GLenum dpfail + GLenum dppass + + + + Parameters + + + sfail + + + Specifies the action to take when the stencil test fails. + Eight symbolic constants are accepted: + GL_KEEP, + GL_ZERO, + GL_REPLACE, + GL_INCR, + GL_INCR_WRAP, + GL_DECR, + GL_DECR_WRAP, and + GL_INVERT. The initial value is GL_KEEP. + + + + + dpfail + + + Specifies the stencil action when the stencil test passes, + but the depth test fails. + dpfail accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + dppass + + + Specifies the stencil action when both the stencil test and the depth + test pass, or when the stencil test passes and either there is no + depth buffer or depth testing is not enabled. + dppass accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the value in the stencil buffer and a + reference value. To enable and disable the test, call glEnable + and glDisable with argument + GL_STENCIL_TEST; to control it, call + glStencilFunc or + glStencilFuncSeparate. + + + There can be two separate sets of sfail, dpfail, and + dppass parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilOp sets both front + and back stencil state to the same values. Use glStencilOpSeparate + to set front and back stencil state to different values. + + + glStencilOp takes three arguments that indicate what happens + to the stored stencil value while stenciling is enabled. + If the stencil test fails, + no change is made to the pixel's color or depth buffers, + and sfail specifies what happens to the stencil buffer contents. + The following eight actions are possible. + + + + GL_KEEP + + + Keeps the current value. + + + + + GL_ZERO + + + Sets the stencil buffer value to 0. + + + + + GL_REPLACE + + + Sets the stencil buffer value to ref, + as specified by glStencilFunc. + + + + + GL_INCR + + + Increments the current stencil buffer value. + Clamps to the maximum representable unsigned value. + + + + + GL_INCR_WRAP + + + Increments the current stencil buffer value. + Wraps stencil buffer value to zero when incrementing the maximum + representable unsigned value. + + + + + GL_DECR + + + Decrements the current stencil buffer value. + Clamps to 0. + + + + + GL_DECR_WRAP + + + Decrements the current stencil buffer value. + Wraps stencil buffer value to the maximum representable unsigned value when + decrementing a stencil buffer value of zero. + + + + + GL_INVERT + + + Bitwise inverts the current stencil buffer value. + + + + + + Stencil buffer values are treated as unsigned integers. + When incremented and decremented, + values are clamped to 0 and + + + + 2 + n + + - + 1 + + , + where + n + is the value returned by querying GL_STENCIL_BITS. + + + The other two arguments to glStencilOp specify stencil buffer actions + that depend on whether subsequent depth buffer tests succeed (dppass) + or fail (dpfail) (see + glDepthFunc). + The actions are specified using the same eight symbolic constants as sfail. + Note that dpfail is ignored when there is no depth buffer, + or when the depth buffer is not enabled. + In these cases, sfail and dppass specify stencil action when the + stencil test fails and passes, + respectively. + + + Notes + + Initially the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur + and it is as if the stencil tests always pass, + regardless of any call to glStencilOp. + + + glStencilOp is the same as + calling glStencilOpSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if sfail, + dpfail, or dppass is any value other than the defined constant values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + + API Version Support + + + + + + glStencilOp + + + + + + + See Also + + glDepthFunc, + glEnable, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glStencilOpSeparate.xml b/Source/Bind/Specifications/Docs/ES31/glStencilOpSeparate.xml new file mode 100644 index 00000000..e648de1a --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glStencilOpSeparate.xml @@ -0,0 +1,300 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glStencilOpSeparate + 3G + + + glStencilOpSeparate + set front and/or back stencil test actions + + + C Specification + + + void glStencilOpSeparate + GLenum face + GLenum sfail + GLenum dpfail + GLenum dppass + + + + Parameters + + + face + + + Specifies whether front and/or back stencil state is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + sfail + + + Specifies the action to take when the stencil test fails. + Eight symbolic constants are accepted: + GL_KEEP, + GL_ZERO, + GL_REPLACE, + GL_INCR, + GL_INCR_WRAP, + GL_DECR, + GL_DECR_WRAP, and + GL_INVERT. The initial value is GL_KEEP. + + + + + dpfail + + + Specifies the stencil action when the stencil test passes, + but the depth test fails. + dpfail accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + dppass + + + Specifies the stencil action when both the stencil test and the depth + test pass, or when the stencil test passes and either there is no + depth buffer or depth testing is not enabled. + dppass accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the value in the stencil buffer and a + reference value. To enable and disable the test, call glEnable + and glDisable with argument + GL_STENCIL_TEST; to control it, call + glStencilFunc or + glStencilFuncSeparate. + + + There can be two separate sets of sfail, dpfail, and + dppass parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilOp sets both front + and back stencil state to the same values, as if + glStencilOpSeparate were called + with face set to GL_FRONT_AND_BACK. + + + glStencilOpSeparate takes three arguments that indicate what happens + to the stored stencil value while stenciling is enabled. + If the stencil test fails, + no change is made to the pixel's color or depth buffers, + and sfail specifies what happens to the stencil buffer contents. + The following eight actions are possible. + + + + GL_KEEP + + + Keeps the current value. + + + + + GL_ZERO + + + Sets the stencil buffer value to 0. + + + + + GL_REPLACE + + + Sets the stencil buffer value to ref, + as specified by glStencilFunc. + + + + + GL_INCR + + + Increments the current stencil buffer value. + Clamps to the maximum representable unsigned value. + + + + + GL_INCR_WRAP + + + Increments the current stencil buffer value. + Wraps stencil buffer value to zero when incrementing the maximum + representable unsigned value. + + + + + GL_DECR + + + Decrements the current stencil buffer value. + Clamps to 0. + + + + + GL_DECR_WRAP + + + Decrements the current stencil buffer value. + Wraps stencil buffer value to the maximum representable unsigned value when + decrementing a stencil buffer value of zero. + + + + + GL_INVERT + + + Bitwise inverts the current stencil buffer value. + + + + + + Stencil buffer values are treated as unsigned integers. + When incremented and decremented, + values are clamped to 0 and + + + + 2 + n + + - + 1 + + , + where + n + is the value returned by querying GL_STENCIL_BITS. + + + The other two arguments to glStencilOpSeparate specify stencil buffer actions + that depend on whether subsequent depth buffer tests succeed (dppass) + or fail (dpfail) (see + glDepthFunc). + The actions are specified using the same eight symbolic constants as sfail. + Note that dpfail is ignored when there is no depth buffer, + or when the depth buffer is not enabled. + In these cases, sfail and dppass specify stencil action when the + stencil test fails and passes, + respectively. + + + Notes + + Initially the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur + and it is as if the stencil test always passes. + + + Errors + + GL_INVALID_ENUM is generated if face is any value + other than GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. + + + GL_INVALID_ENUM is generated if sfail, + dpfail, or dppass is any value other than the eight defined constant values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + + API Version Support + + + + + + glStencilOpSeparate + + + + + + + See Also + + glDepthFunc, + glEnable, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTexImage2D.xml b/Source/Bind/Specifications/Docs/ES31/glTexImage2D.xml new file mode 100644 index 00000000..9315fdbd --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTexImage2D.xml @@ -0,0 +1,596 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexImage2D + 3G + + + glTexImage2D + specify a two-dimensional texture image + + + C Specification + + + void glTexImage2D + GLenum target + GLint level + GLint internalFormat + GLsizei width + GLsizei height + GLint border + GLenum format + GLenum type + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalFormat + + + 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. + + + + + width + + + Specifies the width of the texture image. + All implementations support texture images that are at least 2048 texels + wide. + + + + + height + + + Specifies the height of the texture image. + All implementations support texture images that are at least 2048 texels + high. + + + + + border + + + This value must be 0. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_DEPTH_COMPONENT, + GL_DEPTH_STENCIL, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_HALF_FLOAT, + GL_FLOAT, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_INT_2_10_10_10_REV, + GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_5_9_9_9_REV, + GL_UNSIGNED_INT_24_8, and + GL_FLOAT_32_UNSIGNED_INT_24_8_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + To define texture images, call glTexImage2D. + The arguments describe the parameters of the texture image, + such as height, width, width of the border, level-of-detail number + (see glTexParameter), + and number of color components provided. + The last three arguments describe how the image is represented in memory. + + + If target is GL_TEXTURE_2D + or one of the GL_TEXTURE_CUBE_MAP + targets, data is read from data as a sequence of signed or unsigned + bytes, shorts, or longs, or single-precision floating-point values, + depending on type. These values are grouped into sets of one, two, + three, or four values, depending on format, to form elements. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + 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. + + + format determines the composition of each element in data. + It can assume one of these symbolic values: + + + + GL_RED + + + 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. + + + + + GL_RED_INTEGER + + + 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. + + + + + GL_RG + + + 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. + + + + + GL_RG + + + Each element is a red/green double. + The GL assembles them into an RGBA element by attaching 0 for blue, and 1 for alpha. + + + + + GL_RGB + + + 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. + + + + + GL_RGB_INTEGER + + + Each element is an RGB triple. + The GL assembles them into an RGBA element by attaching 1 for alpha. + + + + + GL_RGBA + + + 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]. + + + + + GL_RGBA_INTEGER + + + Each element contains all four components. + + + + + GL_DEPTH_COMPONENT + + + Each element is a single depth value. + The GL converts it to floating point, and clamps to the range [0,1]. + + + + + GL_DEPTH_STENCIL + + + Each element is a pair of depth and stencil values. The depth component of + the pair is interpreted as in GL_DEPTH_COMPONENT. The stencil + component is interpreted based on specified the depth + stencil internal format. + + + + + GL_LUMINANCE_ALPHA + + + 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. + + + + + GL_LUMINANCE + + + 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. + + + + + GL_ALPHA + + + 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. + + + + + + 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 internalFormat. 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. + + + internalFormat may be one of the unsized (base) internal formats shown, together with valid + format and type combinations, in Table 1, below + + + + + + internalFormat may also be one of the sized internal formats shown, together with valid + format and type combinations, in Table 2, below + + + + + + If the internalFormat parameter is + GL_SRGB8, or + GL_SRGB8_ALPHA8, 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 + + c + s + + + to a linear component + + c + l + + + is: + + + + + + c + l + + = + + { + + + + + + + c + s + + 12.92 + + + + + + if + + + + c + s + + + 0.04045 + + + + + + + ( + + + + c + s + + + + 0.055 + + 1.055 + + ) + + 2.4 + + + + + + if + + + + c + s + + > + 0.04045 + + + + + + + + + + Assume + + c + s + + + is the sRGB component in the range [0,1]. + + + A one-component texture image uses only the red component of the RGBA + color extracted from data. + 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. + + + Image-based shadowing can be enabled by comparing texture r coordinates to + depth texture values to generate a boolean result. + See glTexParameter for details on texture comparison. + + + Notes + + The glPixelStorei mode affects texture images. + + + data may be a null pointer. + In this case, texture memory is + allocated to accommodate a texture of width width and height height. + 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. + + + glTexImage2D specifies the two-dimensional texture for the texture object bound to the current texture unit, + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if target is one of the six cube map 2D image targets + and the width and height parameters are not equal. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_VALUE is generated if width is less than 0 + or greater than GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater than + + + + log + 2 + + + + max + + + , + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if internalFormat is not one of the + accepted resolution and format symbolic constants. + + + GL_INVALID_VALUE is generated if width or height is less than 0 + or greater than GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if border is not 0. + + + GL_INVALID_OPERATION is generated if the combination of internalFormat, + format and type is not one of those in the tables above. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glTexImage2D + + + + + + + See Also + + glActiveTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage3D, + glTexStorage2D, + glTexStorage3D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTexImage3D.xml b/Source/Bind/Specifications/Docs/ES31/glTexImage3D.xml new file mode 100644 index 00000000..d86ba5e1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTexImage3D.xml @@ -0,0 +1,616 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexImage3D + 3G + + + glTexImage3D + specify a three-dimensional texture image + + + C Specification + + + void glTexImage3D + GLenum target + GLint level + GLint internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLenum format + GLenum type + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be one of GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level + n + is the + + + n + th + + + mipmap reduction image. + + + + + internalFormat + + + 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. + + + + + width + + + Specifies the width of the texture image. + All implementations support 3D texture images that are at least 256 texels + wide. + + + + + height + + + Specifies the height of the texture image. + All implementations support 3D texture images that are at least 256 texels + high. + + + + + depth + + + Specifies the depth of the texture image, or the number of layers in a texture array. + All implementations support 3D texture images that are at least 256 texels + deep, and texture arrays that are at least 256 layers deep. + + + + + border + + + This value must be 0. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_DEPTH_COMPONENT, + GL_DEPTH_STENCIL, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA, + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_HALF_FLOAT, + GL_FLOAT, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_INT_2_10_10_10_REV, + GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_5_9_9_9_REV, + GL_UNSIGNED_INT_24_8, and + GL_FLOAT_32_UNSIGNED_INT_24_8_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + To define texture images, call glTexImage3D. + The arguments describe the parameters of the texture image, + such as height, + width, depth, + width of the border, + level-of-detail number + (see glTexParameter), + and number of color components provided. + The last three arguments describe how the image is represented in memory. + + + If target is GL_TEXTURE_3D, + data is read from data as a sequence of signed or unsigned bytes, + shorts, + or longs, + or single-precision floating-point values, + depending on type. + These values are grouped into sets of one, + two, + three, + or four values, + depending on format, + to form elements. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + 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. + + + format determines the composition of each element in data. + It can assume one of these symbolic values: + + + + GL_RED + + + 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. + + + + + GL_RED_INTEGER + + + 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. + + + + + GL_RG + + + 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. + + + + + GL_RG + + + Each element is a red/green double. + The GL assembles them into an RGBA element by attaching 0 for blue, and 1 for alpha. + + + + + GL_RGB + + + 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. + + + + + GL_RGB_INTEGER + + + Each element is an RGB triple. + The GL assembles them into an RGBA element by attaching 1 for alpha. + + + + + GL_RGBA + + + 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]. + + + + + GL_RGBA_INTEGER + + + Each element contains all four components. + + + + + GL_DEPTH_COMPONENT + + + Each element is a single depth value. + The GL converts it to floating point, and clamps to the range [0,1]. + + + + + GL_DEPTH_STENCIL + + + Each element is a pair of depth and stencil values. The depth component of + the pair is interpreted as in GL_DEPTH_COMPONENT. The stencil + component is interpreted based on specified the depth + stencil internal format. + + + + + GL_LUMINANCE_ALPHA + + + 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. + + + + + GL_LUMINANCE + + + 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. + + + + + GL_ALPHA + + + 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. + + + + + + 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 internalFormat. 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. + + + internalFormat may be one of the unsized (base) internal formats shown, together with valid + format and type combinations, in Table 1, below + + + + + + internalFormat may also be one of the sized internal formats shown, together with valid + format and type combinations, in Table 2, below + + + + + + If the internalFormat parameter is + GL_SRGB, + GL_SRGB8, or + GL_SRGB8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component + + + c + s + + + to a linear component + + + c + l + + + is: + + + + + + c + l + + = + + { + + + + + + c + s + + 12.92 + + + + + + if + + + + c + s + + + 0.04045 + + + + + + + ( + + + + c + s + + + + 0.055 + + 1.055 + + ) + + 2.4 + + + + + + if + + + + c + s + + > + 0.04045 + + + + + + + + + + Assume + + c + s + + + is the sRGB component in the range [0,1]. + + + A one-component texture image uses only the red component of the RGBA + color extracted from data. + A two-component image uses the R and A values. + A three-component image uses the R, G, and B values. + A four-component image uses all of the RGBA components. + + + Notes + + The glPixelStorei mode affects texture images. + + + data may be a null pointer. + In this case texture memory is + allocated to accommodate a texture of width width, height height, + and depth depth. + 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. + + + glTexImage3D specifies the two-dimensional array or three-dimensional texture for the + texture object bound to the current texture unit, specified with + glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D + or GL_TEXTURE_2D_ARRAY. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. Format constants other than GL_STENCIL_INDEX and GL_DEPTH_COMPONENT + are accepted. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater than + + + + log + 2 + + + + max + + + , + where max is the returned value of GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if internalFormat is not one of the + accepted resolution and format symbolic constants. + + + GL_INVALID_VALUE is generated if width, height, + or depth is less than 0 or greater than GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if border is not 0 or 1. + + + GL_INVALID_OPERATION is generated if the combination of internalFormat, + format and type is not one of those in the tables above. + + + GL_INVALID_OPERATION is generated if target is GL_TEXTURE_3D and + format is GL_DEPTH_COMPONENT, or GL_DEPTH_STENCIL. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glTexImage3D + + + + + + + See Also + + glActiveTexture, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTexParameter.xml b/Source/Bind/Specifications/Docs/ES31/glTexParameter.xml new file mode 100644 index 00000000..b09b577b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTexParameter.xml @@ -0,0 +1,1214 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexParameter + 3G + + + glTexParameter + set texture parameters + + + C Specification + + + void glTexParameterf + GLenum target + GLenum pname + GLfloat param + + + + + void glTexParameteri + GLenum target + GLenum pname + GLint param + + + + + + void glTexParameterfv + GLenum target + GLenum pname + const GLfloat * params + + + + + void glTexParameteriv + GLenum target + GLenum pname + const GLint * params + + + + Parameters + + + target + + + Specifies the target texture, + which must be either GL_TEXTURE_2D, + GL_TEXTURE_3D, + GL_TEXTURE_2D_ARRAY, + or GL_TEXTURE_CUBE_MAP. + + + + + pname + + + Specifies the symbolic name of a single-valued texture parameter. + pname can be one of the following: + GL_TEXTURE_BASE_LEVEL, + GL_TEXTURE_COMPARE_FUNC, + GL_TEXTURE_COMPARE_MODE, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_MAX_LEVEL, + GL_TEXTURE_SWIZZLE_R, + GL_TEXTURE_SWIZZLE_G, + GL_TEXTURE_SWIZZLE_B, + GL_TEXTURE_SWIZZLE_A, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, or + GL_TEXTURE_WRAP_R. + + + + + param + + + Specifies the value of pname. + + + + + params + + + For the vector commands, specifies a pointer to an array + where the value or values of + pname are stored. + + + + + + Description + + glTexParameter assigns the value or values in params to the texture parameter + specified as pname. + target defines the target texture, + either GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, + GL_TEXTURE_2D_ARRAY, or GL_TEXTURE_3D. + The following symbols are accepted in pname: + + + + GL_TEXTURE_BASE_LEVEL + + + Specifies the index of the lowest defined mipmap level. This is an + integer value. The initial value is 0. + + + + + + + + + GL_TEXTURE_COMPARE_FUNC + + + Specifies the comparison operator used when GL_TEXTURE_COMPARE_MODE is + set to GL_COMPARE_REF_TO_TEXTURE. Permissible values are: + + + + + + + + Texture Comparison Function + + + Computed result + + + + + + + GL_LEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + <= + + D + t + + + + + + + r + > + + D + t + + + + + + + + + + + + + + GL_GEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + >= + + D + t + + + + + + + r + < + + D + t + + + + + + + + + + + + + + GL_LESS + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + < + + D + t + + + + + + + r + >= + + D + t + + + + + + + + + + + + + + GL_GREATER + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + > + + D + t + + + + + + + r + <= + + D + t + + + + + + + + + + + + + + GL_EQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + = + + D + t + + + + + + + r + + + D + t + + + + + + + + + + + + + + GL_NOTEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + + + D + t + + + + + + + r + = + + D + t + + + + + + + + + + + + + + GL_ALWAYS + + + + + + result + = + 1.0 + + + + + + + + GL_NEVER + + + + + + result + = + 0.0 + + + + + + + + + where r + is the current interpolated texture coordinate, and + + + D + t + + + is the depth texture value sampled from the currently bound depth texture. + result + is assigned to the the red channel. + + + + + GL_TEXTURE_COMPARE_MODE + + + Specifies the texture comparison mode for currently bound depth textures. + That is, a texture whose internal format is GL_DEPTH_COMPONENT_*; see + glTexImage2D) + Permissible values are: + + + GL_COMPARE_REF_TO_TEXTURE + + + Specifies that the interpolated and clamped + r + texture coordinate should + be compared to the value in the currently bound depth texture. See the + discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison + is evaluated. The result of the comparison is assigned to the red channel. + + + + + GL_NONE + + + Specifies that the red channel should be assigned the + appropriate value from the currently bound depth texture. + + + + + + + + + GL_TEXTURE_MIN_FILTER + + + The texture minifying function is used whenever the level-of-detail function + used when sampling from the texture determines that the texture should be minified. + There are six defined minifying functions. + Two of them use either the nearest texture elements or a weighted average of multiple texture elements + to compute the texture value. + The other four use mipmaps. + + + A mipmap is an ordered set of arrays representing the same image + at progressively lower resolutions. + If the texture has dimensions + + + + 2 + n + + × + 2 + m + + + , + there are + + + + + max + + + n + m + + + + + 1 + + + mipmaps. + The first mipmap is the original texture, + with dimensions + + + + 2 + n + + × + 2 + m + + + . + Each subsequent mipmap has dimensions + + + + 2 + + + k + - + 1 + + + + × + 2 + + + l + - + 1 + + + + + , + where + + + + 2 + k + + × + 2 + l + + + + are the dimensions of the previous mipmap, + until either + + + + k + = + 0 + + + or + + + + l + = + 0 + + . + At that point, + subsequent mipmaps have dimension + + + + 1 + × + 2 + + + l + - + 1 + + + + + + or + + + + 2 + + + k + - + 1 + + + + × + 1 + + + until the final mipmap, + which has dimension + + + + 1 + × + 1 + + . + To define the mipmaps, call glTexImage2D, + glTexImage3D, + or glCopyTexImage2D + with the level argument indicating the order of the mipmaps. + Level 0 is the original texture; + level + + + + max + + + n + m + + + + is the final + + + + 1 + × + 1 + + + mipmap. + + + params supplies a function for minifying the texture as one of the + following: + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the specified texture coordinates. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the specified texture coordinates. + These can include items wrapped or repeated from other parts of a texture, + depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, + and on the exact mapping. + + + + + GL_NEAREST_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element closest to the specified texture coordinates) + to produce a texture value. + + + + + GL_LINEAR_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest to the specified texture coordinates) + to produce a texture value. + + + + + GL_NEAREST_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element closest to the specified texture coordinates ) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + GL_LINEAR_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the texture elements that are closest to the specified texture coordinates) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + + + As more texture elements are sampled in the minification process, + fewer aliasing artifacts will be apparent. + While the GL_NEAREST and GL_LINEAR minification functions can be + faster than the other four, + they sample only one or multiple texture elements to determine the texture value + of the pixel being rendered and can produce moire patterns + or ragged transitions. + The initial value of GL_TEXTURE_MIN_FILTER is + GL_NEAREST_MIPMAP_LINEAR. + + + + + + + + + GL_TEXTURE_MAG_FILTER + + + The texture magnification function is used whenever the level-of-detail function + used when sampling from the texture determines that the texture should be magified. + It sets the texture magnification function to either GL_NEAREST + or GL_LINEAR (see below). GL_NEAREST is generally faster + than GL_LINEAR, + but it can produce textured images with sharper edges + because the transition between texture elements is not as smooth. + The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR. + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the specified texture coordinates. + + + + + GL_LINEAR + + + Returns the weighted average of the texture elements + that are closest to the specified texture coordinates. + These can include items wrapped or repeated from other parts of a texture, + depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, + and on the exact mapping. + + + + + + + + + + + + + GL_TEXTURE_MIN_LOD + + + Sets the minimum level-of-detail parameter. This floating-point value + limits the selection of highest resolution mipmap (lowest mipmap + level). The initial value is -1000. + + + + + + + + + GL_TEXTURE_MAX_LOD + + + Sets the maximum level-of-detail parameter. This floating-point value + limits the selection of the lowest resolution mipmap (highest mipmap + level). The initial value is 1000. + + + + + + + + + GL_TEXTURE_MAX_LEVEL + + + Sets the index of the highest defined mipmap level. This is an integer + value. The initial value is 1000. + + + + + + + + + GL_TEXTURE_SWIZZLE_R + + + Sets the swizzle that will be applied to the r + component of a texel before it is returned to the shader. Valid values for param are GL_RED, + GL_GREEN, GL_BLUE, GL_ALPHA, GL_ZERO and + GL_ONE. + If GL_TEXTURE_SWIZZLE_R is GL_RED, the value for + r will be taken from the first + channel of the fetched texel. + If GL_TEXTURE_SWIZZLE_R is GL_GREEN, the value for + r will be taken from the second + channel of the fetched texel. + If GL_TEXTURE_SWIZZLE_R is GL_BLUE, the value for + r will be taken from the third + channel of the fetched texel. + If GL_TEXTURE_SWIZZLE_R is GL_ALPHA, the value for + r will be taken from the fourth + channel of the fetched texel. + If GL_TEXTURE_SWIZZLE_R is GL_ZERO, the value for + r will be subtituted with + 0. + If GL_TEXTURE_SWIZZLE_R is GL_ONE, the value for + r will be subtituted with + 1 for integer texture components, otherwise + 1.0. + The initial value is GL_RED. + + + + + + + + + GL_TEXTURE_SWIZZLE_G + + + Sets the swizzle that will be applied to the g + component of a texel before it is returned to the shader. Valid values for param and their effects are similar to + those of GL_TEXTURE_SWIZZLE_R. + The initial value is GL_GREEN. + + + + + + + + + GL_TEXTURE_SWIZZLE_B + + + Sets the swizzle that will be applied to the b + component of a texel before it is returned to the shader. Valid values for param and their effects are similar to + those of GL_TEXTURE_SWIZZLE_R. + The initial value is GL_BLUE. + + + + + + + + + GL_TEXTURE_SWIZZLE_A + + + Sets the swizzle that will be applied to the a + component of a texel before it is returned to the shader. Valid values for param and their effects are similar to + those of GL_TEXTURE_SWIZZLE_R. + The initial value is GL_ALPHA. + + + + + + + + + + + GL_TEXTURE_WRAP_S + + + Sets the wrap parameter for texture coordinate + s + to either GL_CLAMP_TO_EDGE, + GL_MIRRORED_REPEAT, or + GL_REPEAT. GL_CLAMP_TO_EDGE causes + s + coordinates to be clamped to the + range + + + + + + + 1 + 2N + + + + + 1 + - + + + + 1 + 2N + + + + + + , + where + N + is the size + of the texture in the direction of clamping. + GL_REPEAT causes the + integer part of the + s + coordinate to be ignored; the GL uses only the + fractional part, thereby creating a repeating pattern. + GL_MIRRORED_REPEAT causes the + s + coordinate to be set to the + fractional part of the texture coordinate if the integer part of + s + is + even; if the integer part of + s + is odd, then the + s + texture coordinate is + set to + + + + 1 + - + + frac + + + s + + + + , + where + + + + frac + + + s + + + + represents the fractional part of + s. + Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT. + + + + + + + + + GL_TEXTURE_WRAP_T + + + Sets the wrap parameter for texture coordinate + t + to either GL_CLAMP_TO_EDGE, + GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT. + + + + + + + + + GL_TEXTURE_WRAP_R + + + Sets the wrap parameter for texture coordinate + r + to either GL_CLAMP_TO_EDGE, + GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT. + + + + + + Notes + + Suppose that a program attempts to sample from a texture and + has set GL_TEXTURE_MIN_FILTER to one of the functions that requires a + mipmap. If either the dimensions of the texture images currently defined + (with previous calls to glTexStorage2D, + glTexImage2D, + glTexStorage3D, + glTexImage3D, + or glCopyTexImage2D) do not + follow the proper sequence for mipmaps (described above), or there are + fewer texture images defined than are needed, or the set of texture images + have differing numbers of texture components, then the texture is considered incomplete. + + + Linear filtering accesses the four nearest texture elements only in 2D + textures. In 1D textures, linear filtering accesses the two nearest + texture elements. In 3D textures, linear filtering accesses the eight nearest + texture elements. + + + glTexParameter specifies the texture parameters for the texture object bound to the + active texture unit, specified by calling glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not + one of the accepted defined values. + + + GL_INVALID_ENUM is generated if params should have a defined + constant value (based on the value of pname) and does not. + + + Associated Gets + + glGetTexParameter + + + + API Version Support + + + + + + glTexParameterf + + + + glTexParameterfv + + + + glTexParameteri + + + + glTexParameteriv + + + + + + + See Also + + glActiveTexture, + glBindTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glSamplerParameter, + glTexStorage2D, + glTexImage2D, + glTexStorage3D, + glTexImage3D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTexStorage2D.xml b/Source/Bind/Specifications/Docs/ES31/glTexStorage2D.xml new file mode 100644 index 00000000..247749c2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTexStorage2D.xml @@ -0,0 +1,221 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + glTexStorage2D + 3G + + + glTexStorage2D + simultaneously specify storage for all levels of a two-dimensional texture + + + C Specification + + + void glTexStorage2D + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + + + + Parameters + + + target + + + Specify the target of the operation. target must be + one of GL_TEXTURE_2D, + or GL_TEXTURE_CUBE_MAP. + + + + + levels + + + Specify the number of texture levels. + + + + + internalformat + + + Specifies the sized internal format to be used to store texture image data. + + + + + width + + + Specifies the width of the texture, in texels. + + + + + height + + + Specifies the height of the texture, in texels. + + + + + + Description + + glTexStorage2D specifies the storage requirements for all levels + of a two-dimensional texture simultaneously. Once a texture is specified with this + command, the format and dimensions of all levels become immutable. + The contents of the image may still be modified, however, its storage requirements + may not change. Such a texture is referred to as an immutable-format + texture. + + + The behavior of glTexStorage2D depends on the target parameter. + When target is GL_TEXTURE_2D, + calling glTexStorage2D is equivalent, assuming no errors are generated, + to executing the following pseudo-code: + + for (i = 0; i < levels; i++) + { + glTexImage2D(target, i, internalformat, width, height, 0, format, type, NULL); + width = max(1, (width / 2)); + height = max(1, (height / 2)); + } + + When target is GL_TEXTURE_CUBE_MAP, glTexStorage2D + is equivalent to: + + for (i = 0; i < levels; i++) + { + for (face in (+X, -X, +Y, -Y, +Z, -Z)) + { + glTexImage2D(face, i, internalformat, width, height, 0, format, type, NULL); + } + width = max(1, (width / 2)); + height = max(1, (height / 2)); + } + + Since no texture data is actually provided, the values used in the pseudo-code + for format and type are + irrelevant and may be considered to be any values that are legal for the + chosen internalformat enumerant. internalformat + must be one of the sized internal formats given in Table 1, or one of the compressed internal + formats given in Table 2 below. Upon success, + the value of GL_TEXTURE_IMMUTABLE_FORMAT becomes + GL_TRUE. The value of GL_TEXTURE_IMMUTABLE_FORMAT + may be discovered by calling glGetTexParameter + with pname set to GL_TEXTURE_IMMUTABLE_FORMAT. + No further changes to the dimensions or format of the texture object may be + made. Using any command that might alter the dimensions or format of the + texture object (such as glTexImage2D or + another call to glTexStorage2D) will result in the + generation of a GL_INVALID_OPERATION error, even if it + would not, in fact, alter the dimensions or format of the object. + + + + + + + + + Errors + + GL_INVALID_OPERATION is generated if the default texture object is curently bound to target. + + + GL_INVALID_OPERATION is generated if the texture object curently bound to target + already has GL_TEXTURE_IMMUTABLE_FORMAT set to GL_TRUE. + + + GL_INVALID_ENUM is generated if internalformat is not a + valid sized internal format. + + + GL_INVALID_ENUM is generated if target is not + one of the accepted target enumerants. + + + GL_INVALID_VALUE is generated if width, height or + levels are less than 1. + + + + GL_INVALID_OPERATION is generated if levels is greater than + + + + + + + log + 2 + + + + max + + + width + , +   + height + + + + + + + + + 1 + + + . + + + + API Version Support + + + + + + glTexStorage2D + + + + + + + See Also + + glTexImage2D, + glCompressedTexImage2D, + glTexStorage3D. + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTexStorage2DMultisample.xml b/Source/Bind/Specifications/Docs/ES31/glTexStorage2DMultisample.xml new file mode 100644 index 00000000..b84253c4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTexStorage2DMultisample.xml @@ -0,0 +1,161 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glTexStorage2DMultisample + 3G + + + glTexStorage2DMultisample + specify storage for a two-dimensional multisample texture + + + C Specification + + + void glTexStorage2DMultisample + GLenum target + GLsizei samples + GLenum internalformat + GLsizei width + GLsizei height + GLboolean fixedsamplelocations + + + + Parameters + + + target + + + Specify the target of the operation. target must be + GL_TEXTURE_2D_MULTISAMPLE. + + + + + samples + + + Specify the number of samples in the texture. + + + + + internalformat + + + Specifies the sized internal format to be used to store texture image data. + + + + + width + + + Specifies the width of the texture, in texels. + + + + + height + + + Specifies the height of the texture, in texels. + + + + + fixedsamplelocations + + + Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not + depend on the internal format or size of the image. + + + + + + Description + + glTexStorage2DMultisample specifies the storage requirements for + a two-dimensional multisample texture. Once a texture is specified with this + command, its format and dimensions become immutable. + The contents of the image may still be modified, however, its storage requirements + may not change. Such a texture is referred to as an immutable-format + texture. + + + samples specifies the number of samples to be used for the texture + and must be greater than zero and less than or equal to the value of GL_MAX_SAMPLES. + internalformat must be a color-renderable, depth-renderable, or stencil-renderable format. + width and height specify the width and height, + respectively, of the texture. If fixedsamplelocations is GL_TRUE, + the image will use identical sample locations and the same number of samples for all texels in the image, + and the sample locations will not depend on the internal format or size of the image. + + + + + + Errors + + GL_INVALID_ENUM is generated if internalformat is not a + valid color-renderable, depth-renderable or stencil-renderable format. + + + GL_INVALID_ENUM is generated if target is not + one of the accepted target enumerants. + + + GL_INVALID_VALUE is generated if width or height + are less than 1 or greater than the value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if samples is greater than the + value of GL_MAX_SAMPLES. + + + GL_INVALID_OPERATION is generated if the value of GL_TEXTURE_IMMUTABLE_FORMAT + for the texture bound to target is not GL_FALSE. + + + + API Version Support + + + + + + glTexStorage2DMultisample + + + + + + + See Also + + glTexImage2D, + glTexImage2DMultisample, + glTexStorage3D. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTexStorage3D.xml b/Source/Bind/Specifications/Docs/ES31/glTexStorage3D.xml new file mode 100644 index 00000000..74b935a3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTexStorage3D.xml @@ -0,0 +1,263 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + glTexStorage3D + 3G + + + glTexStorage3D + simultaneously specify storage for all levels of a three-dimensional or two-dimensional array texture + + + C Specification + + + void glTexStorage3D + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + + + + Parameters + + + target + + + Specify the target of the operation. target must be + one of GL_TEXTURE_3D, or GL_TEXTURE_2D_ARRAY. + + + + + levels + + + Specify the number of texture levels. + + + + + internalformat + + + Specifies the sized internal format to be used to store texture image data. + + + + + width + + + Specifies the width of the texture, in texels. + + + + + height + + + Specifies the height of the texture, in texels. + + + + + depth + + + Specifies the depth of the texture, in texels. + + + + + + Description + + glTexStorage3D specifies the storage requirements for all levels + of a three-dimensional or two-dimensional array texture simultaneously. Once a texture is specified with this + command, the format and dimensions of all levels become immutable. + The contents of the image may still be modified, however, its storage requirements + may not change. Such a texture is referred to as an immutable-format + texture. + + + The behavior of glTexStorage3D depends on the target parameter. + When target is GL_TEXTURE_3D, + calling glTexStorage3D is equivalent, assuming no errors are generated, + to executing the following pseudo-code: + + for (i = 0; i < levels; i++) + { + glTexImage3D(target, i, internalformat, width, height, depth, 0, format, type, NULL); + width = max(1, (width / 2)); + height = max(1, (height / 2)); + depth = max(1, (depth / 2)); + } + + When target is GL_TEXTURE_2D_ARRAY, glTexStorage3D + is equivalent to: + + for (i = 0; i < levels; i++) + { + glTexImage3D(target, i, internalformat, width, height, depth, 0, format, type, NULL); + width = max(1, (width / 2)); + height = max(1, (height / 2)); + } + + Since no texture data is actually provided, the values used in the pseudo-code + for format and type are + irrelevant and may be considered to be any values that are legal for the + chosen internalformat enumerant. internalformat + must be one of the sized internal formats given in Table 1, or one of the compressed internal + formats given in Table 2 below. Upon success, + the value of GL_TEXTURE_IMMUTABLE_FORMAT becomes + GL_TRUE. The value of GL_TEXTURE_IMMUTABLE_FORMAT + may be discovered by calling glGetTexParameter + with pname set to GL_TEXTURE_IMMUTABLE_FORMAT. + No further changes to the dimensions or format of the texture object may be + made. Using any command that might alter the dimensions or format of the + texture object (such as glTexImage3D or + another call to glTexStorage3D) will result in the + generation of a GL_INVALID_OPERATION error, even if it + would not, in fact, alter the dimensions or format of the object. + + + + + + + + + Errors + + GL_INVALID_OPERATION is generated if the default texture object is curently bound to target. + + + GL_INVALID_OPERATION is generated if the texture object curently bound to target + already has GL_TEXTURE_IMMUTABLE_FORMAT set to GL_TRUE. + + + GL_INVALID_ENUM is generated if internalformat is not a + valid sized internal format. + + + GL_INVALID_ENUM is generated if target is not + one of the accepted target enumerants. + + + GL_INVALID_VALUE is generated if width, height, + depth or levels are less than 1. + + + GL_INVALID_OPERATION is generated if target is GL_TEXTURE_3D + and levels is greater than + + + + + + + log + 2 + + + + max + + + width + , +   + height + , +   + depth + + + + + + + + + 1 + + + . + + + GL_INVALID_OPERATION is generated if target is GL_TEXTURE_2D_ARRAY + and levels is greater than + + + + + + + log + 2 + + + + max + + + width + , +   + height + + + + + + + + + 1 + + + . + + + + API Version Support + + + + + + glTexStorage3D + + + + + + + See Also + + glTexImage3D, + glCompressedTexImage3D, + glTexStorage2D. + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTexSubImage2D.xml b/Source/Bind/Specifications/Docs/ES31/glTexSubImage2D.xml new file mode 100644 index 00000000..33dfb96b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTexSubImage2D.xml @@ -0,0 +1,374 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexSubImage2D + 3G + + + glTexSubImage2D + specify a two-dimensional texture subimage + + + C Specification + + + void glTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_DEPTH_COMPONENT, + GL_DEPTH_STENCIL, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_HALF_FLOAT, + GL_FLOAT, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_INT_2_10_10_10_REV, + GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_5_9_9_9_REV, + GL_UNSIGNED_INT_24_8, and + GL_FLOAT_32_UNSIGNED_INT_24_8_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glTexSubImage2D redefines a contiguous subregion of an existing two-dimensional + texture image. + The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive, + and y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive. + This region may not include any texels outside the range of the + texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glPixelStorei modes affect texture images. + + + glTexSubImage2D specifies a two-dimensional subtexture for the texture object bound to the + current texture unit, specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + 0 + + + , + + + + + + xoffset + + + width + + + > + + w + + + , + + + + yoffset + < + + 0 + + + , + or + + + + + + yoffset + + + height + + + > + + h + + + , + where + w + is the GL_TEXTURE_WIDTH, and + h + is the GL_TEXTURE_HEIGHT + of the texture image being modified. + + + GL_INVALID_VALUE is generated if width or height is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage2D or + glTexStorage2D operation. + + + GL_INVALID_OPERATION is generated if the combination of internalFormat of the + previously specified texture array, format and type is not valid. See + glTexImage2D. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glTexSubImage2D + + + + + + + See Also + + glActiveTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexStorage2D, + glTexStorage3D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTexSubImage3D.xml b/Source/Bind/Specifications/Docs/ES31/glTexSubImage3D.xml new file mode 100644 index 00000000..eb4b3be4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTexSubImage3D.xml @@ -0,0 +1,423 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glTexSubImage3D + 3G + + + glTexSubImage3D + specify a three-dimensional texture subimage + + + C Specification + + + void glTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const GLvoid * data + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + zoffset + + + Specifies a texel offset in the z direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + depth + + + Specifies the depth of the texture subimage. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_RED, + GL_RED_INTEGER, + GL_RG, + GL_RG_INTEGER, + GL_RGB, + GL_RGB_INTEGER, + GL_RGBA, + GL_RGBA_INTEGER, + GL_DEPTH_COMPONENT, + GL_DEPTH_STENCIL, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE, and + GL_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_HALF_FLOAT, + GL_FLOAT, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_INT_2_10_10_10_REV, + GL_UNSIGNED_INT_10F_11F_11F_REV, + GL_UNSIGNED_INT_5_9_9_9_REV, + GL_UNSIGNED_INT_24_8, and + GL_FLOAT_32_UNSIGNED_INT_24_8_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing allows elements of an image array to be read by shaders. + + + glTexSubImage3D redefines a contiguous subregion of an existing three-dimensional + or two-dimensional array texture image. + The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive, + y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive, + and z indices zoffset and + + + + zoffset + + + depth + - + 1 + + , + inclusive. + This region may not include any texels outside the range of the + texture array as it was originally specified. + It is not an error to specify a subtexture with zero width, height, or + depth but such a specification has no effect. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + The glPixelStorei modes affect texture images. + + + glTexSubImage3D specifies a three-dimensional subtexture for the texture object bound to the + current texture unit, specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D or + GL_TEXTURE_2D_ARRAY. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + 0 + + + , + + + + + + xoffset + + + width + + + > + + w + + + , + + + + yoffset + < + + 0 + + + , + or + + + + + + yoffset + + + height + + + > + + h + + + , + or + + + + zoffset + < + + 0 + + + , + or + + + + + + zoffset + + + depth + + + > + + d + + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + d + is the GL_TEXTURE_DEPTH of the texture image being modified. + + + GL_INVALID_VALUE is generated if width, height, or depth + is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage3D or + glTexStorage3D operation. + + + GL_INVALID_OPERATION is generated if the combination of internalFormat of the + previously specified texture array, format and type is not valid. See + glTexImage3D. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + Associated Gets + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + + API Version Support + + + + + + glTexSubImage3D + + + + + + + See Also + + glActiveTexture, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStorei, + glTexImage2D, + glTexImage3D, + glTexStorage2D, + glTexStorage3D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glTransformFeedbackVaryings.xml b/Source/Bind/Specifications/Docs/ES31/glTransformFeedbackVaryings.xml new file mode 100644 index 00000000..e2e36fa0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glTransformFeedbackVaryings.xml @@ -0,0 +1,161 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glTransformFeedbackVaryings + 3G + + + glTransformFeedbackVaryings + specify values to record in transform feedback buffers + + + C Specification + + + void glTransformFeedbackVaryings + GLuint program + GLsizei count + const char ** varyings + GLenum bufferMode + + + + Parameters + + + program + + + The name of the target program object. + + + + + count + + + The number of varying variables used for transform feedback. + + + + + varyings + + + An array of count zero-terminated strings specifying the + names of the varying variables to use for transform feedback. + + + + + bufferMode + + + Identifies the mode used to capture the varying variables when transform feedback is active. + bufferMode must be GL_INTERLEAVED_ATTRIBS or GL_SEPARATE_ATTRIBS. + + + + + + Description + + The names of the vertex shader outputs to be recorded in transform feedback mode + are specified using glTransformFeedbackVaryings .Transform feedback + records the values of the selected vertex shader outputs. + + + The state set by glTranformFeedbackVaryings is stored and takes effect + next time glLinkProgram is called + on program. When glLinkProgram + is called, program is linked so that the values of the specified varying variables + for the vertices of each primitive generated by the GL are written to a single buffer + object if bufferMode is GL_INTERLEAVED_ATTRIBS or multiple + buffer objects if bufferMode is GL_SEPARATE_ATTRIBS. + + + In addition to the errors generated by glTransformFeedbackVaryings, the + program program will fail to link if: + + + + Any variable name specified in the varyings array is not declared as an output + in the vertex shader. + + + + + Any two entries in the varyings array specify the same varying variable. + + + + + The total number of components to capture in any varying variable in varyings + is greater than the constant GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS + and the buffer mode is GL_SEPARATE_ATTRIBS. + + + + + The total number of components to capture is greater than the constant + GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS and the buffer + mode is GL_INTERLEAVED_ATTRIBS. + + + + + + Errors + + GL_INVALID_VALUE is generated if program is not + the name of a program object. + + + GL_INVALID_VALUE is generated if bufferMode is GL_SEPARATE_ATTRIBS + and count is greater than the implementation-dependent limit GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS. + + + Associated Gets + + glGetTransformFeedbackVarying + + + + API Version Support + + + + + + glTransformFeedbackVaryings + + + + + + + See Also + + glBeginTransformFeedback, + glEndTransformFeedback, + glGetTransformFeedbackVarying + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glUniform.xml b/Source/Bind/Specifications/Docs/ES31/glUniform.xml new file mode 100644 index 00000000..c228ded8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glUniform.xml @@ -0,0 +1,682 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glUniform + 3G + + + glUniform + glUniform1f + glUniform2f + glUniform3f + glUniform4f + glUniform1i + glUniform2i + glUniform3i + glUniform4i + glUniform1ui + glUniform2ui + glUniform3ui + glUniform4ui + glUniform1fv + glUniform2fv + glUniform3fv + glUniform4fv + glUniform1iv + glUniform2iv + glUniform3iv + glUniform4iv + glUniform1uiv + glUniform2uiv + glUniform3uiv + glUniform4uiv + glUniformMatrix2fv + glUniformMatrix3fv + glUniformMatrix4fv + glUniformMatrix2x3fv + glUniformMatrix3x2fv + glUniformMatrix2x4fv + glUniformMatrix4x2fv + glUniformMatrix3x4fv + glUniformMatrix4x3fv + Specify the value of a uniform variable for the current program object + + + C Specification + + + void glUniform1f + GLint location + GLfloat v0 + + + void glUniform2f + GLint location + GLfloat v0 + GLfloat v1 + + + void glUniform3f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glUniform4f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glUniform1i + GLint location + GLint v0 + + + void glUniform2i + GLint location + GLint v0 + GLint v1 + + + void glUniform3i + GLint location + GLint v0 + GLint v1 + GLint v2 + + + void glUniform4i + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + void glUniform1ui + GLint location + GLuint v0 + + + void glUniform2ui + GLint location + GLuint v0 + GLuint v1 + + + void glUniform3ui + GLint location + GLuint v0 + GLuint v1 + GLuint v2 + + + void glUniform4ui + GLint location + GLint v0 + GLuint v1 + GLuint v2 + GLuint v3 + + + + void glUniform1fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform2fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform3fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform4fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform1iv + GLint location + GLsizei count + const GLint *value + + + void glUniform2iv + GLint location + GLsizei count + const GLint *value + + + void glUniform3iv + GLint location + GLsizei count + const GLint *value + + + void glUniform4iv + GLint location + GLsizei count + const GLint *value + + + void glUniform1uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform2uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform3uiv + GLint location + GLsizei count + const GLuint *value + + + void glUniform4uiv + GLint location + GLsizei count + const GLuint *value + + + + void glUniformMatrix2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix2x3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3x2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix2x4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4x2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3x4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4x3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + Parameters + + + location + + Specifies the location of the uniform variable + to be modified. + + + + count + + + For the vector (glUniform*v) commands, + specifies the number of elements that are to be modified. + This should be 1 if the targeted uniform variable is not an + array, and 1 or more if it is an array. + + + For the matrix (glUniformMatrix*) + commands, specifies the number of matrices that are to be + modified. This should be 1 if the targeted uniform variable + is not an array of matrices, and 1 or more if it is an array + of matrices. + + + + + transpose + + + For the matrix commands, specifies whether to transpose the + matrix as the values are loaded into the uniform variable. + + + + + + v0, + v1, + v2, + v3 + + + + For the scalar commands, specifies the new values to be used + for the specified uniform variable. + + + + + value + + + For the vector and matrix commands, specifies a pointer to + an array of count values that will be + used to update the specified uniform variable. + + + + + + Description + glUniform* modifies the value of a + uniform variable or a uniform variable array in the default + uniform block. The location of + the uniform variable to be modified is specified by + location, which should be a value + returned by + glGetUniformLocation. + glUniform operates on the program object + that was made part of current state by calling + glUseProgram. + + The commands glUniform{1|2|3|4}{f|i|ui} + are used to change the value of the uniform variable specified + by location using the values passed as + arguments. The number specified in the command should match the + number of components in the data type of the specified uniform + variable (e.g., 1 for float, int, unsigned int, bool; + 2 for vec2, ivec2, uvec2, bvec2, etc.). The suffix + f indicates that floating-point values are + being passed; the suffix i indicates that + integer values are being passed; the suffix ui indicates that + unsigned integer values are being passed, and this type should also match + the data type of the specified uniform variable. The + i variants of this function should be used + to provide values for uniform variables defined as int, ivec2, + ivec3, ivec4, or arrays of these. The + ui variants of this function should be used + to provide values for uniform variables defined as unsigned int, uvec2, + uvec3, uvec4, or arrays of these. The f + variants should be used to provide values for uniform variables + of type float, vec2, vec3, vec4, or arrays of these. Either the + i, ui or f variants + may be used to provide values for uniform variables of type + bool, bvec2, bvec3, bvec4, or arrays of these. The uniform + variable will be set to false if the input value is 0 or 0.0f, + and it will be set to true otherwise. + + All active uniform variables defined in a program object + are initialized to 0 when the program object is linked + successfully. They retain the values assigned to them by a call + to glUniform until the next successful + link operation occurs on the program object, when they are once + again initialized to 0. + + The commands glUniform{1|2|3|4}{f|i|ui}v + can be used to modify a single uniform variable or a uniform + variable array. These commands pass a count and a pointer to the + values to be loaded into a uniform variable or a uniform + variable array. A count of 1 should be used if modifying the + value of a single uniform variable, and a count of 1 or greater + can be used to modify an entire array or part of an array. When + loading n elements starting at an arbitrary + position m in a uniform variable array, + elements m + n - 1 in + the array will be replaced with the new values. If + m + n - 1 is + larger than the size of the uniform variable array, values for + all array elements beyond the end of the array will be ignored. + The number specified in the name of the command indicates the + number of components for each element in + value, and it should match the number of + components in the data type of the specified uniform variable + (e.g., 1 for float, int, bool; + 2 for vec2, ivec2, bvec2, etc.). The data + type specified in the name of the command must match the data + type for the specified uniform variable as described previously + for glUniform{1|2|3|4}{f|i|ui}. + + For uniform variable arrays, each element of the array is + considered to be of the type indicated in the name of the + command (e.g., glUniform3f or + glUniform3fv can be used to load a uniform + variable array of type vec3). The number of elements of the + uniform variable array to be modified is specified by + count + + The commands + glUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv + are used to modify a matrix or an array of matrices. The numbers in the + command name are interpreted as the dimensionality of the matrix. + The number 2 indicates a 2 × 2 matrix + (i.e., 4 values), the number 3 indicates a + 3 × 3 matrix (i.e., 9 values), and the number + 4 indicates a 4 × 4 matrix (i.e., 16 + values). Non-square matrix dimensionality is explicit, with the first + number representing the number of columns and the second number + representing the number of rows. For example, + 2x4 indicates a 2 × 4 matrix with 2 columns + and 4 rows (i.e., 8 values). + If transpose is + GL_FALSE, each matrix is assumed to be + supplied in column major order. If + transpose is + GL_TRUE, each matrix is assumed to be + supplied in row major order. The count + argument indicates the number of matrices to be passed. A count + of 1 should be used if modifying the value of a single matrix, + and a count greater than 1 can be used to modify an array of + matrices. + + Notes + glUniform1i and + glUniform1iv are the only two functions + that may be used to load uniform variables defined as sampler + types. Loading samplers with any other function will result in a + GL_INVALID_OPERATION error. + + If count is greater than 1 and the + indicated uniform variable is not an array, a + GL_INVALID_OPERATION error is generated and the + specified uniform variable will remain unchanged. + + Other than the preceding exceptions, if the type and size + of the uniform variable as defined in the shader do not match + the type and size specified in the name of the command used to + load its value, a GL_INVALID_OPERATION error will + be generated and the specified uniform variable will remain + unchanged. + + If location is a value other than + -1 and it does not represent a valid uniform variable location + in the current program object, an error will be generated, and + no changes will be made to the uniform variable storage of the + current program object. If location is + equal to -1, the data passed in will be silently ignored and the + specified uniform variable will not be changed. + + Errors + GL_INVALID_OPERATION is generated if there + is no current program object. + + GL_INVALID_OPERATION is generated if the + size of the uniform variable declared in the shader does not + match the size indicated by the glUniform + command. + + GL_INVALID_OPERATION is generated if one of + the signed or unsigned integer variants of this function is used to load a uniform + variable of type float, vec2, vec3, vec4, or an array of these, + or if one of the floating-point variants of this function is + used to load a uniform variable of type int, ivec2, ivec3, + ivec4, unsigned int, uvec2, uvec3, + uvec4, or an array of these. + + GL_INVALID_OPERATION is generated if one of + the signed integer variants of this function is used to load a uniform + variable of type unsigned int, uvec2, uvec3, + uvec4, or an array of these. + + GL_INVALID_OPERATION is generated if one of + the unsigned integer variants of this function is used to load a uniform + variable of type int, ivec2, ivec3, + ivec4, or an array of these. + + GL_INVALID_OPERATION is generated if + location is an invalid uniform location + for the current program object and + location is not equal to -1. + + GL_INVALID_VALUE is generated if + count is less than 0. + + GL_INVALID_OPERATION is generated if + count is greater than 1 and the indicated + uniform variable is not an array variable. + + GL_INVALID_OPERATION is generated if a + sampler is loaded using a command other than + glUniform1i and + glUniform1iv. + + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveUniform + with the handle of a program object and the index of an active uniform variable + + glGetUniform + with the handle of a program object and the location of a + uniform variable + + glGetUniformLocation + with the handle of a program object and the name of a uniform + variable + + + API Version Support + + + + + + glUniform1f + + + + glUniform2f + + + + glUniform3f + + + + glUniform4f + + + + glUniform1i + + + + glUniform2i + + + + glUniform3i + + + + glUniform4i + + + + glUniform1ui + + + + glUniform2ui + + + + glUniform3ui + + + + glUniform4ui + + + + glUniform1fv + + + + glUniform2fv + + + + glUniform3fv + + + + glUniform4fv + + + + glUniform1iv + + + + glUniform2iv + + + + glUniform3iv + + + + glUniform4iv + + + + glUniform1uiv + + + + glUniform2uiv + + + + glUniform3uiv + + + + glUniform4uiv + + + + glUniformMatrix2fv + + + + glUniformMatrix3fv + + + + glUniformMatrix4fv + + + + glUniformMatrix2x3fv + + + + glUniformMatrix3x2fv + + + + glUniformMatrix2x4fv + + + + glUniformMatrix4x2fv + + + + glUniformMatrix3x4fv + + + + glUniformMatrix4x3fv + + + + + + + See Also + glLinkProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glUniformBlockBinding.xml b/Source/Bind/Specifications/Docs/ES31/glUniformBlockBinding.xml new file mode 100644 index 00000000..3cec744e --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glUniformBlockBinding.xml @@ -0,0 +1,124 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glUniformBlockBinding + 3G + + + glUniformBlockBinding + assign a binding point to an active uniform block + + + C Specification + + + void glUniformBlockBinding + GLuint program + GLuint uniformBlockIndex + GLuint uniformBlockBinding + + + + Parameters + + + program + + + The name of a program object containing the active uniform block whose binding to assign. + + + + + uniformBlockIndex + + + The index of the active uniform block within program whose binding to assign. + + + + + uniformBlockBinding + + + Specifies the binding point to which to bind the uniform block with index uniformBlockIndex within program. + + + + + + Description + + Binding points for active uniform blocks are assigned using glUniformBlockBinding. Each of a program's active uniform + blocks has a corresponding uniform buffer binding point. program is the name of a program object for which the command + glLinkProgram has been issued in the past. + + + If successful, glUniformBlockBinding specifies that program will use the data store of the + buffer object bound to the binding point uniformBlockBinding to extract the values of the uniforms in the + uniform block identified by uniformBlockIndex. + + + When a program object is linked or re-linked, the uniform buffer object binding point assigned to each of its active uniform blocks is reset to zero. + + + Errors + + GL_INVALID_VALUE is generated if uniformBlockIndex is not an active uniform block index of program. + + + GL_INVALID_VALUE is generated if uniformBlockBinding is greater than or equal to the value of GL_MAX_UNIFORM_BUFFER_BINDINGS. + + + GL_INVALID_VALUE is generated if program is not the name of a program object generated by the GL. + + + Associated Gets + + glGet with argument GL_MAX_UNIFORM_BUFFER_BINDINGS + + + glGetActiveUniformBlockiv with argument GL_UNIFORM_BLOCK_BINDING + + + + API Version Support + + + + + + glUniformBlockBinding + + + + + + + See Also + + glLinkProgram, + glBindBufferBase, + glBindBufferRange, + glGetActiveUniformBlockiv + + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glUseProgram.xml b/Source/Bind/Specifications/Docs/ES31/glUseProgram.xml new file mode 100644 index 00000000..e6300c78 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glUseProgram.xml @@ -0,0 +1,188 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glUseProgram + 3G + + + glUseProgram + Installs a program object as part of current rendering state + + + C Specification + + + void glUseProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object + whose executables are to be used as part of current + rendering state. + + + + + Description + glUseProgram installs the program + object specified by program as part of + current rendering state. One or more executables are created in + a program object by successfully attaching shader objects to it + with + glAttachShader, + successfully compiling the shader objects with + glCompileShader, + and successfully linking the program object with + glLinkProgram. + + + A program object will contain an executable that will run + on the vertex processor if it contains a shader + object of type GL_VERTEX_SHADER that has + been successfully compiled and linked. + Similarly, a program object will contain an executable that will run on the + fragment processor if it contains a shader object of type + GL_FRAGMENT_SHADER that has been + successfully compiled and linked. + + While a program object is in use, applications are free to + modify attached shader objects, compile attached shader objects, + attach additional shader objects, and detach or delete shader + objects. None of these operations will affect the executables + that are part of the current state. However, relinking the + program object that is currently in use will install the program + object as part of the current rendering state if the link + operation was successful (see + glLinkProgram + ). If the program object currently in use is relinked + unsuccessfully, its link status will be set to + GL_FALSE, but the executables and + associated state will remain part of the current state until a + subsequent call to glUseProgram removes it + from use. After it is removed from use, it cannot be made part + of current state until it has been successfully relinked. + + If program is zero, then the current rendering + state refers to an invalid program object and the + results of shader execution are undefined. However, this is not an error. + + + Notes + Like buffer and texture objects, the name space for + program objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + + Errors + GL_INVALID_VALUE is generated if + program is neither 0 nor a value + generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program could not be made part of current + state. + + GL_INVALID_OPERATION is generated if + transform feedback mode is active and not paused. + + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with a valid program object and the index of an active attribute + variable + + glGetActiveUniform + with a valid program object and the index of an active uniform + variable + + glGetAttachedShaders + with a valid program object + + glGetAttribLocation + with a valid program object and the name of an attribute + variable + + glGetProgramiv + with a valid program object and the parameter to be queried + + glGetProgramInfoLog + with a valid program object + + glGetUniform + with a valid program object and the location of a uniform + variable + + glGetUniformLocation + with a valid program object and the name of a uniform + variable + + glIsProgram + + + API Version Support + + + + + + glUseProgram + + + + + + + See Also + glAttachShader, + glBindAttribLocation, + glCompileShader, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glValidateProgram, + glVertexAttrib + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glUseProgramStages.xml b/Source/Bind/Specifications/Docs/ES31/glUseProgramStages.xml new file mode 100644 index 00000000..574c17d7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glUseProgramStages.xml @@ -0,0 +1,133 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glUseProgramStages + 3G + + + glUseProgramStages + bind stages of a program object to a program pipeline + + + C Specification + + + void glUseProgramStages + GLuint pipeline + GLbitfield stages + GLuint program + + + + Parameters + + + pipeline + + + Specifies the program pipeline object to which to bind stages from program. + + + + + stages + + + Specifies a set of program stages to bind to the program pipeline object. + + + + + program + + + Specifies the program object containing the shader executables to use in pipeline. + + + + + + Description + + glUseProgramStages binds executables from a program object + associated with a specified set of shader stages to the program pipeline object given + by pipeline. + pipeline specifies the program pipeline object to which to bind + the executables. stages contains a logical combination of bits + indicating the shader stages to use within program with the program + pipeline object pipeline. stages must be + a logical combination of GL_VERTEX_SHADER_BIT, + GL_FRAGMENT_SHADER_BIT and GL_COMPUTE_SHADER_BIT. + Additionally, the special value GL_ALL_SHADER_BITS may be specified to + indicate that all executables contained in program should be + installed in pipeline. + + + If program refers to a program object with a valid shader attached for + an indicated shader stage, glUseProgramStages installs the executable + code for that stage in the indicated program pipeline object pipeline. + If program is zero, or refers to a program object with no valid shader + executable for a given stage, it is as if the pipeline object has no programmable stage configured + for the indicated shader stages. If stages contains bits other than those + listed above, and is not equal to GL_ALL_SHADER_BITS, an error is generated. + + + Errors + + GL_INVALID_VALUE is generated if shaders contains + set bits that are not recognized, and is not the reserved value GL_ALL_SHADER_BITS. + + + GL_INVALID_OPERATION is generated if program refers + to a program object that was not linked with its GL_PROGRAM_SEPARABLE status set. + + + GL_INVALID_OPERATION is generated if program refers + to a program object that has not been successfully linked. + + + GL_INVALID_OPERATION is generated if pipeline is not + a name previously returned from a call to glGenProgramPipelines + or if such a name has been deleted by a call to + glDeleteProgramPipelines. + + + + API Version Support + + + + + + glUseProgramStages + + + + + + + See Also + + glGenProgramPipelines, + glDeleteProgramPipelines, + glIsProgramPipeline + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glValidateProgram.xml b/Source/Bind/Specifications/Docs/ES31/glValidateProgram.xml new file mode 100644 index 00000000..806d3308 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glValidateProgram.xml @@ -0,0 +1,146 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glValidateProgram + 3G + + + glValidateProgram + Validates a program object + + + C Specification + + + void glValidateProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object to + be validated. + + + + + Description + glValidateProgram checks to see + whether the executables contained in + program can execute given the current + OpenGL state. The information generated by the validation + process will be stored in program's + information log. The validation information may consist of an + empty string, or it may be a string containing information about + how the current program object interacts with the rest of + current OpenGL state. This provides a way for OpenGL + implementers to convey more information about why the current + program is inefficient, suboptimal, failing to execute, and so + on. + + The status of the validation operation will be stored as + part of the program object's state. This value will be set to + GL_TRUE if the validation succeeded, and + GL_FALSE otherwise. It can be queried by + calling + glGetProgramiv + with arguments program and + GL_VALIDATE_STATUS. If validation is + successful, program is guaranteed to + execute given the current state. Otherwise, + program is guaranteed to not execute. + + This function is typically useful only during application + development. The informational string stored in the information + log is completely implementation dependent; therefore, an + application should not expect different OpenGL implementations + to produce identical information strings. + + Notes + This function mimics the validation operation that OpenGL + implementations must perform when rendering commands are issued + while programmable shaders are part of current state. The error + GL_INVALID_OPERATION will be generated by + any command that triggers the rendering of geometry if: + + + + any two active samplers in the current program + object are of different types, but refer to the same + texture image unit, + + + the number of active samplers in the program exceeds the maximum + number of texture image units allowed. + + + + It may be difficult or cause a performance degradation for + applications to catch these errors when rendering commands are + issued. Therefore, applications are advised to make calls to + glValidateProgram to detect these issues + during application development. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + Associated Gets + glGetProgramiv + with arguments program and + GL_VALIDATE_STATUS + + glGetProgramInfoLog + with argument program + + glIsProgram + + + API Version Support + + + + + + glValidateProgram + + + + + + + See Also + glLinkProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glValidateProgramPipeline.xml b/Source/Bind/Specifications/Docs/ES31/glValidateProgramPipeline.xml new file mode 100644 index 00000000..aaec49f0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glValidateProgramPipeline.xml @@ -0,0 +1,106 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glValidateProgramPipeline + 3G + + + glValidateProgramPipeline + validate a program pipeline object against current GL state + + + C Specification + + + void glValidateProgramPipeline + GLuint pipeline + + + + Parameters + + + pipeline + + + Specifies the name of a program pipeline object to validate. + + + + + + Description + + glValidateProgramPipeline instructs the implementation to validate the + shader executables contained in pipeline against the current GL state. + The implementation may use this as an opportunity to perform any internal shader modifications + that may be required to ensure correct operation of the installed shaders given the + current GL state. + + + After a program pipeline has been validated, its validation status is set to GL_TRUE. + The validation status of a program pipeline object may be queried by calling + glGetProgramPipeline with + parameter GL_VALIDATE_STATUS. + + + If pipeline is a name previously returned from a call to + glGenProgramPipelines but + that has not yet been bound by a call to glBindProgramPipeline, + a new program pipeline object is created with name pipeline and + the default state vector. + + + Errors + + GL_INVALID_OPERATION is generated if pipeline is not + a name previously returned from a call to glGenProgramPipelines + or if such a name has been deleted by a call to + glDeleteProgramPipelines. + + + Associated Gets + + glGetProgramPipeline + with parameter GL_VALIDATE_STATUS. + + + + API Version Support + + + + + + glValidateProgramPipeline + + + + + + + See Also + + glGenProgramPipelines, + glBindProgramPipeline, + glDeleteProgramPipelines + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glVertexAttrib.xml b/Source/Bind/Specifications/Docs/ES31/glVertexAttrib.xml new file mode 100644 index 00000000..26d8cb41 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glVertexAttrib.xml @@ -0,0 +1,333 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glVertexAttrib + 3G + + + glVertexAttrib + Specifies the value of a generic vertex attribute + + + C Specification + + + void glVertexAttrib1f + GLuint index + GLfloat v0 + + + void glVertexAttrib2f + GLuint index + GLfloat v0 + GLfloat v1 + + + void glVertexAttrib3f + GLuint index + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glVertexAttrib4f + GLuint index + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glVertexAttribI4i + GLuint index + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + void glVertexAttribI4ui + GLuint index + GLuint v0 + GLuint v1 + GLuint v2 + GLuint v3 + + + + void glVertexAttrib1fv + GLuint index + const GLfloat *v + + + void glVertexAttrib2fv + GLuint index + const GLfloat *v + + + void glVertexAttrib3fv + GLuint index + const GLfloat *v + + + void glVertexAttrib4fv + GLuint index + const GLfloat *v + + + void glVertexAttribI4iv + GLuint index + const GLint *v + + + void glVertexAttribI4uiv + GLuint index + const GLuint *v + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + + v0, + v1, + v2, + v3 + + + + For the scalar commands, specifies the new values to be used + for the specified vertex attribute. + + + + + v + + + For the vector commands + (glVertexAttrib*v), specifies a pointer + to an array of values to be used for the generic vertex + attribute. + + + + + + Description + The glVertexAttrib family of entry points + allows an application to pass generic vertex attributes in + numbered locations. + + Generic attributes are defined as four-component values + that are organized into an array. The first entry of this array + is numbered 0, and the size of the array is specified by the + implementation-dependent constant + GL_MAX_VERTEX_ATTRIBS. Individual elements + of this array can be modified with a + glVertexAttrib call that specifies the + index of the element to be modified and a value for that + element. + + These commands can be used to specify one, two, three, or + all four components of the generic vertex attribute specified by + index. A 1 in the + name of the command indicates that only one value is passed, and + it will be used to modify the first component of the generic + vertex attribute. The second and third components will be set to + 0, and the fourth component will be set to 1. Similarly, a + 2 in the name of the command indicates that + values are provided for the first two components, the third + component will be set to 0, and the fourth component will be set + to 1. A 3 in the name of the command + indicates that values are provided for the first three + components and the fourth component will be set to 1, whereas a + 4 in the name indicates that values are + provided for all four components. + + The letters f, i, + and ui indicate + whether the arguments are of type float, int, or unsigned int. When + v is appended to the name, the commands can + take a pointer to an array of such values. + + Additional capitalized letters can indicate further alterations + to the default behavior of the glVertexAttrib function: + + + The commands containing I indicate that + the arguments are extended to full signed or unsigned integers. + + + OpenGL ES Shading Language attribute variables are allowed to + be of type mat2, mat3, or mat4. Attributes of these types may be + loaded using the glVertexAttrib entry + points. Matrices must be loaded into successive generic + attribute slots in column major order, with one column of the + matrix in each generic attribute slot. + + A user-defined attribute variable declared in a vertex + shader can be bound to a generic attribute index by calling + glBindAttribLocation. + This allows an application to use more descriptive variable + names in a vertex shader. A subsequent change to the specified + generic vertex attribute will be immediately reflected as a + change to the corresponding attribute variable in the vertex + shader. + + The binding between a generic vertex attribute index and a + user-defined attribute variable in a vertex shader is part of + the state of a program object, but the current value of the + generic vertex attribute is not. The value of each generic + vertex attribute is part of current state, and it is maintained + even if a different program object is used. + + An application may freely modify generic vertex attributes + that are not bound to a named vertex shader attribute variable. + These values are simply maintained as part of current state and + will not be accessed by the vertex shader. If a generic vertex + attribute bound to an attribute variable in a vertex shader is + not updated while the vertex shader is executing, the vertex + shader will repeatedly use the current value for the generic + vertex attribute. + + Notes + Generic vertex attributes can be updated at any time. + + It is possible for an application to bind more than one + attribute name to the same generic vertex attribute index. This + is referred to as aliasing, and it is allowed only if just one + of the aliased attribute variables is active in the vertex + shader, or if no path through the vertex shader consumes more + than one of the attributes aliased to the same location. OpenGL + implementations are not required to do error checking to detect + aliasing, they are allowed to assume that aliasing will not + occur, and they are allowed to employ optimizations that work + only in the absence of aliasing. + + The resulting attribute values are undefined if the base + type of the shader attribute at slot index + does not match the type of glUniform command used. + If the attribute is floating point, the glUniform*f[v] commands + should be used. If the attribute is unsigned integer, + the glUniformI4ui* commands should be used. If the attribute is + a signed integer, the glUniformI4i* commands should be used. + + + + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with argument program and the index of an active + attribute variable + + glGetAttribLocation + with argument program and an attribute + variable name + + glGetVertexAttrib + with arguments GL_CURRENT_VERTEX_ATTRIB and + index + + + API Version Support + + + + + + glVertexAttrib1f + + + + glVertexAttrib2f + + + + glVertexAttrib3f + + + + glVertexAttrib4f + + + + glVertexAttribI4i + + + + glVertexAttribI4ui + + + + glVertexAttrib1fv + + + + glVertexAttrib2fv + + + + glVertexAttrib3fv + + + + glVertexAttrib4fv + + + + glVertexAttribI4iv + + + + glVertexAttribI4uiv + + + + + + + See Also + glBindAttribLocation, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glVertexAttribBinding.xml b/Source/Bind/Specifications/Docs/ES31/glVertexAttribBinding.xml new file mode 100644 index 00000000..ad0cd261 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glVertexAttribBinding.xml @@ -0,0 +1,108 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glVertexAttribBinding + 3G + + + glVertexAttribBinding + associate a vertex attribute and a vertex buffer binding + + + C Specification + + + void glVertexAttribBinding + GLuint attribindex + GLuint bindingindex + + + + Parameters + + + attribindex + + + The index of the attribute to associate with a vertex buffer binding. + + + + + bindingindex + + + The index of the vertex buffer binding with which to associate the generic vertex attribute. + + + + + + Description + + glVertexAttribBinding, establishes an association between the generic vertex + attribute whose index is given by attribindex and a vertex buffer binding + whose index is given by bindingindex. attribindex + must be less than the value of GL_MAX_VERTEX_ATTRIBS and bindingindex + must be less than the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. + + + Errors + + GL_INVALID_VALUE is generated if attribindex is greater than + or equal to the value of GL_MAX_VERTEX_ATTRIBS. + + + GL_INVALID_VALUE is generated if bindingindex is greater than + or equal to the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. + + + GL_INVALID_OPERATION is generated if no vertex array object is bound. + + + Associated Gets + + glGet with arguments GL_MAX_VERTEX_ATTRIB_BINDINGS, + GL_VERTEX_BINDING_DIVISOR. + + + + API Version Support + + + + + + glVertexAttribBinding + + + + + + + See Also + + glBindVertexBuffer, + glVertexAttribFormat, + glVertexBindingDivisor, + glVertexAttribPointer. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glVertexAttribDivisor.xml b/Source/Bind/Specifications/Docs/ES31/glVertexAttribDivisor.xml new file mode 100644 index 00000000..e9c25658 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glVertexAttribDivisor.xml @@ -0,0 +1,100 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glVertexAttribDivisor + 3G + + + glVertexAttribDivisor + modify the rate at which generic vertex attributes advance during instanced rendering + + + C Specification + + + void glVertexAttribDivisor + GLuint index + GLuint divisor + + + + Parameters + + + index + + + Specify the index of the generic vertex attribute. + + + + + divisor + + + Specify the number of instances that will pass between updates of the generic attribute at slot index. + + + + + + Description + + glVertexAttribDivisor modifies the rate at which generic vertex attributes advance when rendering + multiple instances of primitives in a single draw call (see glDrawArraysInstanced and + glDrawElementsInstanced). If divisor is zero, the attribute at slot + index advances once per vertex. If divisor is non-zero, the attribute advances + once per divisor instances of the set(s) of vertices being rendered. An attribute + is referred to as instanced if its GL_VERTEX_ATTRIB_ARRAY_DIVISOR value is non-zero. + + + index must be less than the value of GL_MAX_VERTEX_ATTRIBUTES. + + + Errors + + GL_INVALID_VALUE is generated if index is greater + than or equal to the value of GL_MAX_VERTEX_ATTRIBUTES. + + + + API Version Support + + + + + + glVertexAttribDivisor + + + + + + + See Also + + glDrawArraysInstanced, + glDrawElementsInstanced, + glVertexAttribPointer, + glEnableVertexAttribArray, + glDisableVertexAttribArray + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glVertexAttribFormat.xml b/Source/Bind/Specifications/Docs/ES31/glVertexAttribFormat.xml new file mode 100644 index 00000000..aa4a163d --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glVertexAttribFormat.xml @@ -0,0 +1,193 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glVertexAttribFormat + 3G + + + glVertexAttribFormat + specify the organization of vertex arrays + + + C Specification + + + void glVertexAttribFormat + GLuint attribindex + GLint size + GLenum type + GLboolean normalized + GLuint relativeoffset + + + + + void glVertexAttribIFormat + GLuint attribindex + GLint size + GLenum type + GLuint relativeoffset + + + + Parameters + + + attribindex + + + The generic vertex attribute array being described. + + + + + size + + + The number of values per vertex that are stored in the array. + + + + + type + + + The type of the data stored in the array. + + + + + normalized + + + The distance between elements within the buffer. + + + + + relativeoffset + + + The distance between elements within the buffer. + + + + + + Description + + glVertexAttribFormat and glVertexAttribIFormat + specify the organization of data in vertex arrays. + attribindex specifies the index of the generic vertex attribute + array whose data layout is being described, and must be less + than the value of GL_MAX_VERTEX_ATTRIBS. + + + size determines the number of components per vertex are allocated + to the specifed attribute and must be 1, 2, 3 or 4. type indicates + the type of the data. If type is one of GL_BYTE, + GL_SHORT, GL_INT, GL_FIXED, + GL_FLOAT and GL_HALF_FLOAT + indicate types GLbyte, GLshort, + GLint, GLfixed, GLfloat, and GLhalf + respectively; the values GL_UNSIGNED_BYTE, + GL_UNSIGNED_SHORT, and GL_UNSIGNED_INT indicate types + GLubyte, GLushort, and GLuint, + respectively; the values GL_INT_2_10_10_10_REV and + GL_UNSIGNED_INT_2_10_10_10_REV indicating respectively four signed or + unsigned elements packed into a single GLuint. + + + For glVertexAttribFormat, if normalized is + GL_TRUE, then integer data is normalized to the range [-1, 1] or + [0, 1] if it is signed or unsigned, respectively. If noramlized is + GL_FALSE then integer data is directly converted to floating point. + + + relativeoffset is the offset, measured in basic machine units + of the first element relative to the start of the vertex buffer binding this attribute + fetches from. + + + glVertexAttribFormat should be used to describe vertex attribute + layout for floating-point vertex attributes and glVertexAttribIFormat + should be used to describe vertex attribute layout for integer vertex attributes. + Data for an array specified by glVertexAttribIFormat will always be + left as integer values; such data are referred to as pure integers. + + + Errors + + GL_INVALID_VALUE is generated if attribindex is greater than + or equal to the value of GL_MAX_VERTEX_ATTRIBS. + + + GL_INVALID_VALUE is generated if size is not + one of the accepted values. + + + GL_INVALID_VALUE is generated if relativeoffset is greater + than the value of GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET. + + + GL_INVALID_ENUM is generated if type is not + one of the accepted tokens. + + + GL_INVALID_OPERATION is generated if no vertex array object is bound. + + + Associated Gets + + glGet with arguments GL_MAX_VERTEX_ATTRIB_BINDINGS, + or GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET. + + + glGetVertexAttrib with argument GL_VERTEX_ATTRIB_RELATIVE_OFFSET. + + + + API Version Support + + + + + + glVertexAttribFormat + + + + glVertexAttribIFormat + + + + + + + See Also + + glBindVertexBuffer, + glVertexAttribBinding, + glVertexAttribPointer, + glVertexBindingDivisor, + glVertexAttribPointer. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glVertexAttribPointer.xml b/Source/Bind/Specifications/Docs/ES31/glVertexAttribPointer.xml new file mode 100644 index 00000000..f1f67d52 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glVertexAttribPointer.xml @@ -0,0 +1,279 @@ + %mathent; ]> + + + + + + + 2003-2005 + 3Dlabs Inc. Ltd. + + + 2010-2014 + Khronos Group + + + + glVertexAttribPointer + 3G + + + glVertexAttribPointer + define an array of generic vertex attribute data + + + C Specification + + + void glVertexAttribPointer + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + const GLvoid * pointer + + + void glVertexAttribIPointer + GLuint index + GLint size + GLenum type + GLsizei stride + const GLvoid * pointer + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + size + + Specifies the number of components per + generic vertex attribute. Must + be 1, 2, 3, 4. The initial value is 4. + + + + type + + Specifies the data type of each component in + the array. The symbolic constants + GL_BYTE, + GL_UNSIGNED_BYTE, + GL_SHORT, + GL_UNSIGNED_SHORT, + GL_INT, and + GL_UNSIGNED_INT are accepted by both functions. Additionally + GL_HALF_FLOAT, + GL_FLOAT, + GL_FIXED, + GL_INT_2_10_10_10_REV, and + GL_UNSIGNED_INT_2_10_10_10_REV are accepted by glVertexAttribPointer. + The initial value is GL_FLOAT. + + + + normalized + + For glVertexAttribPointer, specifies whether fixed-point data values + should be normalized (GL_TRUE) + or converted directly as fixed-point values + (GL_FALSE) when they are + accessed. This parameter is ignored if type is GL_FIXED. + + + + stride + + + Specifies the byte offset between consecutive generic vertex + attributes. If stride is 0, the + generic vertex attributes are understood to be tightly + packed in the array. The initial value is 0. + + + + + pointer + + + Specifies a pointer to the first generic vertex attribute in + the array. If a non-zero buffer is currently bound to the + GL_ARRAY_BUFFER target, + pointer specifies an offset of into + the array in the data store of that buffer. The initial + value is 0. + + + + + + Description + + glVertexAttribPointer and glVertexAttribIPointer specify the + location and data format of the array of generic vertex attributes at index index + to use when rendering. size specifies the number of components per attribute and + must be 1, 2, 3 or 4. type specifies the data type + of each component, and stride specifies the byte stride from one attribute to the next, + allowing vertices and attributes to be packed into a single array or stored in separate arrays. + + + For glVertexAttribPointer, if normalized is set to GL_TRUE, + it indicates that values stored in an integer format are to be mapped to the range [-1,1] (for signed values) or [0,1] (for + unsigned values) when they are accessed and converted to floating point. Otherwise, values will + be converted to floats directly without normalization. + + + For glVertexAttribIPointer, only the integer types GL_BYTE, + GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, + GL_INT, GL_UNSIGNED_INT are accepted. Values are always left as integer values. + + + If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target + (see glBindBuffer), + pointer is treated as a byte offset into the buffer object's data store and + the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as generic vertex attribute array + state (GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) for index index. + + + Client vertex arrays (a binding of zero to the GL_ARRAY_BUFFER target) are only valid in + conjunction with the zero named vertex array object. This is provided for backwards compatibility with OpenGL ES 2.0. + + + When a generic vertex attribute array is specified, + size, type, + normalized, + stride, and + pointer are saved as vertex array + state, in addition to the current vertex array buffer object binding. + + + To enable and disable a generic vertex attribute array, call + glEnableVertexAttribArray and + glDisableVertexAttribArray with index. + If enabled, the generic vertex attribute array is used when glDrawArrays, + glDrawArraysInstanced, glDrawElements, + glDrawElementsIntanced, or glDrawRangeElements + is called. + + + Notes + + Each generic vertex attribute array is initially disabled and isn't accessed when + glDrawElements, glDrawRangeElements, + glDrawArrays, glDrawArraysInstanced, or glDrawElementsInstanced + is called. + + + + Errors + + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + + GL_INVALID_VALUE is generated if + size is not 1, 2, 3 or 4. + + + GL_INVALID_ENUM is generated if + type is not an accepted value. + + + GL_INVALID_VALUE is generated if + stride is negative. + + + GL_INVALID_OPERATION is generated if + type is + GL_INT_2_10_10_10_REV or + GL_UNSIGNED_INT_2_10_10_10_REV and + size is not 4. + + + GL_INVALID_OPERATION is generated a + non-zero vertex array object is bound, zero is bound to the + GL_ARRAY_BUFFER buffer object binding point + and the pointer argument is not + NULL. + + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_SIZE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_TYPE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_NORMALIZED + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_STRIDE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + + glGet with argument + GL_ARRAY_BUFFER_BINDING + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + + API Version Support + + + + + + glVertexAttribPointer + + + + glVertexAttribIPointer + + + + + + + See Also + + glBindAttribLocation, + glBindBuffer, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glDrawRangeElements, + glEnableVertexAttribArray, + glDrawArraysInstanced, + glDrawElementsIntanced, + glVertexAttrib + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glVertexBindingDivisor.xml b/Source/Bind/Specifications/Docs/ES31/glVertexBindingDivisor.xml new file mode 100644 index 00000000..10be3fda --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glVertexBindingDivisor.xml @@ -0,0 +1,107 @@ + %mathent; ]> + + + + + + + 2012-2014 + Khronos Group + + + + glVertexBindingDivisor + 3G + + + glVertexBindingDivisor + modify the rate at which generic vertex attributes advance + + + C Specification + + + void glVertexBindingDivisor + GLuint bindingindex + GLuint divisor + + + + Parameters + + + bindingindex + + + The index of the binding whose divisor to modify. + + + + + divisor + + + The new value for the instance step rate to apply. + + + + + + Description + + glVertexBindingDivisor, modifies the rate at which generic vertex attributes advance when + rendering multiple instances of primitives in a single draw command. If + divisor is zero, the attributes using the buffer bound to bindingindex + advance once per vertex. If divisor is non-zero, the attributes advance + once per divisor instances of the set(s) of vertices being rendered. An + attribute is referred to as instanced if the corresponding divisor + value is non-zero. + + + Errors + + GL_INVALID_VALUE is generated if bindingindex is greater than + or equal to the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. + + + GL_INVALID_OPERATION is generated if no vertex array object is bound. + + + Associated Gets + + glGet with arguments GL_MAX_VERTEX_ATTRIB_BINDINGS, + GL_VERTEX_BINDING_DIVISOR. + + + + API Version Support + + + + + + glVertexBindingDivisor + + + + + + + See Also + + glBindVertexBuffer, + glVertexAttribBinding, + glVertexAttribPointer, + glVertexBindingDivisor, + glVertexAttribPointer. + + + Copyright + + Copyright 2012-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glViewport.xml b/Source/Bind/Specifications/Docs/ES31/glViewport.xml new file mode 100644 index 00000000..247f3824 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glViewport.xml @@ -0,0 +1,208 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2014 + Khronos Group + + + + glViewport + 3G + + + glViewport + set the viewport + + + C Specification + + + void glViewport + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + x + y + + + Specify the lower left corner of the viewport rectangle, + in pixels. The initial value is (0,0). + + + + + width + height + + + Specify the width and height + of the viewport. + When a GL context is first attached to a window, + width and height are set to the dimensions of that + window. + + + + + + Description + + glViewport specifies the affine transformation of + x + and + y + from + normalized device coordinates to window coordinates. + Let + + + + x + nd + + y + nd + + + + be normalized device coordinates. + Then the window coordinates + + + + x + w + + y + w + + + + are computed as follows: + + + + + + x + w + + = + + + + x + nd + + + + 1 + + + + + + width + 2 + + + + + x + + + + + + + + + y + w + + = + + + + y + nd + + + + 1 + + + + + + height + 2 + + + + + y + + + + + + Viewport width and height are silently clamped + to a range that depends on the implementation. + To query this range, call glGet with argument + GL_MAX_VIEWPORT_DIMS. + + + Errors + + GL_INVALID_VALUE is generated if either width or height is negative. + + + Associated Gets + + glGet with argument GL_VIEWPORT + + + glGet with argument GL_MAX_VIEWPORT_DIMS + + + + API Version Support + + + + + + glViewport + + + + + + + See Also + + glDepthRangef + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2014 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/glWaitSync.xml b/Source/Bind/Specifications/Docs/ES31/glWaitSync.xml new file mode 100644 index 00000000..adc27a1b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/glWaitSync.xml @@ -0,0 +1,113 @@ + %mathent; ]> + + + + + + + 2010-2014 + Khronos Group + + + + glWaitSync + 3G + + + glWaitSync + instruct the GL server to block until the specified sync object becomes signaled + + + C Specification + + + void glWaitSync + GLsync sync + GLbitfield flags + GLuint64 timeout + + + + Parameters + + + sync + + + Specifies the sync object whose status to wait on. + + + + + flags + + + A bitfield controlling the command flushing behavior. flags must be zero. + + + + + timeout + + + Specifies the timeout that the server should wait before continuing. timeout must be GL_TIMEOUT_IGNORED. + + + + + + Description + + glWaitSync causes the GL server to block and wait until sync becomes signaled. sync + is the name of an existing sync object upon which to wait. flags and timeout are currently not used and + must be set to zero and the special value GL_TIMEOUT_IGNORED, respectivelyflags and + timeout are placeholders for anticipated future extensions of sync object capabilities. They must have these reserved values in + order that existing code calling glWaitSync operate properly in the presence of such extensions.. glWaitSync will always wait no longer than an implementation-dependent timeout. The + duration of this timeout in nanoseconds may be queried by calling glGet with the + parameter GL_MAX_SERVER_WAIT_TIMEOUT. There is currently no way to determine whether glWaitSync unblocked + because the timeout expired or because the sync object being waited on was signaled. + + + If an error occurs, glWaitSync does not cause the GL server to block. + + + Errors + + GL_INVALID_OPERATION is generated if sync is not the name of a sync object. + + + GL_INVALID_VALUE is generated if flags is not zero. + + + GL_INVALID_VALUE is generated if timeout is not GL_TIMEOUT_IGNORED. + + + + API Version Support + + + + + + glWaitSync + + + + + + + See Also + + glFenceSync, + glClientWaitSync + + + Copyright + + Copyright 2010-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_FragCoord.xml b/Source/Bind/Specifications/Docs/ES31/gl_FragCoord.xml new file mode 100644 index 00000000..c916fc35 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_FragCoord.xml @@ -0,0 +1,64 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_FragCoord + 3G + + + gl_FragCoord + contains the window-relative coordinates of the current fragment + + + Declaration + + in highp + vec4 + gl_FragCoord + + + Description + + Available only in the fragment language, gl_FragCoord is an input variable that contains the + window relative coordinate (x, y, z, 1/w) values for the fragment. If multi-sampling, + this value can be for any location within the pixel, or one of the fragment samples. + This value is the result of fixed functionality that interpolates primitives after vertex + processing to generate fragments. The z component is the depth value that would be used for the + fragment's depth if no shader contained any writes to gl_FragDepth. + + + Version Support + + + + + + gl_FragCoord + + + + + + + See Also + + gl_FragDepth + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_FragDepth.xml b/Source/Bind/Specifications/Docs/ES31/gl_FragDepth.xml new file mode 100644 index 00000000..c859e54b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_FragDepth.xml @@ -0,0 +1,67 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_FragDepth + 3G + + + gl_FragDepth + establishes a depth value for the current fragment + + + Declaration + + out highp + float + gl_FragDepth + + + Description + + Available only in the fragment language, gl_FragDepth is an output variable + that is used to establish the depth value for the current fragment. If depth buffering is enabled + and no shader writes to gl_FragDepth, then the fixed varname value for + depth will be used (this value is contained in the z component of gl_FragCoord) + otherwise, the value written to gl_FragDepth is used. + If a shader statically assigns to gl_FragDepth, then the value of the fragment's depth + may be undefined for executions of the shader that take that path. That is, if the set of linked fragment + shaders statically contain a write to gl_FragDepth, then it is responsible for always + writing it. + + + Version Support + + + + + + gl_FragDepth + + + + + + + See Also + + gl_FragCoord + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_FrontFacing.xml b/Source/Bind/Specifications/Docs/ES31/gl_FrontFacing.xml new file mode 100644 index 00000000..b0a695ba --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_FrontFacing.xml @@ -0,0 +1,116 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_FrontFacing + 3G + + + gl_FrontFacing + indicates whether a primitive is front or back facing + + + Declaration + + in + bool + gl_FrontFacing + + + Description + + Available only in the fragment language, gl_FrontFacing is an input variable + whose value is true if the fragment belongs to a front-facing primitive and + false otherwise. The determination of whether a triangle primitive is front-facing is made by + examining the sign of the area of the triangle, including a possible reversal of this sign + as controlled by glFrontFace. One way to compute this area is: + + + + a=12 + + + + j=0 + + + n-1 + + + + x + w + i + + + y + w + i+1 + + - + + x + w + i+1 + + + y + w + i + + + + + where + + + x + w + i + + and + + + y + w + i + + are + the x and y window coordinates of the ith vertex of the n-vertex polygon. + + + Version Support + + + + + + gl_FrontFacing + + + + + + + See Also + + gl_FragCoord + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_GlobalInvocationID.xml b/Source/Bind/Specifications/Docs/ES31/gl_GlobalInvocationID.xml new file mode 100644 index 00000000..509167d4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_GlobalInvocationID.xml @@ -0,0 +1,67 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_GlobalInvocationID + 3G + + + gl_GlobalInvocationID + contains the global index of work item currently being operated on by a compute shader + + + Declaration + + in + uvec3 + gl_GlobalInvocationID + + + Description + + In the compute language, gl_GlobalInvocationID + is a derived input variable containing the n-dimensional index of the + work invocation within the global work group that the current shader is + executing on. The value of gl_GlobalInvocationID is equal to + gl_WorkGroupID * gl_WorkGroupSize + gl_LocalInvocationID. + + + + Version Support + + + + + + gl_GlobalInvocationID + + + + + + + See Also + + gl_NumWorkGroups, + gl_WorkGroupID, + gl_WorkGroupSize, + gl_LocalInvocationID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_InstanceID.xml b/Source/Bind/Specifications/Docs/ES31/gl_InstanceID.xml new file mode 100644 index 00000000..94d277d6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_InstanceID.xml @@ -0,0 +1,63 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_InstanceID + 3G + + + gl_InstanceID + contains the index of the current primitive in an instanced draw command + + + Declaration + + in highp + int + gl_InstanceID + + + Description + + gl_InstanceID is a vertex language input variable that + holds the integer index of the current primitive in an instanced draw + command such as glDrawArraysInstanced. If the current + primitive does not originate from an instanced draw command, the value + of gl_InstanceID is zero. + + + Version Support + + + + + + gl_InstanceID + + + + + + + See Also + + gl_VertexID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_InvocationID.xml b/Source/Bind/Specifications/Docs/ES31/gl_InvocationID.xml new file mode 100644 index 00000000..7e9f48a0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_InvocationID.xml @@ -0,0 +1,69 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_InvocationID + 3G + + + gl_InvocationID + contains the invocation index of the current shader + + + Declaration + + in + int + gl_InvocationID + + + Description + + In the tessellation control language, gl_InvocationID + contains the index of the output patch vertex assigned to the shader invocation. + It is assigned an integer value in the range [0, N-1] where N is the number of output + patch vertices. + + + In the geometry language, gl_InvocationID identifies + the invocation number assigned to the geometry shader invocation. It is assigned + an integer value in the range [0, N-1] where N is the number of geometry shader + invocations per primitive. + + + + Version Support + + + + + + gl_InvocationID + + + + + + + See Also + + gl_InstanceID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_LocalInvocationID.xml b/Source/Bind/Specifications/Docs/ES31/gl_LocalInvocationID.xml new file mode 100644 index 00000000..641ab602 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_LocalInvocationID.xml @@ -0,0 +1,68 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_LocalInvocationID + 3G + + + gl_LocalInvocationID + contains the index of work item currently being operated on by a compute shader + + + Declaration + + in + uvec3 + gl_LocalInvocationID + + + Description + + In the compute language, gl_LocalInvocationID + is an input variable containing the n-dimensional index of the local + work invocation within the work group that the current shader is + executing in. The possible values for this variable range across + the local work group size, i.e., (0,0,0) to (gl_WorkGroupSize.x - 1, + gl_WorkGroupSize.y - 1, gl_WorkGroupSize.z - 1). + + + + Version Support + + + + + + gl_LocalInvocationID + + + + + + + See Also + + gl_NumWorkGroups, + gl_WorkGroupID, + gl_WorkGroupSize, + gl_GlobalInvocationID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_LocalInvocationIndex.xml b/Source/Bind/Specifications/Docs/ES31/gl_LocalInvocationIndex.xml new file mode 100644 index 00000000..038dd760 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_LocalInvocationIndex.xml @@ -0,0 +1,69 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_LocalInvocationIndex + 3G + + + gl_LocalInvocationIndex + contains the local linear index of work item currently being operated on by a compute shader + + + Declaration + + in + uint + gl_LocalInvocationIndex + + + Description + + In the compute language, gl_LocalInvocationIndex + is a derived input variable containing the 1-dimensional linearized index of the + work invocation within the work group that the current shader is + executing on. The value of gl_LocalInvocationIndex is equal to + gl_LocalInvocationID.z * gl_WorkGroupSize.x * gl_WorkGroupSize.y + + gl_LocalInvocationID.y * gl_WorkGroupSize.x + + gl_LocalInvocationID.x. + + + + Version Support + + + + + + gl_LocalInvocationIndex + + + + + + + See Also + + gl_NumWorkGroups, + gl_WorkGroupID, + gl_WorkGroupSize, + gl_LocalInvocationID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_NumWorkGroups.xml b/Source/Bind/Specifications/Docs/ES31/gl_NumWorkGroups.xml new file mode 100644 index 00000000..c7313401 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_NumWorkGroups.xml @@ -0,0 +1,66 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_NumWorkGroups + 3G + + + gl_NumWorkGroups + contains the number of workgroups that have been dispatched to a compute shader + + + Declaration + + in + uvec3 + gl_NumWorkGroups + + + Description + + In the compute language, gl_NumWorkGroups + contains the total number of work groups that will execute the compute + shader. The components of gl_NumWorkGroups are equal to the num_groups_x, + num_groups_y, and num_groups_z parameters passed to the + glDispatchCompute command. + + + + Version Support + + + + + + gl_NumWorkGroups + + + + + + + See Also + + gl_WorkGroupSize, + gl_WorkGroupID, + gl_LocalInvocationID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_PointCoord.xml b/Source/Bind/Specifications/Docs/ES31/gl_PointCoord.xml new file mode 100644 index 00000000..bd12eeee --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_PointCoord.xml @@ -0,0 +1,68 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_PointCoord + 3G + + + gl_PointCoord + contains the coordinate of a fragment within a point + + + Declaration + + in mediump + vec2 + gl_PointCoord + + + Description + + gl_PointCoord is a fragment language input variable that contains + the two-dimensional coordinates indicating where within a point primitive the current + fragment is located. If the current primitive is not a point, then values read + from gl_PointCoord are undefined. + + + gl_PointCoord.s ranges from 0.0 to 1.0 across the point horizontally + from left to right. gl_PointCoord.t varies + from 0.0 to 1.0 vertically from top to bottom. + + + Version Support + + + + + + gl_PointCoord + + + + + + + See Also + + gl_FragCoord, + gl_FragDepth + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_PointSize.xml b/Source/Bind/Specifications/Docs/ES31/gl_PointSize.xml new file mode 100644 index 00000000..d2696a65 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_PointSize.xml @@ -0,0 +1,62 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_PointSize + 3G + + + gl_PointSize + contains size of rasterized points, in pixels + + + Declaration + + out highp + float + gl_PointSize + + + Description + + The variable gl_PointSize is intended for a vertex shader to write + the size of the point to be rasterized. It is measured in pixels. + If gl_PointSize is not written to, its value is undefined in subsequent + pipeline stages. + + + Version Support + + + + + + gl_PointSize + + + + + + + See Also + + gl_Position + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_Position.xml b/Source/Bind/Specifications/Docs/ES31/gl_Position.xml new file mode 100644 index 00000000..55fb1e9b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_Position.xml @@ -0,0 +1,64 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_Position + 3G + + + gl_Position + contains the position of the current vertex + + + Declaration + + out highp + vec4 + gl_Position + + + Description + + The variable gl_Position is intended for writing the homogeneous + vertex position. It can be written at any time during vertexshader execution. This value + will be used by primitive assembly, clipping, culling, and other fixed functionality + operations, if present, that operate on primitives after vertex processing has occurred. + Its value is undefined after the vertex processing stage if the vertex shader executable + does not write gl_Position. + + + Version Support + + + + + + gl_Position + + + + + + + See Also + + gl_PointSize + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_VertexID.xml b/Source/Bind/Specifications/Docs/ES31/gl_VertexID.xml new file mode 100644 index 00000000..bf6d783b --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_VertexID.xml @@ -0,0 +1,63 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_VertexID + 3G + + + gl_VertexID + contains the index of the current vertex + + + Declaration + + in highp + int + gl_VertexID + + + Description + + gl_VertexID is a vertex language input variable that holds an + integer index for the vertex. The index is impliclty generated by glDrawArrays + and other commands that do not reference the content of the GL_ELEMENT_ARRAY_BUFFER, or + explicitly generated from the content of the GL_ELEMENT_ARRAY_BUFFER + by commands such as glDrawElements. + + + Version Support + + + + + + gl_VertexID + + + + + + + See Also + + gl_InstanceID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_WorkGroupID.xml b/Source/Bind/Specifications/Docs/ES31/gl_WorkGroupID.xml new file mode 100644 index 00000000..ea95fe15 --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_WorkGroupID.xml @@ -0,0 +1,66 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_WorkGroupID + 3G + + + gl_WorkGroupID + contains the index of the workgroup currently being operated on by a compute shader + + + Declaration + + in + uvec3 + gl_WorkGroupID + + + Description + + In the compute language, gl_WorkGroupID + contains the 3-dimensional index of the global work group + that the current compute shader invocation is executing within. The possible values range + across the parameters passed into glDispatchCompute, i.e., from (0, 0, 0) to + (gl_NumWorkGroups.x - 1, gl_NumWorkGroups.y - 1, gl_NumWorkGroups.z - 1). + + + + Version Support + + + + + + gl_WorkGroupID + + + + + + + See Also + + gl_NumWorkGroups, + gl_WorkGroupID, + gl_LocalInvocationID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/ES31/gl_WorkGroupSize.xml b/Source/Bind/Specifications/Docs/ES31/gl_WorkGroupSize.xml new file mode 100644 index 00000000..566933be --- /dev/null +++ b/Source/Bind/Specifications/Docs/ES31/gl_WorkGroupSize.xml @@ -0,0 +1,68 @@ + %mathent; ]> + + + + + + + 2011-2014 + Khronos Group + + + + gl_WorkGroupSize + 3G + + + gl_WorkGroupSize + contains the size of the workgroup operated on by a compute shader + + + Declaration + + const + uvec3 + gl_WorkGroupSize + + + Description + + In the compute language, gl_WorkGroupSize + contains the size of a workgroup declared by a compute + shader. The size of the work group in the X, Y, and Z dimensions is stored in the x, y, and z components of gl_WorkGroupSize. + The values stored in gl_WorkGroupSize match those specified in the + required local_size_x, local_size_y, and local_size_z layout + qualifiers for the current shader. This value is constant so that it can be used to size arrays of memory that can be shared within + the local work group. + + + + Version Support + + + + + + gl_WorkGroupSize + + + + + + + See Also + + gl_NumWorkGroups, + gl_WorkGroupID, + gl_LocalInvocationID + + + Copyright + + Copyright 2011-2014 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glAccum.xml b/Source/Bind/Specifications/Docs/GL2/glAccum.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glAccum.xml rename to Source/Bind/Specifications/Docs/GL2/glAccum.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glActiveTexture.xml b/Source/Bind/Specifications/Docs/GL2/glActiveTexture.xml new file mode 100644 index 00000000..f02bc2c3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glActiveTexture.xml @@ -0,0 +1,93 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glActiveTexture + 3G + + + glActiveTexture + select active texture unit + + C Specification + + + void glActiveTexture + GLenum texture + + + + + Parameters + + + texture + + + Specifies which texture unit to make active. The number + of texture units is implementation dependent, but must be at least + two. texture must be one of + GL_TEXTUREi, + where + i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) + and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). + The initial value is GL_TEXTURE0. + + + + + + Description + + glActiveTexture selects which texture unit subsequent texture state calls will + affect. The number of texture units an implementation supports is + implementation dependent, but must be at least 2. + + + Vertex arrays are client-side GL resources, which are selected by the + glClientActiveTexture routine. + + + Notes + + glActiveTexture is only supported if the GL version is 1.3 or greater, or if + ARB_multitexture is included in the string returned by + glGetString when called with the argument GL_EXTENSIONS. + + + Errors + + GL_INVALID_ENUM is generated if texture is not one of + GL_TEXTUREi, + where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) + and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). + + + Associated Gets + + glGet with argument GL_ACTIVE_TEXTURE, GL_MAX_TEXTURE_COORDS, or GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS + + + See Also + + glClientActiveTexture, + glMultiTexCoord, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glAlphaFunc.xml b/Source/Bind/Specifications/Docs/GL2/glAlphaFunc.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glAlphaFunc.xml rename to Source/Bind/Specifications/Docs/GL2/glAlphaFunc.xml diff --git a/Source/Bind/Specifications/Docs/glAreTexturesResident.xml b/Source/Bind/Specifications/Docs/GL2/glAreTexturesResident.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glAreTexturesResident.xml rename to Source/Bind/Specifications/Docs/GL2/glAreTexturesResident.xml diff --git a/Source/Bind/Specifications/Docs/glArrayElement.xml b/Source/Bind/Specifications/Docs/GL2/glArrayElement.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glArrayElement.xml rename to Source/Bind/Specifications/Docs/GL2/glArrayElement.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glAttachShader.xml b/Source/Bind/Specifications/Docs/GL2/glAttachShader.xml new file mode 100644 index 00000000..5b52cf55 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glAttachShader.xml @@ -0,0 +1,115 @@ + + + + + glAttachShader + 3G + + + glAttachShader + Attaches a shader object to a program object + + C Specification + + + void glAttachShader + GLuint program + GLuint shader + + + + Parameters + + + program + + Specifies the program object to which a shader + object will be attached. + + + + + shader + + Specifies the shader object that is to be attached. + + + + + Description + In order to create an executable, there must be a way to + specify the list of things that will be linked together. Program + objects provide this mechanism. Shaders that are to be linked + together in a program object must first be attached to that + program object. glAttachShader attaches the + shader object specified by shader to the + program object specified by program. This + indicates that shader will be included in + link operations that will be performed on + program. + + All operations that can be performed on a shader object + are valid whether or not the shader object is attached to a + program object. It is permissible to attach a shader object to a + program object before source code has been loaded into the + shader object or before the shader object has been compiled. It + is permissible to attach multiple shader objects of the same + type because each may contain a portion of the complete shader. + It is also permissible to attach a shader object to more than + one program object. If a shader object is deleted while it is + attached to a program object, it will be flagged for deletion, + and deletion will not occur until + glDetachShader + is called to detach it from all program objects to which it is + attached. + + Notes + glAttachShader + is available only if the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if either + program or shader + is not a value generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + shader is already attached to + program. + + GL_INVALID_OPERATION is generated if + glAttachShader is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetAttachedShaders + with the handle of a valid program object + + glIsProgram + + glIsShader + + See Also + glCompileShader, + glDetachShader, + glLinkProgram, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glBegin.xml b/Source/Bind/Specifications/Docs/GL2/glBegin.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glBegin.xml rename to Source/Bind/Specifications/Docs/GL2/glBegin.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glBeginQuery.xml b/Source/Bind/Specifications/Docs/GL2/glBeginQuery.xml new file mode 100644 index 00000000..3a41b89c --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBeginQuery.xml @@ -0,0 +1,154 @@ + + + + + + + 2005 + Sams Publishing + + + glBeginQuery + 3G + + + glBeginQuery + delimit the boundaries of a query object + + C Specification + + + void glBeginQuery + GLenum target + GLuint id + + + + + Parameters + + + target + + + Specifies the target type of query object established between + glBeginQuery and the subsequent glEndQuery. + The symbolic constant must be GL_SAMPLES_PASSED. + + + + + id + + + Specifies the name of a query object. + + + + + + C Specification + + + void glEndQuery + GLenum target + + + + + Parameters + + + target + + + Specifies the target type of query object to be concluded. + The symbolic constant must be GL_SAMPLES_PASSED. + + + + + + Description + + glBeginQuery and glEndQuery delimit the + boundaries of a query object. If a query object with name id does not yet exist it is created. + + + When glBeginQuery is executed, the query object's samples-passed counter is reset to 0. Subsequent + rendering will increment the counter once for every sample that passes the depth test. When glEndQuery + is executed, the samples-passed counter is assigned to the query object's result value. This value can be queried by + calling glGetQueryObject with pname + GL_QUERY_RESULT. + + + Querying the GL_QUERY_RESULT implicitly flushes the GL pipeline until the rendering delimited by the + query object has completed and the result is available. GL_QUERY_RESULT_AVAILABLE can be queried to + determine if the result is immediately available or if the rendering is not yet complete. + + + Notes + + If the samples-passed count exceeds the maximum value representable in the number of available bits, as reported by + glGetQueryiv with pname + GL_QUERY_COUNTER_BITS, the count becomes undefined. + + + An implementation may support 0 bits in its samples-passed counter, in which case query results are always undefined + and essentially useless. + + + When GL_SAMPLE_BUFFERS is 0, the samples-passed counter will increment once for each fragment that passes + the depth test. When GL_SAMPLE_BUFFERS is 1, an implementation may either increment the samples-passed + counter individually for each sample of a fragment that passes the depth test, or it may choose to increment the counter for + all samples of a fragment if any one of them passes the depth test. + + + glBeginQuery and glEndQuery + are available only if the GL version is 1.5 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_SAMPLES_PASSED. + + + GL_INVALID_OPERATION is generated if glBeginQuery is executed while + a query object of the same target is already active. + + + GL_INVALID_OPERATION is generated if glEndQuery + is executed when a query object of the same target is not active. + + + GL_INVALID_OPERATION is generated if id is 0. + + + GL_INVALID_OPERATION is generated if id is the name of an already active query object. + + + GL_INVALID_OPERATION is generated if glBeginQuery or + glEndQuery is executed between the execution of + glBegin and the corresponding execution of + glEnd. + + + See Also + + glDeleteQueries, + glGenQueries, + glGetQueryiv, + glGetQueryObject, + glIsQuery + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBindAttribLocation.xml b/Source/Bind/Specifications/Docs/GL2/glBindAttribLocation.xml new file mode 100644 index 00000000..2656f844 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBindAttribLocation.xml @@ -0,0 +1,196 @@ + + + + + glBindAttribLocation + 3G + + + glBindAttribLocation + Associates a generic vertex attribute index with a named attribute variable + + C Specification + + + void glBindAttribLocation + GLuint program + GLuint index + const GLchar *name + + + + Parameters + + + program + + Specifies the handle of the program object in + which the association is to be made. + + + + index + + Specifies the index of the generic vertex + attribute to be bound. + + + + name + + Specifies a null terminated string containing + the name of the vertex shader attribute variable to + which index is to be + bound. + + + + + Description + glBindAttribLocation is used to + associate a user-defined attribute variable in the program + object specified by program with a + generic vertex attribute index. The name of the user-defined + attribute variable is passed as a null terminated string in + name. The generic vertex attribute index + to be bound to this variable is specified by + index. When + program is made part of current state, + values provided via the generic vertex attribute + index will modify the value of the + user-defined attribute variable specified by + name. + + If name refers to a matrix + attribute variable, index refers to the + first column of the matrix. Other matrix columns are then + automatically bound to locations index+1 + for a matrix of type mat2; index+1 and + index+2 for a matrix of type mat3; and + index+1, index+2, + and index+3 for a matrix of type + mat4. + + This command makes it possible for vertex shaders to use + descriptive names for attribute variables rather than generic + variables that are numbered from 0 to + GL_MAX_VERTEX_ATTRIBS -1. The values sent + to each generic attribute index are part of current state, just + like standard vertex attributes such as color, normal, and + vertex position. If a different program object is made current + by calling + glUseProgram, + the generic vertex attributes are tracked in such a way that the + same values will be observed by attributes in the new program + object that are also bound to + index. Attribute variable + name-to-generic attribute index bindings for a program object + can be explicitly assigned at any time by calling + glBindAttribLocation. Attribute bindings do + not go into effect until + glLinkProgram + is called. After a program object has been linked successfully, + the index values for generic attributes remain fixed (and their + values can be queried) until the next link command + occurs. + + Applications are not allowed to bind any of the standard + OpenGL vertex attributes using this command, as they are bound + automatically when needed. Any attribute binding that occurs + after the program object has been linked will not take effect + until the next time the program object is linked. + + Notes + glBindAttribLocation is available + only if the GL version is 2.0 or greater. + + glBindAttribLocation can be called + before any vertex shader objects are bound to the specified + program object. It is also permissible to bind a generic + attribute index to an attribute variable name that is never used + in a vertex shader. + + If name was bound previously, that + information is lost. Thus you cannot bind one user-defined + attribute variable to multiple indices, but you can bind + multiple user-defined attribute variables to the same + index. + + Applications are allowed to bind more than one + user-defined attribute variable to the same generic vertex + attribute index. This is called aliasing, + and it is allowed only if just one of the aliased attributes is + active in the executable program, or if no path through the + shader consumes more than one attribute of a set of attributes + aliased to the same location. The compiler and linker are + allowed to assume that no aliasing is done and are free to + employ optimizations that work only in the absence of aliasing. + OpenGL implementations are not required to do error checking to + detect aliasing. Because there is no way to bind standard + attributes, it is not possible to alias generic attributes with + conventional ones (except for generic attribute 0). + + Active attributes that are not explicitly bound will be + bound by the linker when + glLinkProgram + is called. The locations assigned can be queried by calling + glGetAttribLocation. + + OpenGL copies the name string when + glBindAttribLocation is called, so an + application may free its copy of the name + string immediately after the function returns. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_OPERATION is generated if + name starts with the reserved prefix + "gl_". + + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + glBindAttribLocation is executed between + the execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetActiveAttrib + with argument program + + glGetAttribLocation + with arguments program and + name + + glIsProgram + + See Also + glDisableVertexAttribArray, + glEnableVertexAttribArray, + glUseProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBindBuffer.xml b/Source/Bind/Specifications/Docs/GL2/glBindBuffer.xml new file mode 100644 index 00000000..be3dded8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBindBuffer.xml @@ -0,0 +1,206 @@ + + + + + + + 2005 + Sams Publishing + + + glBindBuffer + 3G + + + glBindBuffer + bind a named buffer object + + C Specification + + + void glBindBuffer + GLenum target + GLuint buffer + + + + Parameters + + + target + + + Specifies the target to which the buffer object is bound. + The symbolic constant must be + GL_ARRAY_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or + GL_PIXEL_UNPACK_BUFFER. + + + + + buffer + + + Specifies the name of a buffer object. + + + + + + Description + + glBindBuffer lets you create or use a named buffer object. Calling glBindBuffer with + target set to + GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER or + GL_PIXEL_UNPACK_BUFFER and buffer set to the name + of the new buffer object binds the buffer object name to the target. + When a buffer object is bound to a target, the previous binding for that + target is automatically broken. + + + Buffer object names are unsigned integers. The value zero is reserved, but + there is no default buffer object for each buffer object target. Instead, buffer set to zero + effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target. + Buffer object names and the corresponding buffer object contents are local to + the shared display-list space (see glXCreateContext) of the current + GL rendering context; + two rendering contexts share buffer object names only if they + also share display lists. + + + You may use glGenBuffers to generate a set of new buffer object names. + + + The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with + GL_READ_WRITE access and GL_STATIC_DRAW usage. + + + While a non-zero buffer object name is bound, GL operations on the target to which it is + bound affect the bound buffer object, and queries of the target to which it is bound return state + from the bound buffer object. While buffer object name zero is bound, as in the initial state, + attempts to modify or query state on the target to which it is bound generates an + GL_INVALID_OPERATION error. + + + When vertex array pointer state is changed, for example by a call to + glNormalPointer, + the current buffer object binding (GL_ARRAY_BUFFER_BINDING) is copied into the + corresponding client state for the vertex array type being changed, for example + GL_NORMAL_ARRAY_BUFFER_BINDING. While a non-zero buffer object is bound to the + GL_ARRAY_BUFFER target, the vertex array pointer parameter that is traditionally + interpreted as a pointer to client-side memory is instead interpreted as an offset within the + buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_ELEMENT_ARRAY_BUFFER target, + the indices parameter of glDrawElements, + glDrawRangeElements, or + glMultiDrawElements that is traditionally + interpreted as a pointer to client-side memory is instead interpreted as an offset within the + buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_PIXEL_PACK_BUFFER target, + the following commands are affected: glGetCompressedTexImage, + glGetConvolutionFilter, + glGetHistogram, + glGetMinmax, + glGetPixelMap, + glGetPolygonStipple, + glGetSeparableFilter, + glGetTexImage, and + glReadPixels. The pointer parameter that is + traditionally interpreted as a pointer to client-side memory where the pixels are to be packed is instead + interpreted as an offset within the buffer object measured in basic machine units. + + + While a non-zero buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target, + the following commands are affected: glBitmap, + glColorSubTable, + glColorTable, + glCompressedTexImage1D, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage1D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glConvolutionFilter1D, + glConvolutionFilter2D, + glDrawPixels, + glPixelMap, + glPolygonStipple, + glSeparableFilter2D, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, and + glTexSubImage3D. The pointer parameter that is + traditionally interpreted as a pointer to client-side memory from which the pixels are to be unpacked is + instead interpreted as an offset within the buffer object measured in basic machine units. + + + A buffer object binding created with glBindBuffer remains active until a different + buffer object name is bound to the same target, or until the bound buffer object is + deleted with glDeleteBuffers. + + + Once created, a named buffer object may be re-bound to any target as often as needed. However, + the GL implementation may make choices about how to optimize the storage of a buffer object based + on its initial binding target. + + + Notes + + glBindBuffer is available only if the GL version is 1.5 or greater. + + + GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are + available only if the GL version is 2.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable + values. + + + GL_INVALID_OPERATION is generated if glBindBuffer is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGet with argument GL_ARRAY_BUFFER_BINDING + + + glGet with argument GL_ELEMENT_ARRAY_BUFFER_BINDING + + + glGet with argument GL_PIXEL_PACK_BUFFER_BINDING + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + See Also + + glDeleteBuffers, + glGenBuffers, + glGet, + glIsBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBindTexture.xml b/Source/Bind/Specifications/Docs/GL2/glBindTexture.xml new file mode 100644 index 00000000..3f4b03d4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBindTexture.xml @@ -0,0 +1,168 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBindTexture + 3G + + + glBindTexture + bind a named texture to a texturing target + + C Specification + + + void glBindTexture + GLenum target + GLuint texture + + + + Parameters + + + target + + + Specifies the target to which the texture is bound. + Must be either + GL_TEXTURE_1D, + GL_TEXTURE_2D, + GL_TEXTURE_3D, or + GL_TEXTURE_CUBE_MAP. + + + + + texture + + + Specifies the name of a texture. + + + + + + Description + + glBindTexture lets you create or use a named texture. Calling glBindTexture with + target set to + GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D or + GL_TEXTURE_CUBE_MAP and texture set to the name + of the new texture binds the texture name to the target. + When a texture is bound to a target, the previous binding for that + target is automatically broken. + + + Texture names are unsigned integers. The value zero is reserved to + represent the default texture for each texture target. + Texture names and the corresponding texture contents are local to + the shared display-list space (see glXCreateContext) of the current + GL rendering context; + two rendering contexts share texture names only if they + also share display lists. + + + You may use glGenTextures to generate a set of new texture names. + + + When a texture is first bound, it assumes the specified target: + A texture first bound to GL_TEXTURE_1D becomes one-dimensional texture, a + texture first bound to GL_TEXTURE_2D becomes two-dimensional texture, a + texture first bound to GL_TEXTURE_3D becomes three-dimensional texture, and a + texture first bound to GL_TEXTURE_CUBE_MAP + becomes a cube-mapped texture. The state of a one-dimensional texture + immediately after it is first bound is equivalent to the state of the + default GL_TEXTURE_1D at GL initialization, and similarly for two- + and three-dimensional textures and cube-mapped textures. + + + While a texture is bound, GL operations on the target to which it is + bound affect the bound texture, and queries of the target to which it + is bound return state from the bound texture. If texture mapping is active + on the target to which a texture is bound, the bound texture is used. + In effect, the texture targets become aliases for the textures currently + bound to them, and the texture name zero refers to the default textures + that were bound to them at initialization. + + + A texture binding created with glBindTexture remains active until a different + texture is bound to the same target, or until the bound texture is + deleted with glDeleteTextures. + + + Once created, a named texture may be re-bound to its same original target as often as needed. + It is usually much faster to use glBindTexture to bind an existing named + texture to one of the texture targets than it is to reload the texture image + using glTexImage1D, glTexImage2D, or glTexImage3D. + For additional control over performance, use + glPrioritizeTextures. + + + glBindTexture is included in display lists. + + + Notes + + glBindTexture is available only if the GL version is 1.1 or greater. + + + GL_TEXTURE_CUBE_MAP is available only if the GL version is 1.3 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable + values. + + + GL_INVALID_OPERATION is generated if texture was previously created with a target + that doesn't match that of target. + + + GL_INVALID_OPERATION is generated if glBindTexture is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGet with argument GL_TEXTURE_BINDING_1D + + + glGet with argument GL_TEXTURE_BINDING_2D + + + glGet with argument GL_TEXTURE_BINDING_3D + + + See Also + + glAreTexturesResident, + glDeleteTextures, + glGenTextures, + glGet, + glGetTexParameter, + glIsTexture, + glPrioritizeTextures, + glTexImage1D, + glTexImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glBitmap.xml b/Source/Bind/Specifications/Docs/GL2/glBitmap.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glBitmap.xml rename to Source/Bind/Specifications/Docs/GL2/glBitmap.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glBlendColor.xml b/Source/Bind/Specifications/Docs/GL2/glBlendColor.xml new file mode 100644 index 00000000..e68d7a7e --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBlendColor.xml @@ -0,0 +1,98 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendColor + 3G + + + glBlendColor + set the blend color + + C Specification + + + void glBlendColor + GLclampf red + GLclampf green + GLclampf blue + GLclampf alpha + + + + + Parameters + + + red + green + blue + alpha + + + specify the components of GL_BLEND_COLOR + + + + + + Description + + The GL_BLEND_COLOR may be used to calculate the source and destination + blending factors. The color components are clamped to the range + + + + 0 + 1 + + + before being stored. See glBlendFunc for a complete description of the + blending operations. + Initially the GL_BLEND_COLOR is set to (0, 0, 0, 0). + + + Notes + + glBlendColor is part of the ARB_imaging subset. glBlendColor is present only + if ARB_imaging is returned when glGetString is called with + GL_EXTENSIONS as its argument. + + + Errors + + GL_INVALID_OPERATION is generated if glBlendColor is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + + + Associated Gets + + glGet with an argument of GL_BLEND_COLOR + + + See Also + + glBlendEquation, + glBlendFunc, + glGetString + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBlendEquation.xml b/Source/Bind/Specifications/Docs/GL2/glBlendEquation.xml new file mode 100644 index 00000000..b3491860 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBlendEquation.xml @@ -0,0 +1,765 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendEquation + 3G + + + glBlendEquation + specify the equation used for both the RGB blend equation and the Alpha blend equation + + C Specification + + + void glBlendEquation + GLenum mode + + + + + Parameters + + + mode + + + specifies how source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + + Description + + The blend equations determine how a new pixel (the ''source'' color) + is combined with a pixel already in the framebuffer (the ''destination'' + color). This function sets both the RGB blend equation and the alpha + blend equation to a single equation. + + + These equations use the source and destination blend factors + specified by either glBlendFunc or + glBlendFuncSeparate. + See glBlendFunc or glBlendFuncSeparate + for a description of the various blend factors. + + + In the equations that follow, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + , + respectively. + The result color is referred to as + + + + R + r + + G + r + + B + r + + A + r + + + . + The source and destination blend factors are denoted + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + , + respectively. + For these equations all color components are understood to have values + in the range + + + + 0 + 1 + + . + + + + + + + + + + Mode + + + RGB Components + + + Alpha Component + + + + + + + GL_FUNC_ADD + + + + + + Rr + = + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + GL_FUNC_SUBTRACT + + + + + + Rr + = + + R + s + + + s + R + + - + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + - + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + - + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + - + A + d + + + d + A + + + + + + + + + GL_FUNC_REVERSE_SUBTRACT + + + + + + Rr + = + + R + d + + + d + R + + - + R + s + + + s + R + + + + + + + + Gr + = + + G + d + + + d + G + + - + G + s + + + s + G + + + + + + + + Br + = + + B + d + + + d + B + + - + B + s + + + s + B + + + + + + + + + + Ar + = + + A + d + + + d + A + + - + A + s + + + s + A + + + + + + + + + GL_MIN + + + + + + Rr + = + + min + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + min + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + min + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + min + + + + A + s + + + + A + d + + + + + + + + + + + GL_MAX + + + + + + Rr + = + + max + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + max + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + max + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + max + + + + A + s + + + + A + d + + + + + + + + + + + + + + The results of these equations are clamped to the range + + + + 0 + 1 + + . + + + The GL_MIN and GL_MAX equations are useful for applications + that analyze image data (image thresholding against a constant color, + for example). + The GL_FUNC_ADD equation is useful + for antialiasing and transparency, among other things. + + + Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. + + + + + Notes + + The GL_MIN, and GL_MAX equations do not use + the source or destination factors, only the source and destination colors. + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of + GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, + GL_MAX, or GL_MIN. + + + GL_INVALID_OPERATION is generated if glBlendEquation is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGet with an argument of GL_BLEND_EQUATION_RGB + + + glGet with an argument of GL_BLEND_EQUATION_ALPHA + + + See Also + + glGetString, + glBlendColor, + glBlendFunc + glBlendFuncSeparate + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBlendEquationSeparate.xml b/Source/Bind/Specifications/Docs/GL2/glBlendEquationSeparate.xml new file mode 100644 index 00000000..d6985df8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBlendEquationSeparate.xml @@ -0,0 +1,779 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendEquationSeparate + 3G + + + glBlendEquationSeparate + set the RGB blend equation and the alpha blend equation separately + + C Specification + + + void glBlendEquationSeparate + GLenum modeRGB + GLenum modeAlpha + + + + + Parameters + + + modeRGB + + + specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + modeAlpha + + + specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. + It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. + + + + + + Description + + The blend equations determines how a new pixel (the ''source'' color) + is combined with a pixel already in the framebuffer (the ''destination'' + color). This function specifies one blend equation for the RGB-color + components and one blend equation for the alpha component. + + + The blend equations use the source and destination blend factors + specified by either glBlendFunc or + glBlendFuncSeparate. + See glBlendFunc or glBlendFuncSeparate + for a description of the various blend factors. + + + In the equations that follow, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + , + respectively. + The result color is referred to as + + + + R + r + + G + r + + B + r + + A + r + + + . + The source and destination blend factors are denoted + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + , + respectively. + For these equations all color components are understood to have values + in the range + + + + 0 + 1 + + . + + + + + + + + + + Mode + + + RGB Components + + + Alpha Component + + + + + + + GL_FUNC_ADD + + + + + + Rr + = + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + GL_FUNC_SUBTRACT + + + + + + Rr + = + + R + s + + + s + R + + - + R + d + + + d + R + + + + + + + + Gr + = + + G + s + + + s + G + + - + G + d + + + d + G + + + + + + + + Br + = + + B + s + + + s + B + + - + B + d + + + d + B + + + + + + + + + + Ar + = + + A + s + + + s + A + + - + A + d + + + d + A + + + + + + + + + GL_FUNC_REVERSE_SUBTRACT + + + + + + Rr + = + + R + d + + + d + R + + - + R + s + + + s + R + + + + + + + + Gr + = + + G + d + + + d + G + + - + G + s + + + s + G + + + + + + + + Br + = + + B + d + + + d + B + + - + B + s + + + s + B + + + + + + + + + + Ar + = + + A + d + + + d + A + + - + A + s + + + s + A + + + + + + + + + GL_MIN + + + + + + Rr + = + + min + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + min + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + min + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + min + + + + A + s + + + + A + d + + + + + + + + + + + GL_MAX + + + + + + Rr + = + + max + + + + R + s + + + + R + d + + + + + + + + + + Gr + = + + max + + + + G + s + + + + G + d + + + + + + + + + + Br + = + + max + + + + B + s + + + + B + d + + + + + + + + + + + + Ar + = + + max + + + + A + s + + + + A + d + + + + + + + + + + + + + + The results of these equations are clamped to the range + + + + 0 + 1 + + . + + + The GL_MIN and GL_MAX equations are useful for applications + that analyze image data (image thresholding against a constant color, + for example). + The GL_FUNC_ADD equation is useful + for antialiasing and transparency, among other things. + + + Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. + + + + + Notes + + glBlendEquationSeparate is available only if the GL version is 2.0 or greater. + + + The GL_MIN, and GL_MAX equations do not use + the source or destination factors, only the source and destination colors. + + + Errors + + GL_INVALID_ENUM is generated if either modeRGB or modeAlpha is not one of + GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, + GL_MAX, or GL_MIN. + + + GL_INVALID_OPERATION is generated if glBlendEquationSeparate is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGet with an argument of GL_BLEND_EQUATION_RGB + + + glGet with an argument of GL_BLEND_EQUATION_ALPHA + + + See Also + + glGetString, + glBlendColor, + glBlendFunc, + glBlendFuncSeparate + + + Copyright + + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBlendFunc.xml b/Source/Bind/Specifications/Docs/GL2/glBlendFunc.xml new file mode 100644 index 00000000..ed7ed921 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBlendFunc.xml @@ -0,0 +1,1256 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendFunc + 3G + + + glBlendFunc + specify pixel arithmetic + + C Specification + + + void glBlendFunc + GLenum sfactor + GLenum dfactor + + + + + Parameters + + + sfactor + + + Specifies how the red, green, blue, + and alpha source blending factors are computed. + The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA, + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, + GL_ONE_MINUS_CONSTANT_ALPHA, and + GL_SRC_ALPHA_SATURATE. + The initial value is GL_ONE. + + + + + dfactor + + + Specifies how the red, green, blue, + and alpha destination blending factors are computed. + The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA. + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, and + GL_ONE_MINUS_CONSTANT_ALPHA. + The initial value is GL_ZERO. + + + + + + Description + + In RGBA mode, pixels can be drawn using a function that blends + the incoming (source) RGBA values with the RGBA values + that are already in the frame buffer (the destination values). + Blending is initially disabled. + Use glEnable and glDisable with argument GL_BLEND + to enable and disable blending. + + + glBlendFunc defines the operation of blending when it is enabled. + sfactor specifies which method is used to scale the + source color components. + dfactor specifies which method is used to scale the + destination color components. + The possible methods are described in the following table. + Each method defines four scale factors, + one each for red, green, blue, and alpha. + In the table and in subsequent equations, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + . + The color specified by glBlendColor is referred to as + + + + R + c + + G + c + + B + c + + A + c + + + . + They are understood to have integer values between 0 and + + + + k + R + + k + G + + k + B + + k + A + + + , + where + + + + + + + k + c + + = + + 2 + + m + c + + + + - + 1 + + + + + + + and + + + + m + R + + m + G + + m + B + + m + A + + + + is the number of red, + green, + blue, + and alpha bitplanes. + + + Source and destination scale factors are referred to as + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + . + The scale factors described in the table, + denoted + + + + f + R + + f + G + + f + B + + f + A + + + , + represent either source or destination factors. + All scale factors have range + + + + 0 + 1 + + . + + + + + + + + + + + Parameter + + + + + + f + R + + f + G + + f + B + + f + A + + + + + + + + + + GL_ZERO + + + + + + 0 + 0 + 0 + 0 + + + + + + + GL_ONE + + + + + + 1 + 1 + 1 + 1 + + + + + + + GL_SRC_COLOR + + + + + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + A + s + + k + A + + + + + + + + + GL_ONE_MINUS_SRC_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + A + s + + k + A + + + + + + + + + + GL_DST_COLOR + + + + + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + A + d + + k + A + + + + + + + + + GL_ONE_MINUS_DST_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + A + d + + k + A + + + + + + + + + + GL_SRC_ALPHA + + + + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + GL_ONE_MINUS_SRC_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + GL_DST_ALPHA + + + + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + GL_ONE_MINUS_DST_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + GL_CONSTANT_COLOR + + + + + + R + c + + G + c + + B + c + + A + c + + + + + + + + GL_ONE_MINUS_CONSTANT_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + R + c + + G + c + + B + c + + A + c + + + + + + + + + GL_CONSTANT_ALPHA + + + + + + A + c + + A + c + + A + c + + A + c + + + + + + + + GL_ONE_MINUS_CONSTANT_ALPHA + + + + + + + 1 + 1 + 1 + 1 + + - + + A + c + + A + c + + A + c + + A + c + + + + + + + + + GL_SRC_ALPHA_SATURATE + + + + + + i + i + i + 1 + + + + + + + + + In the table, + + + + + + + i + = + + + min + + + A + s + + + k + A + + - + A + d + + + + + k + A + + + + + + + + To determine the blended RGBA values of a pixel when drawing in RGBA mode, + the system uses the following equations: + + + + + + + R + d + + = + + min + + + k + R + + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + + + G + d + + = + + min + + + k + G + + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + + + B + d + + = + + min + + + k + B + + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + A + d + + = + + min + + + k + A + + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + + Despite the apparent precision of the above equations, + blending arithmetic is not exactly specified, + because blending operates with imprecise integer color values. + However, + a blend factor that should be equal to 1 + is guaranteed not to modify its multiplicand, + and a blend factor equal to 0 reduces its multiplicand to 0. + For example, + when sfactor is GL_SRC_ALPHA, + dfactor is GL_ONE_MINUS_SRC_ALPHA, + and + + + A + s + + + is equal to + + + k + A + + , + the equations reduce to simple replacement: + + + + + + + R + d + + = + R + s + + + + + + + G + d + + = + G + s + + + + + + + B + d + + = + B + s + + + + + + + A + d + + = + A + s + + + + + + + + + Examples + + + + Transparency is best implemented using blend function + (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + with primitives sorted from farthest to nearest. + Note that this transparency calculation does not require + the presence of alpha bitplanes in the frame buffer. + + + Blend function + (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + is also useful for rendering antialiased points and lines + in arbitrary order. + + + Polygon antialiasing is optimized using blend function + (GL_SRC_ALPHA_SATURATE, GL_ONE) + with polygons sorted from nearest to farthest. + (See the glEnable, glDisable reference page and the + GL_POLYGON_SMOOTH argument for information on polygon antialiasing.) + Destination alpha bitplanes, + which must be present for this blend function to operate correctly, + store the accumulated coverage. + + + Notes + + Incoming (source) alpha is correctly thought of as a material opacity, + ranging from 1.0 + ( + + K + A + + ), + representing complete opacity, + to 0.0 (0), representing complete + transparency. + + + When more than one color buffer is enabled for drawing, + the GL performs blending separately for each enabled buffer, + using the contents of that buffer for destination color. + (See glDrawBuffer.) + + + Blending affects only RGBA rendering. + It is ignored by color index renderers. + + + GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA are available only + if the GL version is 1.4 or greater or if the ARB_imaging is + supported by your implementation. + + + GL_SRC_COLOR and GL_ONE_MINUS_SRC_COLOR are valid only for + sfactor if the GL version is 1.4 or greater. + + + GL_DST_COLOR and GL_ONE_MINUS_DST_COLOR are valid only for + dfactor if the GL version is 1.4 or greater. + + + Errors + + GL_INVALID_ENUM is generated if either sfactor or dfactor is not an + accepted value. + + + GL_INVALID_OPERATION is generated if glBlendFunc + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_BLEND_SRC + + + glGet with argument GL_BLEND_DST + + + glIsEnabled with argument GL_BLEND + + + + + See Also + + glAlphaFunc, + glBlendColor, + glBlendEquation, + glBlendFuncSeparate, + glClear, + glDrawBuffer, + glEnable, + glLogicOp, + glStencilFunc + + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBlendFuncSeparate.xml b/Source/Bind/Specifications/Docs/GL2/glBlendFuncSeparate.xml new file mode 100644 index 00000000..62c0c882 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBlendFuncSeparate.xml @@ -0,0 +1,1315 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glBlendFuncSeparate + 3G + + + glBlendFuncSeparate + specify pixel arithmetic for RGB and alpha components separately + + C Specification + + + void glBlendFuncSeparate + GLenum srcRGB + GLenum dstRGB + GLenum srcAlpha + GLenum dstAlpha + + + + + Parameters + + + srcRGB + + + Specifies how the red, green, and blue blending factors are computed. + The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA, + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, + GL_ONE_MINUS_CONSTANT_ALPHA, and + GL_SRC_ALPHA_SATURATE. + The initial value is GL_ONE. + + + + + dstRGB + + + Specifies how the red, green, and blue destination blending factors are + computed. The following symbolic constants are accepted: + GL_ZERO, + GL_ONE, + GL_SRC_COLOR, + GL_ONE_MINUS_SRC_COLOR, + GL_DST_COLOR, + GL_ONE_MINUS_DST_COLOR, + GL_SRC_ALPHA, + GL_ONE_MINUS_SRC_ALPHA, + GL_DST_ALPHA, + GL_ONE_MINUS_DST_ALPHA. + GL_CONSTANT_COLOR, + GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, and + GL_ONE_MINUS_CONSTANT_ALPHA. + The initial value is GL_ZERO. + + + + + srcAlpha + + + Specified how the alpha source blending factor is computed. The same + symbolic constants are accepted as for srcRGB. + The initial value is GL_ONE. + + + + + dstAlpha + + + Specified how the alpha destination blending factor is computed. The same + symbolic constants are accepted as for dstRGB. + The initial value is GL_ZERO. + + + + + + Description + + In RGBA mode, pixels can be drawn using a function that blends + the incoming (source) RGBA values with the RGBA values + that are already in the frame buffer (the destination values). + Blending is initially disabled. + Use glEnable and glDisable with argument GL_BLEND + to enable and disable blending. + + + glBlendFuncSeparate defines the operation of blending when it is enabled. + srcRGB specifies which method is used to scale the + source RGB-color components. + dstRGB specifies which method is used to scale the + destination RGB-color components. + Likewise, srcAlpha specifies which method is used to scale the source alpha + color component, and dstAlpha specifies which method is used to scale the + destination alpha component. + The possible methods are described in the following table. + Each method defines four scale factors, + one each for red, green, blue, and alpha. + + + In the table and in subsequent equations, source and destination + color components are referred to as + + + + R + s + + G + s + + B + s + + A + s + + + + and + + + + R + d + + G + d + + B + d + + A + d + + + . + The color specified by glBlendColor is referred to as + + + + R + c + + G + c + + B + c + + A + c + + + . + They are understood to have integer values between 0 and + + + + k + R + + k + G + + k + B + + k + A + + + , + where + + + + + + + k + c + + = + + 2 + + m + c + + + + - + 1 + + + + + + + and + + + + m + R + + m + G + + m + B + + m + A + + + + is the number of red, + green, + blue, + and alpha bitplanes. + + + Source and destination scale factors are referred to as + + + + s + R + + s + G + + s + B + + s + A + + + + and + + + + d + R + + d + G + + d + B + + d + A + + + . + All scale factors have range + + + + 0 + 1 + + . + + + + + + + + + + + + Parameter + + + RGB Factor + + + Alpha Factor + + + + + + + GL_ZERO + + + + + + 0 + 0 + 0 + + + + + + + 0 + + + + + + GL_ONE + + + + + + 1 + 1 + 1 + + + + + + + 1 + + + + + + GL_SRC_COLOR + + + + + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + + + + + + + A + s + + k + A + + + + + + + + GL_ONE_MINUS_SRC_COLOR + + + + + + + 1 + 1 + 1 + 1 + + - + + + R + s + + k + R + + + + G + s + + k + G + + + + B + s + + k + B + + + + + + + + + + + 1 + - + + A + s + + k + A + + + + + + + + + GL_DST_COLOR + + + + + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + + + + + + + A + d + + k + A + + + + + + + + GL_ONE_MINUS_DST_COLOR + + + + + + + 1 + 1 + 1 + + - + + + R + d + + k + R + + + + G + d + + k + G + + + + B + d + + k + B + + + + + + + + + + + 1 + - + + A + d + + k + A + + + + + + + + + GL_SRC_ALPHA + + + + + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + A + s + + k + A + + + + + + + + GL_ONE_MINUS_SRC_ALPHA + + + + + + + 1 + 1 + 1 + + - + + + A + s + + k + A + + + + A + s + + k + A + + + + A + s + + k + A + + + + + + + + + + + 1 + - + + A + s + + k + A + + + + + + + + + GL_DST_ALPHA + + + + + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + A + d + + k + A + + + + + + + + GL_ONE_MINUS_DST_ALPHA + + + + + + + 1 + 1 + 1 + + - + + + A + d + + k + A + + + + A + d + + k + A + + + + A + d + + k + A + + + + + + + + + + + 1 + - + + A + d + + k + A + + + + + + + + + GL_CONSTANT_COLOR + + + + + + R + c + + G + c + + B + c + + + + + + + + A + c + + + + + + + GL_ONE_MINUS_CONSTANT_COLOR + + + + + + + 1 + 1 + 1 + + - + + R + c + + G + c + + B + c + + + + + + + + + + 1 + - + A + c + + + + + + + + GL_CONSTANT_ALPHA + + + + + + A + c + + A + c + + A + c + + + + + + + + A + c + + + + + + + GL_ONE_MINUS_CONSTANT_ALPHA + + + + + + + 1 + 1 + 1 + + - + + A + c + + A + c + + A + c + + + + + + + + + + 1 + - + A + c + + + + + + + + GL_SRC_ALPHA_SATURATE + + + + + + i + i + i + + + + + + + 1 + + + + + + + + In the table, + + + + + + + i + = + + min + + + A + s + + + 1 + - + + A + d + + + + + + + + + + + To determine the blended RGBA values of a pixel when drawing in RGBA mode, + the system uses the following equations: + + + + + + + R + d + + = + + min + + + k + R + + + R + s + + + s + R + + + + R + d + + + d + R + + + + + + + + + + G + d + + = + + min + + + k + G + + + G + s + + + s + G + + + + G + d + + + d + G + + + + + + + + + + B + d + + = + + min + + + k + B + + + B + s + + + s + B + + + + B + d + + + d + B + + + + + + + + + + A + d + + = + + min + + + k + A + + + A + s + + + s + A + + + + A + d + + + d + A + + + + + + + + + + Despite the apparent precision of the above equations, blending arithmetic + is not exactly specified, because blending operates with imprecise integer + color values. However, a blend factor that should be equal to 1 is + guaranteed not to modify its multiplicand, and a blend factor equal to 0 + reduces its multiplicand to 0. For example, when srcRGB is + GL_SRC_ALPHA, dstRGB is GL_ONE_MINUS_SRC_ALPHA, and + + + A + s + + + is + equal to + + + k + A + + , + the equations reduce to simple replacement: + + + + + + + R + d + + = + R + s + + + + + + + G + d + + = + G + s + + + + + + + B + d + + = + B + s + + + + + + + A + d + + = + A + s + + + + + + + + + Notes + + glBlendFuncSeparate is available only if the GL version is 1.4 or greater. + + + Incoming (source) alpha is correctly thought of as a material opacity, + ranging from 1.0 + ( + + K + A + + ), + representing complete opacity, + to 0.0 (0), representing complete + transparency. + + + When more than one color buffer is enabled for drawing, + the GL performs blending separately for each enabled buffer, + using the contents of that buffer for destination color. + (See glDrawBuffer.) + + + Blending affects only RGBA rendering. + It is ignored by color index renderers. + + + GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, + GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA are available only + if the GL version is 1.4 or greater or if the ARB_imaging is + supported by your implementation. + + + GL_SRC_COLOR and GL_ONE_MINUS_SRC_COLOR are valid only for + srcRGB if the GL version is 1.4 or greater. + + + GL_DST_COLOR and GL_ONE_MINUS_DST_COLOR are valid only for + dstRGB if the GL version is 1.4 or greater. + + + Errors + + GL_INVALID_ENUM is generated if either srcRGB or dstRGB is not an + accepted value. + + + GL_INVALID_OPERATION is generated if glBlendFuncSeparate + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_BLEND_SRC_RGB + + + glGet with argument GL_BLEND_SRC_ALPHA + + + glGet with argument GL_BLEND_DST_RGB + + + glGet with argument GL_BLEND_DST_ALPHA + + + glIsEnabled with argument GL_BLEND + + + + + See Also + + glAlphaFunc, + glBlendColor, + glBlendFunc, + glBlendEquation, + glClear, + glDrawBuffer, + glEnable, + glLogicOp, + glStencilFunc + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBufferData.xml b/Source/Bind/Specifications/Docs/GL2/glBufferData.xml new file mode 100644 index 00000000..db521313 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBufferData.xml @@ -0,0 +1,221 @@ + + + + + + + 2005 + Sams Publishing + + + glBufferData + 3G + + + glBufferData + creates and initializes a buffer object's data store + + C Specification + + + void glBufferData + GLenum target + GLsizeiptr size + const GLvoid * data + GLenum usage + + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or + GL_PIXEL_UNPACK_BUFFER. + + + + + size + + + Specifies the size in bytes of the buffer object's new data store. + + + + + data + + + Specifies a pointer to data that will be copied into the data store for initialization, + or NULL if no data is to be copied. + + + + + usage + + + Specifies the expected usage pattern of the data store. The symbolic constant must be + GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, + GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, + GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. + + + + + + Description + + glBufferData creates a new data store for the buffer object currently bound to + target. Any pre-existing data store is deleted. The new data store is created with the + specified size in bytes and usage. If data + is not NULL, the data store is initialized with data from this pointer. In its initial + state, the new data store is not mapped, it has a NULL mapped pointer, and its mapped access + is GL_READ_WRITE. + + + usage is a hint to the GL implementation as to how a buffer object's data store will be + accessed. This enables the GL implementation to make more intelligent decisions that may significantly + impact buffer object performance. It does not, however, constrain the actual usage of the data store. + usage can be broken down into two parts: first, the frequency of access (modification + and usage), and second, the nature of that access. The frequency of access may be one of these: + + + + STREAM + + + The data store contents will be modified once and used at most a few times. + + + + + STATIC + + + The data store contents will be modified once and used many times. + + + + + DYNAMIC + + + The data store contents will be modified repeatedly and used many times. + + + + + + The nature of access may be one of these: + + + + DRAW + + + The data store contents are modified by the application, and used as the source for GL drawing and + image specification commands. + + + + + READ + + + The data store contents are modified by reading data from the GL, and used to return that data + when queried by the application. + + + + + COPY + + + The data store contents are modified by reading data from the GL, and used as the source for GL + drawing and image specification commands. + + + + + + Notes + + glBufferData is available only if the GL version is 1.5 or greater. + + + Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available + only if the GL version is 2.1 or greater. + + + If data is NULL, a data store of the specified size is still created, + but its contents remain uninitialized and thus undefined. + + + Clients must align data elements consistent with the requirements of the client + platform, with an additional base-level requirement that an offset within a buffer to + a datum comprising N bytes be a + multiple of N. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. + + + GL_INVALID_ENUM is generated if usage is not + GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, + GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, + GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. + + + GL_INVALID_VALUE is generated if size is negative. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store with the specified size. + + + GL_INVALID_OPERATION is generated if glBufferData + is executed between the execution of + glBegin and the corresponding execution of + glEnd. + + + Associated Gets + + glGetBufferSubData + + + glGetBufferParameteriv with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE + + + See Also + + glBindBuffer, + glBufferSubData, + glMapBuffer, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glBufferSubData.xml b/Source/Bind/Specifications/Docs/GL2/glBufferSubData.xml new file mode 100644 index 00000000..f5b7022a --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glBufferSubData.xml @@ -0,0 +1,152 @@ + + + + + + + 2005 + Sams Publishing + + + glBufferSubData + 3G + + + glBufferSubData + updates a subset of a buffer object's data store + + C Specification + + + void glBufferSubData + GLenum target + GLintptr offset + GLsizeiptr size + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or + GL_PIXEL_UNPACK_BUFFER. + + + + + offset + + + Specifies the offset into the buffer object's data store where data replacement will begin, + measured in bytes. + + + + + size + + + Specifies the size in bytes of the data store region being replaced. + + + + + data + + + Specifies a pointer to the new data that will be copied into the data store. + + + + + + Description + + glBufferSubData redefines some or all of the data store for the buffer object currently + bound to target. Data starting at byte offset offset and + extending for size bytes is copied to the data store from the memory pointed to by + data. An error is thrown if offset and size + together define a range beyond the bounds of the buffer object's data store. + + + Notes + + glBufferSubData is available only if the GL version is 1.5 or greater. + + + Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available + only if the GL version is 2.1 or greater. + + + When replacing the entire data store, consider using glBufferSubData rather + than completely recreating the data store with glBufferData. This avoids the cost of + reallocating the data store. + + + Consider using multiple buffer objects to avoid stalling the rendering pipeline during data store updates. + If any rendering in the pipeline makes reference to data in the buffer object being updated by + glBufferSubData, especially from the specific region being updated, that rendering must + drain from the pipeline before the data store can be updated. + + + Clients must align data elements consistent with the requirements of the client + platform, with an additional base-level requirement that an offset within a buffer to + a datum comprising N bytes be a + multiple of N. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. + + + GL_INVALID_VALUE is generated if offset or + size is negative, or if together they define a region of memory + that extends beyond the buffer object's allocated data store. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_INVALID_OPERATION is generated if the buffer object being updated is mapped. + + + GL_INVALID_OPERATION is generated if glBufferSubData + is executed between the execution of + glBegin and the corresponding execution of + glEnd. + + + Associated Gets + + glGetBufferSubData + + + See Also + + glBindBuffer, + glBufferData, + glMapBuffer, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glCallList.xml b/Source/Bind/Specifications/Docs/GL2/glCallList.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glCallList.xml rename to Source/Bind/Specifications/Docs/GL2/glCallList.xml diff --git a/Source/Bind/Specifications/Docs/glCallLists.xml b/Source/Bind/Specifications/Docs/GL2/glCallLists.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glCallLists.xml rename to Source/Bind/Specifications/Docs/GL2/glCallLists.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glClear.xml b/Source/Bind/Specifications/Docs/GL2/glClear.xml new file mode 100644 index 00000000..dacb0009 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glClear.xml @@ -0,0 +1,167 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glClear + 3G + + + glClear + clear buffers to preset values + + C Specification + + + void glClear + GLbitfield mask + + + + Parameters + + + mask + + + Bitwise OR of masks that indicate the buffers to be cleared. + The four masks are + GL_COLOR_BUFFER_BIT, + GL_DEPTH_BUFFER_BIT, + GL_ACCUM_BUFFER_BIT, and + GL_STENCIL_BUFFER_BIT. + + + + + + Description + + glClear sets the bitplane area of the window to values previously selected + by glClearColor, glClearIndex, glClearDepth, + glClearStencil, and glClearAccum. + Multiple color buffers can be cleared simultaneously by selecting + more than one buffer at a time using glDrawBuffer. + + + The pixel ownership test, + the scissor test, + dithering, and the buffer writemasks affect the operation of glClear. + The scissor box bounds the cleared region. + Alpha function, + blend function, + logical operation, + stenciling, + texture mapping, + and depth-buffering are ignored by glClear. + + + glClear takes a single argument that is the bitwise OR of several + values indicating which buffer is to be cleared. + + + The values are as follows: + + + + GL_COLOR_BUFFER_BIT + + + Indicates the buffers currently enabled for color + writing. + + + + + GL_DEPTH_BUFFER_BIT + + + Indicates the depth buffer. + + + + + GL_ACCUM_BUFFER_BIT + + + Indicates the accumulation buffer. + + + + + GL_STENCIL_BUFFER_BIT + + + Indicates the stencil buffer. + + + + + + The value to which each buffer is cleared depends on the setting of the + clear value for that buffer. + + + Notes + + If a buffer is not present, + then a glClear directed at that buffer has no effect. + + + Errors + + GL_INVALID_VALUE is generated if any bit other than the four defined + bits is set in mask. + + + GL_INVALID_OPERATION is generated if glClear + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_ACCUM_CLEAR_VALUE + + + glGet with argument GL_DEPTH_CLEAR_VALUE + + + glGet with argument GL_INDEX_CLEAR_VALUE + + + glGet with argument GL_COLOR_CLEAR_VALUE + + + glGet with argument GL_STENCIL_CLEAR_VALUE + + + See Also + + glClearAccum, + glClearColor, + glClearDepth, + glClearIndex, + glClearStencil, + glColorMask, + glDepthMask, + glDrawBuffer, + glScissor, + glStencilMask + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glClearAccum.xml b/Source/Bind/Specifications/Docs/GL2/glClearAccum.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glClearAccum.xml rename to Source/Bind/Specifications/Docs/GL2/glClearAccum.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glClearColor.xml b/Source/Bind/Specifications/Docs/GL2/glClearColor.xml new file mode 100644 index 00000000..bcfd72df --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glClearColor.xml @@ -0,0 +1,88 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glClearColor + 3G + + + glClearColor + specify clear values for the color buffers + + C Specification + + + void glClearColor + GLclampf red + GLclampf green + GLclampf blue + GLclampf alpha + + + + Parameters + + + red + green + blue + alpha + + + Specify the red, green, blue, and alpha values used when the + color buffers are cleared. + The initial values are all 0. + + + + + + Description + + glClearColor specifies the red, + green, + blue, + and alpha values used by glClear to clear the color buffers. + Values specified by glClearColor are clamped to the range + + + + 0 + 1 + + . + + + Errors + + GL_INVALID_OPERATION is generated if glClearColor + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_COLOR_CLEAR_VALUE + + + See Also + + glClear + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glClearDepth.xml b/Source/Bind/Specifications/Docs/GL2/glClearDepth.xml new file mode 100644 index 00000000..43b9b3e7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glClearDepth.xml @@ -0,0 +1,78 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glClearDepth + 3G + + + glClearDepth + specify the clear value for the depth buffer + + C Specification + + + void glClearDepth + GLclampd depth + + + + Parameters + + + depth + + + Specifies the depth value used when the depth buffer is cleared. The + initial value is 1. + + + + + + Description + + glClearDepth specifies the depth value used by glClear to clear the depth buffer. + Values specified by glClearDepth are clamped to the range + + + + 0 + 1 + + . + + + Errors + + GL_INVALID_OPERATION is generated if glClearDepth + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_DEPTH_CLEAR_VALUE + + + See Also + + glClear + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glClearIndex.xml b/Source/Bind/Specifications/Docs/GL2/glClearIndex.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glClearIndex.xml rename to Source/Bind/Specifications/Docs/GL2/glClearIndex.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glClearStencil.xml b/Source/Bind/Specifications/Docs/GL2/glClearStencil.xml new file mode 100644 index 00000000..43888743 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glClearStencil.xml @@ -0,0 +1,94 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glClearStencil + 3G + + + glClearStencil + specify the clear value for the stencil buffer + + C Specification + + + void glClearStencil + GLint s + + + + + Parameters + + + s + + + Specifies the index used when the stencil buffer is cleared. + The initial value is 0. + + + + + + Description + + glClearStencil specifies the index used by glClear to clear the stencil buffer. + s is masked with + + + + 2 + m + + - + 1 + + , + where + m + is the number of bits in the stencil buffer. + + + Errors + + GL_INVALID_OPERATION is generated if glClearStencil + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_STENCIL_CLEAR_VALUE + + + glGet with argument GL_STENCIL_BITS + + + See Also + + glClear, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glClientActiveTexture.xml b/Source/Bind/Specifications/Docs/GL2/glClientActiveTexture.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glClientActiveTexture.xml rename to Source/Bind/Specifications/Docs/GL2/glClientActiveTexture.xml diff --git a/Source/Bind/Specifications/Docs/glClipPlane.xml b/Source/Bind/Specifications/Docs/GL2/glClipPlane.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glClipPlane.xml rename to Source/Bind/Specifications/Docs/GL2/glClipPlane.xml diff --git a/Source/Bind/Specifications/Docs/glColor.xml b/Source/Bind/Specifications/Docs/GL2/glColor.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glColor.xml rename to Source/Bind/Specifications/Docs/GL2/glColor.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glColorMask.xml b/Source/Bind/Specifications/Docs/GL2/glColorMask.xml new file mode 100644 index 00000000..7b0aff34 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glColorMask.xml @@ -0,0 +1,99 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glColorMask + 3G + + + glColorMask + enable and disable writing of frame buffer color components + + C Specification + + + void glColorMask + GLboolean red + GLboolean green + GLboolean blue + GLboolean alpha + + + + Parameters + + + red + green + blue + alpha + + + Specify whether red, green, blue, and alpha can or cannot be written + into the frame buffer. + The initial values are all GL_TRUE, + indicating that the color components can be written. + + + + + + Description + + glColorMask specifies whether the individual color components in the frame buffer + can or cannot be written. + If red is GL_FALSE, + for example, + no change is made to the red component of any pixel in any of the + color buffers, + regardless of the drawing operation attempted. + + + Changes to individual bits of components cannot be controlled. + Rather, + changes are either enabled or disabled for entire color components. + + + Errors + + GL_INVALID_OPERATION is generated if glColorMask + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_COLOR_WRITEMASK + + + glGet with argument GL_RGBA_MODE + + + See Also + + glClear, + glColor, + glColorPointer, + glDepthMask, + glIndex, + glIndexPointer, + glIndexMask, + glStencilMask + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glColorMaterial.xml b/Source/Bind/Specifications/Docs/GL2/glColorMaterial.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glColorMaterial.xml rename to Source/Bind/Specifications/Docs/GL2/glColorMaterial.xml diff --git a/Source/Bind/Specifications/Docs/glColorPointer.xml b/Source/Bind/Specifications/Docs/GL2/glColorPointer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glColorPointer.xml rename to Source/Bind/Specifications/Docs/GL2/glColorPointer.xml diff --git a/Source/Bind/Specifications/Docs/glColorSubTable.xml b/Source/Bind/Specifications/Docs/GL2/glColorSubTable.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glColorSubTable.xml rename to Source/Bind/Specifications/Docs/GL2/glColorSubTable.xml diff --git a/Source/Bind/Specifications/Docs/glColorTable.xml b/Source/Bind/Specifications/Docs/GL2/glColorTable.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glColorTable.xml rename to Source/Bind/Specifications/Docs/GL2/glColorTable.xml diff --git a/Source/Bind/Specifications/Docs/glColorTableParameter.xml b/Source/Bind/Specifications/Docs/GL2/glColorTableParameter.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glColorTableParameter.xml rename to Source/Bind/Specifications/Docs/GL2/glColorTableParameter.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glCompileShader.xml b/Source/Bind/Specifications/Docs/GL2/glCompileShader.xml new file mode 100644 index 00000000..871a4f4b --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCompileShader.xml @@ -0,0 +1,94 @@ + + + + + glCompileShader + 3G + + + glCompileShader + Compiles a shader object + + C Specification + + + void glCompileShader + GLuint shader + + + + Parameters + + + shader + + Specifies the shader object to be + compiled. + + + + + Description + glCompileShader compiles the source + code strings that have been stored in the shader object + specified by shader. + + The compilation status will be stored as part of the + shader object's state. This value will be set to + GL_TRUE if the shader was compiled without + errors and is ready for use, and GL_FALSE + otherwise. It can be queried by calling + glGetShader + with arguments shader and + GL_COMPILE_STATUS. + + Compilation of a shader can fail for a number of reasons + as specified by the OpenGL Shading Language Specification. + Whether or not the compilation was successful, information about + the compilation can be obtained from the shader object's + information log by calling + glGetShaderInfoLog. + + Notes + glCompileShader + is available only if the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + glCompileShader is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetShaderInfoLog + with argument shader + + glGetShader + with arguments shader and + GL_COMPILE_STATUS + glIsShader + + See Also + glCreateShader, + glLinkProgram, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage1D.xml b/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage1D.xml new file mode 100644 index 00000000..b1b5ff82 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage1D.xml @@ -0,0 +1,239 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCompressedTexImage1D + 3G + + + glCompressedTexImage1D + specify a one-dimensional texture image in a compressed format + + C Specification + + + void glCompressedTexImage1D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLint border + GLsizei imageSize + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the format of the compressed image data stored at address data. + + + + + width + + + Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. + + + + + border + + + Specifies the width of the border. Must be either 0 or 1. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable one-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_1D. + + + glCompressedTexImage1D loads a previously defined, and retrieved, compressed one-dimensional texture image if target is GL_TEXTURE_1D (see glTexImage1D). + + + If target is GL_PROXY_TEXTURE_1D, no data is read from data, but + all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see glGetError). To query for an entire mipmap array, use an image array level greater than or equal to 1. + + + internalformat must be extension-specified compressed-texture format. When a texture is loaded with glTexImage1D using a generic compressed texture format (e.g., GL_COMPRESSED_RGB) the GL selects from one of + its extensions supporting compressed textures. In order to load the + compressed texture image using glCompressedTexImage1D, query the compressed texture image's size and format using glGetTexLevelParameter. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glCompressedTexImage1D is available only if the GL version is 1.3 or greater. + + + Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. + + + Errors + + GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or + GL_COMPRESSED_RGBA. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if glCompressedTexImage1D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGetCompressedTexImage + + + glGet with argument GL_TEXTURE_COMPRESSED + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT + and GL_TEXTURE_COMPRESSED_IMAGE_SIZE + + + glIsEnabled with argument GL_TEXTURE_1D + + + See Also + + glActiveTexture, + glColorTable, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage1D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glConvolutionFilter1D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage2D.xml b/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage2D.xml new file mode 100644 index 00000000..28b75561 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage2D.xml @@ -0,0 +1,295 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCompressedTexImage2D + 3G + + + glCompressedTexImage2D + specify a two-dimensional texture image in a compressed format + + C Specification + + + void glCompressedTexImage2D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLint border + GLsizei imageSize + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or + GL_PROXY_TEXTURE_CUBE_MAP. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the format of the compressed image data stored at address data. + + + + + width + + + Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All + implementations support 2D texture images that are at least 64 texels + wide and cube-mapped texture images that are at least 16 texels wide. + + + + + height + + + Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + Must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All + implementations support 2D texture images that are at least 64 texels + high and cube-mapped texture images that are at least 16 texels high. + + + + + border + + + Specifies the width of the border. + Must be either 0 or 1. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image onto each graphical + primitive for which texturing is enabled. To enable and disable + two-dimensional texturing, call glEnable and glDisable with argument + GL_TEXTURE_2D. To enable and disable texturing using + cube-mapped textures, call glEnable and glDisable with argument + GL_TEXTURE_CUBE_MAP. + + + glCompressedTexImage2D loads a previously defined, and retrieved, compressed two-dimensional + texture image if target is GL_TEXTURE_2D (see glTexImage2D). + + + If target is GL_PROXY_TEXTURE_2D, no data is read from data, but + all of the texture image state is recalculated, checked for consistency, + and checked against the implementation's capabilities. If the + implementation cannot handle a texture of the requested texture size, it + sets all of the image state to 0, but does not generate an error (see + glGetError). To query for an entire mipmap array, use an image array level + greater than or equal to 1. + + + internalformat must be an extension-specified compressed-texture format. + When a texture is loaded with glTexImage2D using a generic compressed + texture format (e.g., GL_COMPRESSED_RGB), the GL selects from one of + its extensions supporting compressed textures. In order to load the + compressed texture image using glCompressedTexImage2D, query the compressed texture image's + size and format using glGetTexLevelParameter. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glCompressedTexImage2D is available only if the GL version is 1.3 or greater. + + + Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. + + + Errors + + GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or + GL_COMPRESSED_RGBA. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if glCompressedTexImage2D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGetCompressedTexImage + + + glGet with argument GL_TEXTURE_COMPRESSED + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT + and GL_TEXTURE_COMPRESSED_IMAGE_SIZE + + + glIsEnabled with argument + GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP + + + See Also + + glActiveTexture, + glColorTable, + glCompressedTexImage1D, + glCompressedTexImage3D, + glCompressedTexSubImage1D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glConvolutionFilter1D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage3D.xml b/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage3D.xml new file mode 100644 index 00000000..f1f46015 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCompressedTexImage3D.xml @@ -0,0 +1,311 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCompressedTexImage3D + 3G + + + glCompressedTexImage3D + specify a three-dimensional texture image in a compressed format + + C Specification + + + void glCompressedTexImage3D + GLenum target + GLint level + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLsizei imageSize + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the format of the compressed image data stored at address data. + + + + + width + + + Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All + implementations support 3D texture images that are at least 16 texels + wide. + + + + + height + + + Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All + implementations support 3D texture images that are at least 16 texels + high. + + + + + depth + + + Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All + implementations support 3D texture images that are at least 16 texels + deep. + + + + + border + + + Specifies the width of the border. + Must be either 0 or 1. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image onto each graphical + primitive for which texturing is enabled. To enable and disable + three-dimensional texturing, call glEnable and glDisable with argument + GL_TEXTURE_3D. + + + glCompressedTexImage3D loads a previously defined, and retrieved, compressed three-dimensional + texture image if target is GL_TEXTURE_3D (see glTexImage3D). + + + If target is GL_PROXY_TEXTURE_3D, no data is read from data, but + all of the texture image state is recalculated, checked for consistency, + and checked against the implementation's capabilities. If the + implementation cannot handle a texture of the requested texture size, it + sets all of the image state to 0, but does not generate an error (see + glGetError). To query for an entire mipmap array, use an image array level + greater than or equal to 1. + + + internalformat must be an extension-specified compressed-texture format. + When a texture is loaded with glTexImage2D using a generic compressed + texture format (e.g., GL_COMPRESSED_RGB), the GL selects from one of + its extensions supporting compressed textures. In order to load the + compressed texture image using glCompressedTexImage3D, query the compressed texture image's + size and format using glGetTexLevelParameter. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glCompressedTexImage3D is available only if the GL version is 1.3 or greater. + + + Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. + + + Errors + + GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or + GL_COMPRESSED_RGBA. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if glCompressedTexImage3D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. + + + Associated Gets + + glGetCompressedTexImage + + + glGet with argument GL_TEXTURE_COMPRESSED + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT + and GL_TEXTURE_COMPRESSED_IMAGE_SIZE + + + glIsEnabled with argument GL_TEXTURE_3D + + + See Also + + glActiveTexture, + glColorTable, + glCompressedTexImage1D, + glCompressedTexImage2D, + glCompressedTexSubImage1D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glConvolutionFilter1D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage1D.xml b/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage1D.xml new file mode 100644 index 00000000..d04e7fba --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage1D.xml @@ -0,0 +1,243 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCompressedTexSubImage1D + 3G + + + glCompressedTexSubImage1D + specify a one-dimensional texture subimage in a compressed format + + C Specification + + + void glCompressedTexSubImage1D + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLsizei imageSize + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_1D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + format + + + Specifies the format of the compressed image data stored at address data. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image onto each graphical + primitive for which texturing is enabled. To enable and disable + one-dimensional texturing, call glEnable and glDisable with argument + GL_TEXTURE_1D. + + + glCompressedTexSubImage1D redefines a contiguous subregion of an existing one-dimensional + texture image. The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive. This region may not include any texels + outside the range of the texture array as it was originally specified. It + is not an error to specify a subtexture with width of 0, but such a + specification has no effect. + + + format must be an extension-specified + compressed-texture format. The format of the compressed texture + image is selected by the GL implementation that compressed it (see + glTexImage1D), and should be queried at the time the texture was + compressed with glGetTexLevelParameter. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glCompressedTexSubImage1D is available only if the GL version is 1.3 or greater. + + + Errors + + GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats: + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_RGB, + GL_COMPRESSED_RGBA, + GL_COMPRESSED_SLUMINANCE, + GL_COMPRESSED_SLUMINANCE_ALPHA, + GL_COMPRESSED_SRGB, + GL_COMPRESSED_SRGBA, or + GL_COMPRESSED_SRGB_ALPHA. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if glCompressedTexSubImage1D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGetCompressedTexImage + + + glGet with argument GL_TEXTURE_COMPRESSED + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT + and GL_TEXTURE_COMPRESSED_IMAGE_SIZE + + + glIsEnabled with argument GL_TEXTURE_1D + + + See Also + + glActiveTexture, + glColorTable, + glCompressedTexImage1D, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glConvolutionFilter1D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage2D.xml b/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage2D.xml new file mode 100644 index 00000000..c3708e59 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage2D.xml @@ -0,0 +1,291 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCompressedTexSubImage2D + 3G + + + glCompressedTexSubImage2D + specify a two-dimensional texture subimage in a compressed format + + C Specification + + + void glCompressedTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLsizei imageSize + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + format + + + Specifies the format of the compressed image data stored at address data. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image onto each graphical + primitive for which texturing is enabled. To enable and disable + two-dimensional texturing, call glEnable and glDisable with argument + GL_TEXTURE_2D. To enable and disable texturing using + cube-mapped texture, call glEnable and glDisable with argument + GL_TEXTURE_CUBE_MAP. + + + glCompressedTexSubImage2D redefines a contiguous subregion of an existing two-dimensional + texture image. The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + and the y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive. + This region may not include any texels + outside the range of the texture array as it was originally specified. It + is not an error to specify a subtexture with width of 0, but such a + specification has no effect. + + + format must be an extension-specified + compressed-texture format. The format of the compressed texture + image is selected by the GL implementation that compressed it (see + glTexImage2D) and should be queried at the time the texture was + compressed with glGetTexLevelParameter. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glCompressedTexSubImage2D is available only if the GL version is 1.3 or greater. + + + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or + GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 + or greater. + + + Errors + + GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats: + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_RGB, + GL_COMPRESSED_RGBA, + GL_COMPRESSED_SLUMINANCE, + GL_COMPRESSED_SLUMINANCE_ALPHA, + GL_COMPRESSED_SRGB, + GL_COMPRESSED_SRGBA, or + GL_COMPRESSED_SRGB_ALPHA. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if glCompressedTexSubImage2D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGetCompressedTexImage + + + glGet with argument GL_TEXTURE_COMPRESSED + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT + and GL_TEXTURE_COMPRESSED_IMAGE_SIZE + + + glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP + + + See Also + + glActiveTexture, + glColorTable, + glCompressedTexImage1D, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage1D, + glCompressedTexSubImage3D, + glConvolutionFilter1D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage3D.xml b/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage3D.xml new file mode 100644 index 00000000..6018b471 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCompressedTexSubImage3D.xml @@ -0,0 +1,293 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCompressedTexSubImage3D + 3G + + + glCompressedTexSubImage3D + specify a three-dimensional texture subimage in a compressed format + + C Specification + + + void glCompressedTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLsizei imageSize + const GLvoid * data + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + depth + + + Specifies the depth of the texture subimage. + + + + + format + + + Specifies the format of the compressed image data stored at address data. + + + + + imageSize + + + Specifies the number of unsigned bytes of image data starting at the + address specified by data. + + + + + data + + + Specifies a pointer to the compressed image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image onto each graphical + primitive for which texturing is enabled. To enable and disable + three-dimensional texturing, call glEnable and glDisable with argument + GL_TEXTURE_3D. + + + glCompressedTexSubImage3D redefines a contiguous subregion of an existing three-dimensional + texture image. The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + and the y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + and the z indices zoffset and + + + + zoffset + + + depth + - + 1 + + , + inclusive. This region may not include + any texels outside the range of the texture array as it was originally + specified. It is not an error to specify a subtexture with width of 0, + but such a specification has no effect. + + + format must be an extension-specified + compressed-texture format. The format of the compressed texture + image is selected by the GL implementation that compressed it (see + glTexImage3D) and should be queried at the time the texture was + compressed with glGetTexLevelParameter. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glCompressedTexSubImage3D is available only if the GL version is 1.3 or greater. + + + Errors + + GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats: + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_RGB, + GL_COMPRESSED_RGBA, + GL_COMPRESSED_SLUMINANCE, + GL_COMPRESSED_SLUMINANCE_ALPHA, + GL_COMPRESSED_SRGB, + GL_COMPRESSED_SRGBA, or + GL_COMPRESSED_SRGB_ALPHA. + + + GL_INVALID_VALUE is generated if imageSize is not consistent with + the format, dimensions, and contents of the specified compressed image + data. + + + GL_INVALID_OPERATION is generated if parameter combinations are not + supported by the specific compressed internal format as specified in the + specific texture compression extension. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if glCompressedTexSubImage3D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Undefined results, including abnormal program termination, are generated if + data is not encoded in a manner consistent with the extension + specification defining the internal compression format. + + + Associated Gets + + glGetCompressedTexImage + + + glGet with argument GL_TEXTURE_COMPRESSED + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT + and GL_TEXTURE_COMPRESSED_IMAGE_SIZE + + + glIsEnabled with argument GL_TEXTURE_3D + + + See Also + + glActiveTexture, + glColorTable, + glCompressedTexImage1D, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage1D, + glCompressedTexSubImage2D, + glConvolutionFilter1D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glConvolutionFilter1D.xml b/Source/Bind/Specifications/Docs/GL2/glConvolutionFilter1D.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glConvolutionFilter1D.xml rename to Source/Bind/Specifications/Docs/GL2/glConvolutionFilter1D.xml diff --git a/Source/Bind/Specifications/Docs/glConvolutionFilter2D.xml b/Source/Bind/Specifications/Docs/GL2/glConvolutionFilter2D.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glConvolutionFilter2D.xml rename to Source/Bind/Specifications/Docs/GL2/glConvolutionFilter2D.xml diff --git a/Source/Bind/Specifications/Docs/glConvolutionParameter.xml b/Source/Bind/Specifications/Docs/GL2/glConvolutionParameter.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glConvolutionParameter.xml rename to Source/Bind/Specifications/Docs/GL2/glConvolutionParameter.xml diff --git a/Source/Bind/Specifications/Docs/glCopyColorSubTable.xml b/Source/Bind/Specifications/Docs/GL2/glCopyColorSubTable.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glCopyColorSubTable.xml rename to Source/Bind/Specifications/Docs/GL2/glCopyColorSubTable.xml diff --git a/Source/Bind/Specifications/Docs/glCopyColorTable.xml b/Source/Bind/Specifications/Docs/GL2/glCopyColorTable.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glCopyColorTable.xml rename to Source/Bind/Specifications/Docs/GL2/glCopyColorTable.xml diff --git a/Source/Bind/Specifications/Docs/glCopyConvolutionFilter1D.xml b/Source/Bind/Specifications/Docs/GL2/glCopyConvolutionFilter1D.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glCopyConvolutionFilter1D.xml rename to Source/Bind/Specifications/Docs/GL2/glCopyConvolutionFilter1D.xml diff --git a/Source/Bind/Specifications/Docs/glCopyConvolutionFilter2D.xml b/Source/Bind/Specifications/Docs/GL2/glCopyConvolutionFilter2D.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glCopyConvolutionFilter2D.xml rename to Source/Bind/Specifications/Docs/GL2/glCopyConvolutionFilter2D.xml diff --git a/Source/Bind/Specifications/Docs/glCopyPixels.xml b/Source/Bind/Specifications/Docs/GL2/glCopyPixels.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glCopyPixels.xml rename to Source/Bind/Specifications/Docs/GL2/glCopyPixels.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glCopyTexImage1D.xml b/Source/Bind/Specifications/Docs/GL2/glCopyTexImage1D.xml new file mode 100644 index 00000000..390d3977 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCopyTexImage1D.xml @@ -0,0 +1,370 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCopyTexImage1D + 3G + + + glCopyTexImage1D + copy pixels into a 1D texture image + + C Specification + + + void glCopyTexImage1D + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLint border + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_1D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the internal format of the texture. + Must be one of the following symbolic constants: + GL_ALPHA, + GL_ALPHA4, + GL_ALPHA8, + GL_ALPHA12, + GL_ALPHA16, + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_RGB, + GL_COMPRESSED_RGBA, + GL_DEPTH_COMPONENT, + GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, + GL_DEPTH_COMPONENT32, + GL_LUMINANCE, + GL_LUMINANCE4, + GL_LUMINANCE8, + GL_LUMINANCE12, + GL_LUMINANCE16, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE4_ALPHA4, + GL_LUMINANCE6_ALPHA2, + GL_LUMINANCE8_ALPHA8, + GL_LUMINANCE12_ALPHA4, + GL_LUMINANCE12_ALPHA12, + GL_LUMINANCE16_ALPHA16, + GL_INTENSITY, + GL_INTENSITY4, + GL_INTENSITY8, + GL_INTENSITY12, + GL_INTENSITY16, + GL_RGB, + GL_R3_G3_B2, + GL_RGB4, + GL_RGB5, + GL_RGB8, + GL_RGB10, + GL_RGB12, + GL_RGB16, + GL_RGBA, + GL_RGBA2, + GL_RGBA4, + GL_RGB5_A1, + GL_RGBA8, + GL_RGB10_A2, + GL_RGBA12, + GL_RGBA16, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, + GL_SLUMINANCE8_ALPHA8, + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, or + GL_SRGB8_ALPHA8. + + + + + x + y + + + Specify the window coordinates of the left corner + of the row of pixels to be copied. + + + + + width + + + Specifies the width of the texture image. + Must be 0 or + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + The height of the texture image is 1. + + + + + border + + + Specifies the width of the border. + Must be either 0 or 1. + + + + + + Description + + glCopyTexImage1D defines a one-dimensional texture image with pixels from the current + GL_READ_BUFFER. + + + The screen-aligned pixel row with left corner at + + + + x + y + + + and with a length of + + + + width + + + + 2 + + + border + + + + + defines the texture array + at the mipmap level specified by level. + internalformat specifies the internal format of the texture array. + + + The pixels in the row are processed exactly as if + glCopyPixels had been called, but the process stops just before + final conversion. + At this point all pixel component values are clamped to the range + + + + 0 + 1 + + + and then converted to the texture's internal format for storage in the texel + array. + + + Pixel ordering is such that lower + x + screen coordinates correspond to + lower texture coordinates. + + + If any of the pixels within the specified row of the current + GL_READ_BUFFER are outside the window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + glCopyTexImage1D defines a one-dimensional texture image with pixels from the current + GL_READ_BUFFER. + + + When internalformat is one of the sRGB types, the GL does not automatically convert the source pixels to the sRGB color space. In this case, the glPixelMap function can be used to accomplish the conversion. + + + Notes + + glCopyTexImage1D is available only if the GL version is 1.1 or greater. + + + Texturing has no effect in color index mode. + + + 1, 2, 3, and 4 are not accepted values for internalformat. + + + An image with 0 width indicates a NULL texture. + + + When the ARB_imaging extension is supported, the RGBA components copied from the framebuffer may be processed by the imaging pipeline. See glTexImage1D for specific details. + + + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only + if the GL version is 1.4 or greater. + + + Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. + + + The + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, + GL_SRGB8_ALPHA8, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, and + GL_SLUMINANCE8_ALPHA8 + internal formats are only available if the GL version is 2.1 or greater. See glTexImage1D for specific details about sRGB conversion. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the allowable values. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + + log + 2 + + + max + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if internalformat is not an allowable value. + + + GL_INVALID_VALUE is generated if width is less than 0 or greater than + 2 + GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width cannot be represented as + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer value of n. + + + GL_INVALID_VALUE is generated if border is not 0 or 1. + + + GL_INVALID_OPERATION is generated if glCopyTexImage1D is executed between the execution of glBegin and the corresponding execution of glEnd. + + + GL_INVALID_OPERATION is generated if internalformat is + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32 and there is no depth + buffer. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_1D + + + See Also + + glCopyPixels, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexSubImage1D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCopyTexImage2D.xml b/Source/Bind/Specifications/Docs/GL2/glCopyTexImage2D.xml new file mode 100644 index 00000000..59804c33 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCopyTexImage2D.xml @@ -0,0 +1,432 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCopyTexImage2D + 3G + + + glCopyTexImage2D + copy pixels into a 2D texture image + + C Specification + + + void glCopyTexImage2D + GLenum target + GLint level + GLenum internalformat + GLint x + GLint y + GLsizei width + GLsizei height + GLint border + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalformat + + + Specifies the internal format of the texture. + Must be one of the following symbolic constants: + GL_ALPHA, + GL_ALPHA4, + GL_ALPHA8, + GL_ALPHA12, + GL_ALPHA16, + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_RGB, + GL_COMPRESSED_RGBA, + GL_DEPTH_COMPONENT, + GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, + GL_DEPTH_COMPONENT32, + GL_LUMINANCE, + GL_LUMINANCE4, + GL_LUMINANCE8, + GL_LUMINANCE12, + GL_LUMINANCE16, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE4_ALPHA4, + GL_LUMINANCE6_ALPHA2, + GL_LUMINANCE8_ALPHA8, + GL_LUMINANCE12_ALPHA4, + GL_LUMINANCE12_ALPHA12, + GL_LUMINANCE16_ALPHA16, + GL_INTENSITY, + GL_INTENSITY4, + GL_INTENSITY8, + GL_INTENSITY12, + GL_INTENSITY16, + GL_RGB, + GL_R3_G3_B2, + GL_RGB4, + GL_RGB5, + GL_RGB8, + GL_RGB10, + GL_RGB12, + GL_RGB16, + GL_RGBA, + GL_RGBA2, + GL_RGBA4, + GL_RGB5_A1, + GL_RGBA8, + GL_RGB10_A2, + GL_RGBA12, + GL_RGBA16, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, + GL_SLUMINANCE8_ALPHA8, + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, or + GL_SRGB8_ALPHA8. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture image. + Must be 0 or + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + + + + + height + + + Specifies the height of the texture image. + Must be 0 or + + + + 2 + m + + + + + 2 + + + border + + + + + for some integer + m. + + + + + border + + + Specifies the width of the border. + Must be either 0 or 1. + + + + + + Description + + glCopyTexImage2D defines a two-dimensional texture image, or cube-map texture image + with pixels from the current + GL_READ_BUFFER. + + + The screen-aligned pixel rectangle with lower left corner at (x, + y) and with a width of + + + + width + + + + 2 + + + border + + + + + and a height of + + + + height + + + + 2 + + + border + + + + + defines the texture array + at the mipmap level specified by level. + internalformat specifies the internal format of the texture array. + + + The pixels in the rectangle are processed exactly as if + glCopyPixels had been called, but the process stops just before + final conversion. + At this point all pixel component values are clamped to the range + + + + 0 + 1 + + + and then converted to the texture's internal format for storage in the texel + array. + + + Pixel ordering is such that lower + x + and + y + screen coordinates correspond to + lower + s + and + t + texture coordinates. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + When internalformat is one of the sRGB types, the GL does not automatically convert the source pixels to the sRGB color space. In this case, the glPixelMap function can be used to accomplish the conversion. + + + Notes + + glCopyTexImage2D is available only if the GL version is 1.1 or greater. + + + Texturing has no effect in color index mode. + + + 1, 2, 3, and 4 are not accepted values for internalformat. + + + An image with height or width of 0 indicates a NULL texture. + + + When the ARB_imaging extension is supported, the RGBA components read from the framebuffer may be processed by the imaging pipeline. See glTexImage1D for specific details. + + + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or + GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 + or greater. + + + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, + and GL_DEPTH_COMPONENT32 are available only if the GL version is 1.4 + or greater. + + + The + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, + GL_SRGB8_ALPHA8, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, and + GL_SLUMINANCE8_ALPHA8 + internal formats are only available if the GL version is 2.1 or greater. See glTexImage2D for specific details about sRGB conversion. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + + log + 2 + + + max + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if width is less than 0 + or greater than + 2 + GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width or depth cannot be represented as + + + + 2 + k + + + + + 2 + + + border + + + + + for some integer + k. + + + GL_INVALID_VALUE is generated if border is not 0 or 1. + + + GL_INVALID_VALUE is generated if internalformat is not an + accepted format. + + + GL_INVALID_OPERATION is generated if glCopyTexImage2D is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + GL_INVALID_OPERATION is generated if internalformat is + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32 and there is no depth + buffer. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP + + + See Also + + glCopyPixels, + glCopyTexImage1D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexSubImage1D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage1D.xml b/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage1D.xml new file mode 100644 index 00000000..c5028810 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage1D.xml @@ -0,0 +1,268 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCopyTexSubImage1D + 3G + + + glCopyTexSubImage1D + copy a one-dimensional texture subimage + + C Specification + + + void glCopyTexSubImage1D + GLenum target + GLint level + GLint xoffset + GLint x + GLint y + GLsizei width + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_1D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies the texel offset within the texture array. + + + + + x + y + + + Specify the window coordinates of the left corner + of the row of pixels to be copied. + + + + + width + + + Specifies the width of the texture subimage. + + + + + + Description + + glCopyTexSubImage1D replaces a portion of a one-dimensional + texture image with pixels from the current GL_READ_BUFFER (rather + than from main memory, as is the case for glTexSubImage1D). + + + The screen-aligned pixel row with left corner at (x,\ y), and with + length width replaces the portion of the + texture array with x indices xoffset through + + + + xoffset + + + width + - + 1 + + , + inclusive. The destination in the texture array may not + include any texels outside the texture array as it was + originally specified. + + + The pixels in the row are processed exactly as if + glCopyPixels had been called, but the process stops just before + final conversion. + At this point, all pixel component values are clamped to the range + + + + 0 + 1 + + + and then converted to the texture's internal format for storage in the texel + array. + + + It is not an error to specify a subtexture with zero width, but + such a specification has no effect. + If any of the pixels within the specified row of the current + GL_READ_BUFFER are outside the read window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + No change is made to the internalformat, width, + or border parameters of the specified texture + array or to texel values outside the specified subregion. + + + Notes + + glCopyTexSubImage1D is available only if the GL version is 1.1 or greater. + + + Texturing has no effect in color index mode. + + + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + When the ARB_imaging extension is supported, the RGBA components + copied from the framebuffer may be processed by the imaging pipeline. See + glTexImage1D for specific details. + + + Errors + + GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_1D. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage1D or glCopyTexImage1D operation. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if + + + + level + > + + log + 2 + + + + max + + + + , + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + - + b + + + , + or + + + + + + xoffset + + + width + + + > + + + w + - + b + + + + , + where + w + is the GL_TEXTURE_WIDTH and + b + is the GL_TEXTURE_BORDER + of the texture image being modified. + Note that + w + includes twice the border width. + + + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_1D + + + See Also + + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glPixelStore, + glPixelTransfer, + glReadBuffer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage2D.xml b/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage2D.xml new file mode 100644 index 00000000..9fd02690 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage2D.xml @@ -0,0 +1,370 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCopyTexSubImage2D + 3G + + + glCopyTexSubImage2D + copy a two-dimensional texture subimage + + C Specification + + + void glCopyTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + + Description + + glCopyTexSubImage2D replaces a rectangular portion of a two-dimensional texture image or + cube-map texture image with pixels from the current GL_READ_BUFFER + (rather than from main memory, as is the case for glTexSubImage2D). + + + The screen-aligned pixel rectangle with lower left corner at + + + + x + y + + + and with + width width and height height replaces the portion of the + texture array with x indices xoffset through + + + + xoffset + + + width + - + 1 + + , + inclusive, and y indices yoffset through + + + + yoffset + + + height + - + 1 + + , + inclusive, at the mipmap level specified by level. + + + The pixels in the rectangle are processed exactly as if + glCopyPixels had been called, but the process stops just before + final conversion. + At this point, all pixel component values are clamped to the range + + + + 0 + 1 + + + and then converted to the texture's internal format for storage in the texel + array. + + + The destination rectangle in the texture array may not include any texels + outside the texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the read window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + No change is made to the internalformat, width, + height, or border parameters of the specified texture + array or to texel values outside the specified subregion. + + + Notes + + glCopyTexSubImage2D is available only if the GL version is 1.1 or greater. + + + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or + GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 + or greater. + + + Texturing has no effect in color index mode. + + + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + When the ARB_imaging extension is supported, the RGBA components + read from the framebuffer may be processed by the imaging pipeline. See + glTexImage1D for specific details. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_OPERATION is generated if the texture array has not been + defined by a previous glTexImage2D or glCopyTexImage2D operation. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if + + + + level + > + + log + 2 + + + + max + + + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + - + b + + + , + + + + + + xoffset + + + width + + + > + + + w + - + b + + + + , + + + + yoffset + < + + - + b + + + , + or + + + + + + yoffset + + + height + + + > + + + h + - + b + + + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + and + b + is the GL_TEXTURE_BORDER + of the texture image being modified. + Note that + w + and + h + include twice the border width. + + + GL_INVALID_OPERATION is generated if glCopyTexSubImage2D is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_2D + + + See Also + + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage3D, + glPixelStore, + glPixelTransfer, + glReadBuffer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage3D.xml b/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage3D.xml new file mode 100644 index 00000000..ff0bb18f --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCopyTexSubImage3D.xml @@ -0,0 +1,385 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glCopyTexSubImage3D + 3G + + + glCopyTexSubImage3D + copy a three-dimensional texture subimage + + C Specification + + + void glCopyTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y + GLsizei width + GLsizei height + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + zoffset + + + Specifies a texel offset in the z direction within the texture array. + + + + + x + y + + + Specify the window coordinates of the lower left corner + of the rectangular region of pixels to be copied. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + + Description + + glCopyTexSubImage3D replaces a rectangular portion of a three-dimensional + texture image with pixels from the current GL_READ_BUFFER (rather + than from main memory, as is the case for glTexSubImage3D). + + + The screen-aligned pixel rectangle with lower left corner at + (x,\ y) and with + width width and height height replaces the portion of the + texture array with x indices xoffset through + + + + xoffset + + + width + - + 1 + + , + inclusive, and y indices yoffset through + + + + yoffset + + + height + - + 1 + + , + inclusive, at z index zoffset and at the mipmap level specified by level. + + + The pixels in the rectangle are processed exactly as if + glCopyPixels had been called, but the process stops just before + final conversion. + At this point, all pixel component values are clamped to the range + + + + 0 + 1 + + + and then converted to the texture's internal format for storage in the texel + array. + + + The destination rectangle in the texture array may not include any texels + outside the texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If any of the pixels within the specified rectangle of the current + GL_READ_BUFFER are outside the read window associated with the current + rendering context, then the values obtained for those pixels are undefined. + + + No change is made to the internalformat, width, + height, depth, or border parameters of the specified texture + array or to texel values outside the specified subregion. + + + Notes + + glCopyTexSubImage3D is available only if the GL version is 1.2 or greater. + + + Texturing has no effect in color index mode. + + + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + When the ARB_imaging extension is supported, the RGBA components + copied from the framebuffer may be processed by the imaging pipeline, as + if they were a two-dimensional texture. See glTexImage2D for + specific details. + + + Errors + + GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_3D. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage3D operation. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if + + + + level + > + + log + 2 + + + + max + + + + , + where + max + is the returned value of GL_MAX_3D_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + - + b + + + , + + + + + + xoffset + + + width + + + > + + + w + - + b + + + + , + + + + yoffset + < + + - + b + + + , + + + + + + yoffset + + + height + + + > + + + h + - + b + + + + , + + + + zoffset + < + + - + b + + + , + or + + + + + + zoffset + + + 1 + + + > + + + d + - + b + + + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + d + is the GL_TEXTURE_DEPTH, + and + b + is the GL_TEXTURE_BORDER + of the texture image being modified. + Note that + w, + h, + and + d + include twice the border width. + + + GL_INVALID_OPERATION is generated if glCopyTexSubImage3D is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_3D + + + See Also + + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glPixelStore, + glPixelTransfer, + glReadBuffer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCreateProgram.xml b/Source/Bind/Specifications/Docs/GL2/glCreateProgram.xml new file mode 100644 index 00000000..345ec443 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCreateProgram.xml @@ -0,0 +1,127 @@ + + + + + glCreateProgram + 3G + + + glCreateProgram + Creates a program object + + C Specification + + + GLuint glCreateProgram + void + + + + Description + glCreateProgram creates an empty + program object and returns a non-zero value by which it can be + referenced. A program object is an object to which shader + objects can be attached. This provides a mechanism to specify + the shader objects that will be linked to create a program. It + also provides a means for checking the compatibility of the + shaders that will be used to create a program (for instance, + checking the compatibility between a vertex shader and a + fragment shader). When no longer needed as part of a program + object, shader objects can be detached. + + One or more executables are created in a program object by + successfully attaching shader objects to it with + glAttachShader, + successfully compiling the shader objects with + glCompileShader, + and successfully linking the program object with + glLinkProgram. + These executables are made part of current state when + glUseProgram + is called. Program objects can be deleted by calling + glDeleteProgram. + The memory associated with the program object will be deleted + when it is no longer part of current rendering state for any + context. + + Notes + glCreateProgram is available only if + the GL version is 2.0 or greater. + + Like display lists and texture objects, the name space for + program objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + Errors + This function returns 0 if an error occurs creating the program object. + + GL_INVALID_OPERATION is generated if + glCreateProgram is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with a valid program object and the index of an active attribute + variable + + glGetActiveUniform + with a valid program object and the index of an active uniform + variable + + glGetAttachedShaders + with a valid program object + + glGetAttribLocation + with a valid program object and the name of an attribute + variable + + glGetProgram + with a valid program object and the parameter to be queried + + glGetProgramInfoLog + with a valid program object + + glGetUniform + with a valid program object and the location of a uniform + variable + + glGetUniformLocation + with a valid program object and the name of a uniform + variable + + glIsProgram + + See Also + glAttachShader, + glBindAttribLocation, + glCreateShader, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glCreateShader.xml b/Source/Bind/Specifications/Docs/GL2/glCreateShader.xml new file mode 100644 index 00000000..137bff7e --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glCreateShader.xml @@ -0,0 +1,111 @@ + + + + + glCreateShader + 3G + + + glCreateShader + Creates a shader object + + C Specification + + + GLuint glCreateShader + GLenum shaderType + + + + Parameters + + + shaderType + + Specifies the type of shader to be created. + Must be either GL_VERTEX_SHADER + or GL_FRAGMENT_SHADER. + + + + + Description + glCreateShader creates an empty + shader object and returns a non-zero value by which it can be + referenced. A shader object is used to maintain the source code + strings that define a shader. shaderType + indicates the type of shader to be created. Two types of shaders + are supported. A shader of type + GL_VERTEX_SHADER is a shader that is + intended to run on the programmable vertex processor and replace + the fixed functionality vertex processing in OpenGL. A shader of + type GL_FRAGMENT_SHADER is a shader that is + intended to run on the programmable fragment processor and + replace the fixed functionality fragment processing in + OpenGL. + + When created, a shader object's + GL_SHADER_TYPE parameter is set to either + GL_VERTEX_SHADER or + GL_FRAGMENT_SHADER, depending on the value + of shaderType. + + Notes + glCreateShader is available only if + the GL version is 2.0 or greater. + + Like display lists and texture objects, the name space for + shader objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + Errors + This function returns 0 if an error occurs creating the + shader object. + + GL_INVALID_ENUM is generated if + shaderType is not an accepted value. + + GL_INVALID_OPERATION is generated if + glCreateShader is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetShader + with a valid shader object and the parameter to be queried + + glGetShaderInfoLog + with a valid shader object + + glGetShaderSource + with a valid shader object + + glIsShader + + See Also + glAttachShader, + glCompileShader, + glDeleteShader, + glDetachShader, + glShaderSource + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glCullFace.xml b/Source/Bind/Specifications/Docs/GL2/glCullFace.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glCullFace.xml rename to Source/Bind/Specifications/Docs/GL2/glCullFace.xml index 8d8ea716..ead278c2 100644 --- a/Source/Bind/Specifications/Docs/glCullFace.xml +++ b/Source/Bind/Specifications/Docs/GL2/glCullFace.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glCullFace 3G @@ -72,6 +68,11 @@ GL_INVALID_ENUM is generated if mode is not an accepted value. + + GL_INVALID_OPERATION is generated if glCullFace + is executed between the execution of glBegin + and the corresponding execution of glEnd. +
Associated Gets @@ -89,10 +90,9 @@ Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/GL2/glDeleteBuffers.xml b/Source/Bind/Specifications/Docs/GL2/glDeleteBuffers.xml new file mode 100644 index 00000000..e4424ced --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDeleteBuffers.xml @@ -0,0 +1,96 @@ + + + + + + + 2005 + Sams Publishing + + + glDeleteBuffers + 3G + + + glDeleteBuffers + delete named buffer objects + + C Specification + + + void glDeleteBuffers + GLsizei n + const GLuint * buffers + + + + Parameters + + + n + + + Specifies the number of buffer objects to be deleted. + + + + + buffers + + + Specifies an array of buffer objects to be deleted. + + + + + + Description + + glDeleteBuffers deletes n buffer objects named by the elements of the array buffers. + After a buffer object is deleted, it has no contents, + and its name is free for reuse (for example by glGenBuffers). + If a buffer object that is currently bound is deleted, the binding reverts + to 0 (the absence of any buffer object, which reverts to client memory usage). + + + glDeleteBuffers silently ignores 0's and names that do not correspond to + existing buffer objects. + + + Notes + + glDeleteBuffers is available only if the GL version is 1.5 or greater. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + GL_INVALID_OPERATION is generated if glDeleteBuffers is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glIsBuffer + + + See Also + + glBindBuffer, + glGenBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glDeleteLists.xml b/Source/Bind/Specifications/Docs/GL2/glDeleteLists.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glDeleteLists.xml rename to Source/Bind/Specifications/Docs/GL2/glDeleteLists.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glDeleteProgram.xml b/Source/Bind/Specifications/Docs/GL2/glDeleteProgram.xml new file mode 100644 index 00000000..0469c235 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDeleteProgram.xml @@ -0,0 +1,96 @@ + + + + + glDeleteProgram + 3G + + + glDeleteProgram + Deletes a program object + + C Specification + + + void glDeleteProgram + GLuint program + + + + Parameters + + + program + + Specifies the program object to be + deleted. + + + + + Description + glDeleteProgram frees the memory and + invalidates the name associated with the program object + specified by program. This command + effectively undoes the effects of a call to + glCreateProgram. + + If a program object is in use as part of current rendering + state, it will be flagged for deletion, but it will not be + deleted until it is no longer part of current state for any + rendering context. If a program object to be deleted has shader + objects attached to it, those shader objects will be + automatically detached but not deleted unless they have already + been flagged for deletion by a previous call to + glDeleteShader. + A value of 0 for program will be silently + ignored. + + To determine whether a program object has been flagged for + deletion, call + glGetProgram + with arguments program and + GL_DELETE_STATUS. + + Notes + glDeleteProgram is available only if + the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + glDeleteProgram is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGet + with argument GL_CURRENT_PROGRAM + + glGetProgram + with arguments program and + GL_DELETE_STATUS + + glIsProgram + + See Also + glCreateShader, + glDetachShader, + glUseProgram + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glDeleteQueries.xml b/Source/Bind/Specifications/Docs/GL2/glDeleteQueries.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glDeleteQueries.xml rename to Source/Bind/Specifications/Docs/GL2/glDeleteQueries.xml index 5f63e20b..d2b1bdb7 100644 --- a/Source/Bind/Specifications/Docs/glDeleteQueries.xml +++ b/Source/Bind/Specifications/Docs/GL2/glDeleteQueries.xml @@ -2,17 +2,13 @@ - - - 2005 - Sams Publishing - - - 2010-2013 - Khronos Group - - + + + 2005 + Sams Publishing + + glDeleteQueries 3G @@ -60,10 +56,20 @@ existing query objects.
+ Notes + + glDeleteQueries is available only if the GL version is 1.5 or greater. + + Errors GL_INVALID_VALUE is generated if n is negative. + + GL_INVALID_OPERATION is generated if glDeleteQueries is executed + between the execution of glBegin and the corresponding + execution of glEnd. + Associated Gets @@ -81,9 +87,8 @@ Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL2/glDeleteShader.xml b/Source/Bind/Specifications/Docs/GL2/glDeleteShader.xml new file mode 100644 index 00000000..72a73e94 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDeleteShader.xml @@ -0,0 +1,92 @@ + + + + + glDeleteShader + 3G + + + glDeleteShader + Deletes a shader object + + C Specification + + + void glDeleteShader + GLuint shader + + + + Parameters + + + shader + + Specifies the shader object to be deleted. + + + + + Description + glDeleteShader frees the memory and + invalidates the name associated with the shader object specified + by shader. This command effectively + undoes the effects of a call to + glCreateShader. + + If a shader object to be deleted is attached to a program + object, it will be flagged for deletion, but it will not be + deleted until it is no longer attached to any program object, + for any rendering context (i.e., it must be detached from + wherever it was attached before it will be deleted). A value of + 0 for shader will be silently + ignored. + + To determine whether an object has been flagged for + deletion, call + glGetShader + with arguments shader and + GL_DELETE_STATUS. + + Notes + glDeleteShader is available only if + the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + glDeleteShader is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetAttachedShaders + with the program object to be queried + + glGetShader + with arguments shader and + GL_DELETE_STATUS + + glIsShader + + See Also + glCreateProgram, + glCreateShader, + glDetachShader, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glDeleteTextures.xml b/Source/Bind/Specifications/Docs/GL2/glDeleteTextures.xml new file mode 100644 index 00000000..57bee58d --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDeleteTextures.xml @@ -0,0 +1,104 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDeleteTextures + 3G + + + glDeleteTextures + delete named textures + + C Specification + + + void glDeleteTextures + GLsizei n + const GLuint * textures + + + + Parameters + + + n + + + Specifies the number of textures to be deleted. + + + + + textures + + + Specifies an array of textures to be deleted. + + + + + + Description + + glDeleteTextures deletes n textures named by the elements of the array textures. + After a texture is deleted, it has no contents or dimensionality, + and its name is free for reuse (for example by glGenTextures). + If a texture that is currently bound is deleted, the binding reverts + to 0 (the default texture). + + + glDeleteTextures silently ignores 0's and names that do not correspond to + existing textures. + + + Notes + + glDeleteTextures is available only if the GL version is 1.1 or greater. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + GL_INVALID_OPERATION is generated if glDeleteTextures is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glIsTexture + + + See Also + + glAreTexturesResident, + glBindTexture, + glCopyTexImage1D, + glCopyTexImage2D, + glGenTextures, + glGet, + glGetTexParameter, + glPrioritizeTextures, + glTexImage1D, + glTexImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glDepthFunc.xml b/Source/Bind/Specifications/Docs/GL2/glDepthFunc.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glDepthFunc.xml rename to Source/Bind/Specifications/Docs/GL2/glDepthFunc.xml index fd4ba0d2..78cb6356 100644 --- a/Source/Bind/Specifications/Docs/glDepthFunc.xml +++ b/Source/Bind/Specifications/Docs/GL2/glDepthFunc.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glDepthFunc 3G @@ -138,15 +134,18 @@ Notes Even if the depth buffer exists and the depth mask is non-zero, the - depth buffer is not updated if the depth test is disabled. In order to - unconditionally write to the depth buffer, the depth test should be enabled - and set to GL_ALWAYS. + depth buffer is not updated if the depth test is disabled. Errors GL_INVALID_ENUM is generated if func is not an accepted value. + + GL_INVALID_OPERATION is generated if glDepthFunc + is executed between the execution of glBegin + and the corresponding execution of glEnd. + Associated Gets @@ -165,10 +164,9 @@ Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/GL2/glDepthMask.xml b/Source/Bind/Specifications/Docs/GL2/glDepthMask.xml new file mode 100644 index 00000000..172cee0a --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDepthMask.xml @@ -0,0 +1,81 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDepthMask + 3G + + + glDepthMask + enable or disable writing into the depth buffer + + C Specification + + + void glDepthMask + GLboolean flag + + + + Parameters + + + flag + + + Specifies whether the depth buffer is enabled for writing. + If flag is GL_FALSE, + depth buffer writing is disabled. + Otherwise, it is enabled. + Initially, depth buffer writing is enabled. + + + + + + Description + + glDepthMask specifies whether the depth buffer is enabled for writing. + If flag is GL_FALSE, + depth buffer writing is disabled. + Otherwise, it is enabled. + Initially, depth buffer writing is enabled. + + + Errors + + GL_INVALID_OPERATION is generated if glDepthMask + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_DEPTH_WRITEMASK + + + See Also + + glColorMask, + glDepthFunc, + glDepthRange, + glIndexMask, + glStencilMask + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glDepthRange.xml b/Source/Bind/Specifications/Docs/GL2/glDepthRange.xml new file mode 100644 index 00000000..8bc52a80 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDepthRange.xml @@ -0,0 +1,128 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDepthRange + 3G + + + glDepthRange + specify mapping of depth values from normalized device coordinates to window coordinates + + C Specification + + + void glDepthRange + GLclampd nearVal + GLclampd farVal + + + + + Parameters + + + nearVal + + + Specifies the mapping of the near clipping plane to window coordinates. + The initial value is 0. + + + + + farVal + + + Specifies the mapping of the far clipping plane to window coordinates. + The initial value is 1. + + + + + + Description + + After clipping and division by w, + depth coordinates range from + + + -1 + + to 1, + corresponding to the near and far clipping planes. + glDepthRange specifies a linear mapping of the normalized depth coordinates + in this range to window depth coordinates. + Regardless of the actual depth buffer implementation, + window coordinate depth values are treated as though they range + from 0 through 1 (like color components). + Thus, + the values accepted by glDepthRange are both clamped to this range + before they are accepted. + + + The setting of (0,1) maps the near plane to 0 and + the far plane to 1. + With this mapping, + the depth buffer range is fully utilized. + + + Notes + + It is not necessary that nearVal be less than farVal. + Reverse mappings such as + + + + nearVal + = + 1 + + , + and + + + + farVal + = + 0 + + + are acceptable. + + + Errors + + GL_INVALID_OPERATION is generated if glDepthRange + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_DEPTH_RANGE + + + See Also + + glDepthFunc, + glPolygonOffset, + glViewport + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glDetachShader.xml b/Source/Bind/Specifications/Docs/GL2/glDetachShader.xml new file mode 100644 index 00000000..d821cc51 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDetachShader.xml @@ -0,0 +1,102 @@ + + + + + glDetachShader + 3G + + + glDetachShader + Detaches a shader object from a program object to which it is attached + + C Specification + + + void glDetachShader + GLuint program + GLuint shader + + + + Parameters + + + program + + Specifies the program object from which to + detach the shader object. + + + + shader + + Specifies the shader object to be + detached. + + + + + Description + glDetachShader detaches the shader + object specified by shader from the + program object specified by program. This + command can be used to undo the effect of the command + glAttachShader. + + If shader has already been flagged + for deletion by a call to + glDeleteShader + and it is not attached to any other program object, it will be + deleted after it has been detached. + + Notes + glDetachShader is available only if + the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if either + program or shader + is a value that was not generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_OPERATION is generated if + shader is not attached to + program. + + GL_INVALID_OPERATION is generated if + glDetachShader is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetAttachedShaders + with the handle of a valid program object + + glGetShader + with arguments shader and + GL_DELETE_STATUS + + glIsProgram + + glIsShader + + See Also + glAttachShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glDrawArrays.xml b/Source/Bind/Specifications/Docs/GL2/glDrawArrays.xml new file mode 100644 index 00000000..a0936166 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDrawArrays.xml @@ -0,0 +1,150 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDrawArrays + 3G + + + glDrawArrays + render primitives from array data + + C Specification + + + void glDrawArrays + GLenum mode + GLint first + GLsizei count + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, + GL_TRIANGLES, + GL_QUAD_STRIP, + GL_QUADS, + and GL_POLYGON are accepted. + + + + + first + + + Specifies the starting index in the enabled arrays. + + + + + count + + + Specifies the number of indices to be rendered. + + + + + + Description + + glDrawArrays specifies multiple geometric primitives + with very few subroutine calls. Instead of calling a GL procedure + to pass each individual vertex, normal, texture coordinate, edge + flag, or color, you can prespecify + separate arrays of vertices, normals, and colors and use them to + construct a sequence of primitives with a single + call to glDrawArrays. + + + When glDrawArrays is called, it uses count sequential elements from each + enabled array to construct a sequence of geometric primitives, + beginning with element first. mode specifies what kind of + primitives are constructed and how the array elements + construct those primitives. If GL_VERTEX_ARRAY is not enabled, no + geometric primitives are generated. + + + Vertex attributes that are modified by glDrawArrays have an + unspecified value after glDrawArrays returns. For example, if + GL_COLOR_ARRAY is enabled, the value of the current color is + undefined after glDrawArrays executes. Attributes that aren't + modified remain well defined. + + + Notes + + glDrawArrays is available only if the GL version is 1.1 or greater. + + + glDrawArrays is included in display lists. If glDrawArrays is entered into a + display list, + the necessary array data (determined by the array pointers and + enables) is also + entered into the display list. Because the array pointers and + enables are client-side state, their values affect display lists + when the lists are created, not when the lists are executed. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if glDrawArrays is executed between + the execution of glBegin and the corresponding glEnd. + + + See Also + + glArrayElement, + glColorPointer, + glDrawElements, + glDrawRangeElements, + glEdgeFlagPointer, + glFogCoordPointer, + glGetPointerv, + glIndexPointer, + glInterleavedArrays, + glNormalPointer, + glSecondaryColorPointer, + glTexCoordPointer, + glVertexPointer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glDrawBuffer.xml b/Source/Bind/Specifications/Docs/GL2/glDrawBuffer.xml new file mode 100644 index 00000000..1b17b86d --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDrawBuffer.xml @@ -0,0 +1,239 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDrawBuffer + 3G + + + glDrawBuffer + specify which color buffers are to be drawn into + + C Specification + + + void glDrawBuffer + GLenum mode + + + + + Parameters + + + mode + + + Specifies up to four color buffers to be drawn into. + Symbolic constants + GL_NONE, + GL_FRONT_LEFT, + GL_FRONT_RIGHT, + GL_BACK_LEFT, + GL_BACK_RIGHT, + GL_FRONT, + GL_BACK, + GL_LEFT, + GL_RIGHT, + GL_FRONT_AND_BACK, and + GL_AUXi, + where i is between 0 and the value of GL_AUX_BUFFERS minus 1, + are accepted. (GL_AUX_BUFFERS is not the upper limit; use glGet + to query the number of available aux buffers.) + The initial value is GL_FRONT for single-buffered contexts, + and GL_BACK for double-buffered contexts. + + + + + + Description + + When colors are written to the frame buffer, + they are written into the color buffers specified by glDrawBuffer. + The specifications are as follows: + + + + GL_NONE + + + No color buffers are written. + + + + + GL_FRONT_LEFT + + + Only the front left color buffer is written. + + + + + GL_FRONT_RIGHT + + + Only the front right color buffer is written. + + + + + GL_BACK_LEFT + + + Only the back left color buffer is written. + + + + + GL_BACK_RIGHT + + + Only the back right color buffer is written. + + + + + GL_FRONT + + + Only the front left and front right color buffers are written. + If there is no front right color buffer, + only the front left color buffer is written. + + + + + GL_BACK + + + Only the back left and back right color buffers are written. + If there is no back right color buffer, + only the back left color buffer is written. + + + + + GL_LEFT + + + Only the front left and back left color buffers are written. + If there is no back left color buffer, + only the front left color buffer is written. + + + + + GL_RIGHT + + + Only the front right and back right color buffers are written. + If there is no back right color buffer, + only the front right color buffer is written. + + + + + GL_FRONT_AND_BACK + + + All the front and back color buffers + (front left, front right, back left, back right) + are written. + If there are no back color buffers, + only the front left and front right color buffers are written. + If there are no right color buffers, + only the front left and back left color buffers are written. + If there are no right or back color buffers, + only the front left color buffer is written. + + + + + GL_AUXi + + + Only auxiliary color buffer i is written. + + + + + + If more than one color buffer is selected for drawing, + then blending or logical operations are computed and applied independently + for each color buffer and can produce different results in each buffer. + + + Monoscopic contexts include only + left + buffers, and stereoscopic contexts include both + left + and + right + buffers. + Likewise, single-buffered contexts include only + front + buffers, and double-buffered contexts include both + front + and + back + buffers. + The context is selected at GL initialization. + + + Notes + + It is always the case that GL_AUX + i + = GL_AUX0 + + i. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_OPERATION is generated if none of the buffers indicated + by mode exists. + + + GL_INVALID_OPERATION is generated if glDrawBuffer + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_DRAW_BUFFER + + + glGet with argument GL_AUX_BUFFERS + + + See Also + + glBlendFunc, + glColorMask, + glIndexMask, + glLogicOp, + glReadBuffer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glDrawBuffers.xml b/Source/Bind/Specifications/Docs/GL2/glDrawBuffers.xml new file mode 100644 index 00000000..446e0627 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDrawBuffers.xml @@ -0,0 +1,196 @@ + + + + + glDrawBuffers + 3G + + + glDrawBuffers + Specifies a list of color buffers to be drawn into + + C Specification + + + void glDrawBuffers + GLsizei n + const GLenum *bufs + + + + Parameters + + + n + + Specifies the number of buffers in + bufs. + + + + bufs + + Points to an array of symbolic constants + specifying the buffers into which fragment colors or + data values will be written. + + + + + Description + glDrawBuffers defines an array of + buffers into which fragment color values or fragment data will + be written. If no fragment shader is active, rendering + operations will generate only one fragment color per fragment + and it will be written into each of the buffers specified by + bufs. If a fragment shader is active and + it writes a value to the output variable + gl_FragColor, then that value will be + written into each of the buffers specified by + bufs. If a fragment shader is active and + it writes a value to one or more elements of the output array + variable gl_FragData[], then the value of + gl_FragData[0] will be written into the + first buffer specified by bufs, the value + of gl_FragData[1] will be written into the + second buffer specified by bufs, and so + on up to gl_FragData[n-1]. The draw buffer + used for gl_FragData[n] and beyond is + implicitly set to be GL_NONE. + + The symbolic constants contained in + bufs may be any of the following: + + + + GL_NONE + + The fragment color/data value is not written into + any color buffer. + + + + GL_FRONT_LEFT + + The fragment color/data value is written into the + front left color buffer. + + + + GL_FRONT_RIGHT + + The fragment color/data value is written into the + front right color buffer. + + + + GL_BACK_LEFT + + The fragment color/data value is written into the + back left color buffer. + + + + GL_BACK_RIGHT + + The fragment color/data value is written into the + back right color buffer. + + + + GL_AUXi + + The fragment color/data value is written into + auxiliary buffer i. + + + + + Except for GL_NONE, the preceding + symbolic constants may not appear more than once in + bufs. The maximum number of draw buffers + supported is implementation dependent and can be queried by + calling + glGet + with the argument GL_MAX_DRAW_BUFFERS. The + number of auxiliary buffers can be queried by calling + glGet + with the argument GL_AUX_BUFFERS. + + Notes + glDrawBuffers is available only if + the GL version is 2.0 or greater. + + It is always the case that GL_AUXi = + GL_AUX0 + i. + + The symbolic constants GL_FRONT, + GL_BACK, GL_LEFT, + GL_RIGHT, and + GL_FRONT_AND_BACK are not allowed in the + bufs array since they may refer to + multiple buffers. + + If a fragment shader writes to neither + gl_FragColor nor + gl_FragData, the values of the fragment + colors following shader execution are undefined. For each + fragment generated in this situation, a different value may be + written into each of the buffers specified by + bufs. + + Errors + GL_INVALID_ENUM is generated if one of the + values in bufs is not an accepted + value. + + GL_INVALID_ENUM is generated if + n is less than 0. + + GL_INVALID_OPERATION is generated if a + symbolic constant other than GL_NONE + appears more than once in bufs. + + GL_INVALID_OPERATION is generated if any of + the entries in bufs (other than + GL_NONE ) indicates a color buffer that + does not exist in the current GL context. + + GL_INVALID_VALUE is generated if + n is greater than + GL_MAX_DRAW_BUFFERS. + + GL_INVALID_OPERATION is generated if + glDrawBuffers is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGet + with argument GL_MAX_DRAW_BUFFERS + + glGet + with argument GL_DRAW_BUFFERSi where + i indicates the number of the draw buffer + whose value is to be queried + + See Also + glBlendFunc, + glColorMask, + glDrawBuffers, + glIndexMask, + glLogicOp, + glReadBuffer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glDrawElements.xml b/Source/Bind/Specifications/Docs/GL2/glDrawElements.xml new file mode 100644 index 00000000..0e557b29 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDrawElements.xml @@ -0,0 +1,162 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDrawElements + 3G + + + glDrawElements + render primitives from array data + + C Specification + + + void glDrawElements + GLenum mode + GLsizei count + GLenum type + const GLvoid * indices + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, + GL_TRIANGLES, + GL_QUAD_STRIP, + GL_QUADS, + and GL_POLYGON are accepted. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be one of + GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + + Description + + glDrawElements specifies multiple geometric primitives + with very few subroutine calls. Instead of calling a GL function + to pass each individual vertex, normal, texture coordinate, edge + flag, or color, you can prespecify + separate arrays of vertices, normals, and so on, and use them to + construct a sequence of primitives with a single + call to glDrawElements. + + + When glDrawElements is called, it uses count sequential elements from an + enabled array, starting at indices to construct a sequence of + geometric primitives. mode specifies what kind of primitives are + constructed and how the array elements construct these primitives. If + more than one array is enabled, each is used. If + GL_VERTEX_ARRAY is not enabled, no geometric primitives are + constructed. + + + Vertex attributes that are modified by glDrawElements have an + unspecified value after glDrawElements returns. For example, if + GL_COLOR_ARRAY is enabled, the value of the current color is + undefined after glDrawElements executes. Attributes that aren't + modified maintain their previous values. + + + Notes + + glDrawElements is available only if the GL version is 1.1 or greater. + + + glDrawElements is included in display lists. If glDrawElements is entered into a + display list, + the necessary array data (determined by the array pointers and + enables) is also + entered into the display list. Because the array pointers and + enables are client-side state, their values affect display lists + when the lists are created, not when the lists are executed. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or the element array and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if glDrawElements is executed between + the execution of glBegin and the corresponding glEnd. + + + See Also + + glArrayElement, + glColorPointer, + glDrawArrays, + glDrawRangeElements, + glEdgeFlagPointer, + glFogCoordPointer, + glGetPointerv, + glIndexPointer, + glInterleavedArrays, + glNormalPointer, + glSecondaryColorPointer, + glTexCoordPointer, + glVertexPointer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glDrawPixels.xml b/Source/Bind/Specifications/Docs/GL2/glDrawPixels.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glDrawPixels.xml rename to Source/Bind/Specifications/Docs/GL2/glDrawPixels.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glDrawRangeElements.xml b/Source/Bind/Specifications/Docs/GL2/glDrawRangeElements.xml new file mode 100644 index 00000000..9d460685 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glDrawRangeElements.xml @@ -0,0 +1,238 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glDrawRangeElements + 3G + + + glDrawRangeElements + render primitives from array data + + C Specification + + + void glDrawRangeElements + GLenum mode + GLuint start + GLuint end + GLsizei count + GLenum type + const GLvoid * indices + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, + GL_TRIANGLES, + GL_QUAD_STRIP, + GL_QUADS, + and GL_POLYGON are accepted. + + + + + start + + + Specifies the minimum array index contained in indices. + + + + + end + + + Specifies the maximum array index contained in indices. + + + + + count + + + Specifies the number of elements to be rendered. + + + + + type + + + Specifies the type of the values in indices. Must be one of + GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + + Description + + glDrawRangeElements is a restricted form of glDrawElements. mode, start, end, + and count match the corresponding arguments to glDrawElements, with + the additional constraint that all values in the arrays count must lie + between start and end, inclusive. + + + Implementations denote recommended maximum amounts of vertex and + index data, + which may be queried by calling glGet with argument + GL_MAX_ELEMENTS_VERTICES and GL_MAX_ELEMENTS_INDICES. + If + + + + end + - + start + + + 1 + + + is greater than the value of + GL_MAX_ELEMENTS_VERTICES, or if count is greater than the value of + GL_MAX_ELEMENTS_INDICES, then the call may operate at reduced + performance. There is no requirement that all vertices in the range + + + + start + end + + + be referenced. However, the implementation may + partially process unused vertices, reducing performance from what could + be achieved with an optimal index set. + + + When glDrawRangeElements is called, it uses count sequential elements from an + enabled array, starting at start to construct a sequence of + geometric primitives. mode specifies what kind of primitives are + constructed, and how the array elements construct these primitives. If + more than one array is enabled, each is used. If + GL_VERTEX_ARRAY is not enabled, no geometric primitives are + constructed. + + + Vertex attributes that are modified by glDrawRangeElements have an + unspecified value after glDrawRangeElements returns. For example, if + GL_COLOR_ARRAY is enabled, the value of the current color is + undefined after glDrawRangeElements executes. Attributes that aren't + modified maintain their previous values. + + + Notes + + glDrawRangeElements is available only if the GL version is 1.2 or greater. + + + glDrawRangeElements is included in display lists. If glDrawRangeElements is entered into a + display list, + the necessary array data (determined by the array pointers and + enables) is also + entered into the display list. Because the array pointers and + enables are client-side state, their values affect display lists + when the lists are created, not when the lists are executed. + + + Errors + + It is an error for indices to lie outside the range + + + + start + end + + , + but implementations may not check for this situation. Such indices + cause implementation-dependent behavior. + + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if count is negative. + + + GL_INVALID_VALUE is generated if + + + + end + < + start + + . + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or the element array and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if glDrawRangeElements is executed between + the execution of glBegin and the corresponding glEnd. + + + Associated Gets + + glGet with argument GL_MAX_ELEMENTS_VERTICES + + + glGet with argument GL_MAX_ELEMENTS_INDICES + + + See Also + + glArrayElement, + glColorPointer, + glDrawArrays, + glDrawElements, + glEdgeFlagPointer, + glGetPointerv, + glIndexPointer, + glInterleavedArrays, + glNormalPointer, + glSecondaryColorPointer, + glTexCoordPointer, + glVertexPointer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glEdgeFlag.xml b/Source/Bind/Specifications/Docs/GL2/glEdgeFlag.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glEdgeFlag.xml rename to Source/Bind/Specifications/Docs/GL2/glEdgeFlag.xml diff --git a/Source/Bind/Specifications/Docs/glEdgeFlagPointer.xml b/Source/Bind/Specifications/Docs/GL2/glEdgeFlagPointer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glEdgeFlagPointer.xml rename to Source/Bind/Specifications/Docs/GL2/glEdgeFlagPointer.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glEnable.xml b/Source/Bind/Specifications/Docs/GL2/glEnable.xml new file mode 100644 index 00000000..5bc32f74 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glEnable.xml @@ -0,0 +1,1110 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glEnable + 3G + + + glEnable + enable or disable server-side GL capabilities + + C Specification + + + void glEnable + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + + C Specification + + + void glDisable + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + + Description + + glEnable and glDisable enable and disable various capabilities. + Use glIsEnabled or glGet to determine the current setting + of any capability. The initial value for each capability with the + exception of GL_DITHER and GL_MULTISAMPLE is GL_FALSE. The initial value for + GL_DITHER and GL_MULTISAMPLE is GL_TRUE. + + + Both glEnable and glDisable take a single argument, cap, + which can assume one of the following values: + + + + GL_ALPHA_TEST + + + + + If enabled, + do alpha testing. See + glAlphaFunc. + + + + + GL_AUTO_NORMAL + + + + + If enabled, + generate normal vectors when either + GL_MAP2_VERTEX_3 or + GL_MAP2_VERTEX_4 is used to generate vertices. + See glMap2. + + + + + GL_BLEND + + + + + If enabled, + blend the computed fragment color values with the values in the color + buffers. See glBlendFunc. + + + + + GL_CLIP_PLANEi + + + + + If enabled, + clip geometry against user-defined clipping plane i. + See glClipPlane. + + + + + GL_COLOR_LOGIC_OP + + + + + If enabled, + apply the currently selected logical operation to the computed fragment + color and color buffer values. See glLogicOp. + + + + + GL_COLOR_MATERIAL + + + + + If enabled, + have one or more material parameters track the current color. + See glColorMaterial. + + + + + GL_COLOR_SUM + + + + + If enabled and no fragment shader is active, + add the secondary color value to the computed fragment color. + See glSecondaryColor. + + + + + GL_COLOR_TABLE + + + + + If enabled, + perform a color table lookup on the incoming RGBA color values. + See glColorTable. + + + + + GL_CONVOLUTION_1D + + + + + If enabled, + perform a 1D convolution operation on incoming RGBA color values. + See glConvolutionFilter1D. + + + + + GL_CONVOLUTION_2D + + + + + If enabled, + perform a 2D convolution operation on incoming RGBA color values. + See glConvolutionFilter2D. + + + + + GL_CULL_FACE + + + + + If enabled, + cull polygons based on their winding in window coordinates. + See glCullFace. + + + + + GL_DEPTH_TEST + + + + + If enabled, + do depth comparisons and update the depth buffer. Note that even if + the depth buffer exists and the depth mask is non-zero, the + depth buffer is not updated if the depth test is disabled. See + glDepthFunc and + glDepthRange. + + + + + GL_DITHER + + + + + If enabled, + dither color components or indices before they are written to the + color buffer. + + + + + GL_FOG + + + + + If enabled and no fragment shader is active, + blend a fog color into the post-texturing color. + See glFog. + + + + + GL_HISTOGRAM + + + + + If enabled, + histogram incoming RGBA color values. + See glHistogram. + + + + + GL_INDEX_LOGIC_OP + + + + + If enabled, + apply the currently selected logical operation to the incoming index and color + buffer indices. + See glLogicOp. + + + + + GL_LIGHTi + + + + + If enabled, + include light i in the evaluation of the lighting + equation. See glLightModel and glLight. + + + + + GL_LIGHTING + + + + + If enabled and no vertex shader is active, + use the current lighting parameters to compute the vertex color or index. + Otherwise, simply associate the current color or index with each + vertex. See + glMaterial, glLightModel, and glLight. + + + + + GL_LINE_SMOOTH + + + + + If enabled, + draw lines with correct filtering. + Otherwise, + draw aliased lines. + See glLineWidth. + + + + + GL_LINE_STIPPLE + + + + + If enabled, + use the current line stipple pattern when drawing lines. See + glLineStipple. + + + + + GL_MAP1_COLOR_4 + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate RGBA values. + See glMap1. + + + + + GL_MAP1_INDEX + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate color indices. + See glMap1. + + + + + GL_MAP1_NORMAL + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate normals. + See glMap1. + + + + + GL_MAP1_TEXTURE_COORD_1 + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate + s + texture coordinates. + See glMap1. + + + + + GL_MAP1_TEXTURE_COORD_2 + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate + s and + t texture coordinates. + See glMap1. + + + + + GL_MAP1_TEXTURE_COORD_3 + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate + s, + t, and + r texture coordinates. + See glMap1. + + + + + GL_MAP1_TEXTURE_COORD_4 + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate + s, + t, + r, and + q texture coordinates. + See glMap1. + + + + + GL_MAP1_VERTEX_3 + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate + x, y, and z vertex coordinates. + See glMap1. + + + + + GL_MAP1_VERTEX_4 + + + + + If enabled, + calls to + glEvalCoord1, + glEvalMesh1, and + glEvalPoint1 generate + homogeneous + x, + y, + z, and + w vertex coordinates. + See glMap1. + + + + + GL_MAP2_COLOR_4 + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate RGBA values. + See glMap2. + + + + + GL_MAP2_INDEX + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate color indices. + See glMap2. + + + + + GL_MAP2_NORMAL + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate normals. + See glMap2. + + + + + GL_MAP2_TEXTURE_COORD_1 + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate + s + texture coordinates. + See glMap2. + + + + + GL_MAP2_TEXTURE_COORD_2 + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate + s and + t texture coordinates. + See glMap2. + + + + + GL_MAP2_TEXTURE_COORD_3 + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate + s, + t, and + r texture coordinates. + See glMap2. + + + + + GL_MAP2_TEXTURE_COORD_4 + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate + s, + t, + r, and + q texture coordinates. + See glMap2. + + + + + GL_MAP2_VERTEX_3 + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate + x, y, and z vertex coordinates. + See glMap2. + + + + + GL_MAP2_VERTEX_4 + + + + + If enabled, + calls to + glEvalCoord2, + glEvalMesh2, and + glEvalPoint2 generate + homogeneous + x, + y, + z, and + w vertex coordinates. + See glMap2. + + + + + GL_MINMAX + + + + + If enabled, + compute the minimum and maximum values of incoming RGBA color values. + See glMinmax. + + + + + GL_MULTISAMPLE + + + + + If enabled, + use multiple fragment samples in computing the final color of a pixel. + See glSampleCoverage. + + + + + GL_NORMALIZE + + + + + If enabled and no vertex shader is active, + normal vectors are normalized to unit length + after transformation and before lighting. This method is generally + less efficient than GL_RESCALE_NORMAL. See + glNormal and + glNormalPointer. + + + + + GL_POINT_SMOOTH + + + + + If enabled, + draw points with proper filtering. + Otherwise, + draw aliased points. + See glPointSize. + + + + + GL_POINT_SPRITE + + + + + If enabled, + calculate texture coordinates for points based on texture + environment and point parameter settings. Otherwise texture coordinates + are constant across points. + + + + + GL_POLYGON_OFFSET_FILL + + + + + If enabled, and if the polygon is rendered in + GL_FILL mode, an offset is added to depth values of a polygon's + fragments before the depth comparison is performed. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_LINE + + + + + If enabled, and if the polygon is rendered in + GL_LINE mode, an offset is added to depth values of a polygon's + fragments before the depth comparison is performed. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_POINT + + + + + If enabled, an offset is added to depth values of a polygon's fragments + before the depth comparison is performed, if the polygon is rendered in + GL_POINT mode. See glPolygonOffset. + + + + + GL_POLYGON_SMOOTH + + + + + If enabled, draw polygons with proper filtering. + Otherwise, draw aliased polygons. For correct antialiased polygons, + an alpha buffer is needed and the polygons must be sorted front to + back. + + + + + GL_POLYGON_STIPPLE + + + + + If enabled, + use the current polygon stipple pattern when rendering + polygons. See glPolygonStipple. + + + + + GL_POST_COLOR_MATRIX_COLOR_TABLE + + + + + If enabled, + perform a color table lookup on RGBA color values after color matrix + transformation. + See glColorTable. + + + + + GL_POST_CONVOLUTION_COLOR_TABLE + + + + + If enabled, + perform a color table lookup on RGBA color values after convolution. + See glColorTable. + + + + + GL_RESCALE_NORMAL + + + + + If enabled and no vertex shader is active, + normal vectors are scaled after transformation and before + lighting by a factor computed from the modelview matrix. If the + modelview matrix scales space uniformly, this has the effect of + restoring the transformed normal to unit length. This method is generally + more efficient than GL_NORMALIZE. See + glNormal and + glNormalPointer. + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + + + If enabled, + compute a temporary coverage value where each bit is determined by the + alpha value at the corresponding sample location. The temporary coverage + value is then ANDed with the fragment coverage value. + + + + + GL_SAMPLE_ALPHA_TO_ONE + + + + + If enabled, + each sample alpha value is replaced by the maximum representable alpha value. + + + + + GL_SAMPLE_COVERAGE + + + + + If enabled, + the fragment's coverage is ANDed with the temporary coverage value. If + GL_SAMPLE_COVERAGE_INVERT is set to GL_TRUE, invert the coverage + value. + See glSampleCoverage. + + + + + GL_SEPARABLE_2D + + + + + If enabled, perform a two-dimensional convolution operation using a separable + convolution filter on incoming RGBA color values. + See glSeparableFilter2D. + + + + + GL_SCISSOR_TEST + + + + + If enabled, + discard fragments that are outside the scissor rectangle. + See glScissor. + + + + + GL_STENCIL_TEST + + + + + If enabled, + do stencil testing and update the stencil buffer. + See glStencilFunc and glStencilOp. + + + + + GL_TEXTURE_1D + + + + + If enabled and no fragment shader is active, + one-dimensional texturing is performed + (unless two- or three-dimensional or cube-mapped texturing is also enabled). + See glTexImage1D. + + + + + GL_TEXTURE_2D + + + + + If enabled and no fragment shader is active, + two-dimensional texturing is performed + (unless three-dimensional or cube-mapped texturing is also enabled). + See glTexImage2D. + + + + + GL_TEXTURE_3D + + + + + If enabled and no fragment shader is active, + three-dimensional texturing is performed + (unless cube-mapped texturing is also enabled). + See glTexImage3D. + + + + + GL_TEXTURE_CUBE_MAP + + + + + If enabled and no fragment shader is active, + cube-mapped texturing is performed. + See glTexImage2D. + + + + + GL_TEXTURE_GEN_Q + + + + + If enabled and no vertex shader is active, + the q texture coordinate is computed using + the texture generation function defined with glTexGen. + Otherwise, the current q texture coordinate is used. + See glTexGen. + + + + + GL_TEXTURE_GEN_R + + + + + If enabled and no vertex shader is active, + the r texture coordinate is computed using + the texture generation function defined with glTexGen. + Otherwise, the current r texture coordinate is used. + See glTexGen. + + + + + GL_TEXTURE_GEN_S + + + + + If enabled and no vertex shader is active, + the s texture coordinate is computed using + the texture generation function defined with glTexGen. + Otherwise, the current s texture coordinate is used. + See glTexGen. + + + + + GL_TEXTURE_GEN_T + + + + + If enabled and no vertex shader is active, + the t texture coordinate is computed using + the texture generation function defined with glTexGen. + Otherwise, the current t texture coordinate is used. + See glTexGen. + + + + + GL_VERTEX_PROGRAM_POINT_SIZE + + + + + If enabled + and a vertex shader is active, then the derived point size is taken from the (potentially clipped) shader builtin + gl_PointSize and clamped to the implementation-dependent point size range. + + + + + GL_VERTEX_PROGRAM_TWO_SIDE + + + + + If enabled + and a vertex shader is active, it specifies that the GL will choose between front and back colors based on the + polygon's face direction of which the vertex being shaded is a part. It has no effect on points or lines. + + + + + + Notes + + GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, + GL_POLYGON_OFFSET_POINT, + GL_COLOR_LOGIC_OP, and GL_INDEX_LOGIC_OP are available + only if the GL version is 1.1 or greater. + + + GL_RESCALE_NORMAL, and GL_TEXTURE_3D are available only if the + GL version is 1.2 or greater. + + + GL_MULTISAMPLE, + GL_SAMPLE_ALPHA_TO_COVERAGE, + GL_SAMPLE_ALPHA_TO_ONE, + GL_SAMPLE_COVERAGE, + GL_TEXTURE_CUBE_MAP + are available only if the GL version is 1.3 or greater. + + + GL_POINT_SPRITE, + GL_VERTEX_PROGRAM_POINT_SIZE, and + GL_VERTEX_PROGRAM_TWO_SIDE + is available only if the GL version is 2.0 or greater. + + + GL_COLOR_TABLE, GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, + GL_HISTOGRAM, GL_MINMAX, + GL_POST_COLOR_MATRIX_COLOR_TABLE, + GL_POST_CONVOLUTION_COLOR_TABLE, and + GL_SEPARABLE_2D are available only if ARB_imaging is returned + from glGet with an argument of GL_EXTENSIONS. + + + For OpenGL versions 1.3 and greater, or when ARB_multitexture is supported, GL_TEXTURE_1D, + GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_GEN_S, + GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, and GL_TEXTURE_GEN_Q + enable or disable the respective state for the active texture unit + specified with glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if cap is not one of the values + listed previously. + + + GL_INVALID_OPERATION is generated if glEnable or glDisable + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glIsEnabled + + + glGet + + + See Also + + glActiveTexture, + glAlphaFunc, + glBlendFunc, + glClipPlane, + glColorMaterial, + glCullFace, + glDepthFunc, + glDepthRange, + glEnableClientState, + glFog, + glGet, + glIsEnabled, + glLight, + glLightModel, + glLineWidth, + glLineStipple, + glLogicOp, + glMap1, + glMap2, + glMaterial, + glNormal, + glNormalPointer, + glPointSize, + glPolygonMode, + glPolygonOffset, + glPolygonStipple, + glSampleCoverage, + glScissor, + glStencilFunc, + glStencilOp, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glEnableClientState.xml b/Source/Bind/Specifications/Docs/GL2/glEnableClientState.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glEnableClientState.xml rename to Source/Bind/Specifications/Docs/GL2/glEnableClientState.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glEnableVertexAttribArray.xml b/Source/Bind/Specifications/Docs/GL2/glEnableVertexAttribArray.xml new file mode 100644 index 00000000..3b0ab922 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glEnableVertexAttribArray.xml @@ -0,0 +1,109 @@ + + + + + glEnableVertexAttribArray + 3G + + + glEnableVertexAttribArray + glEnableVertexAttribArray + glDisableVertexAttribArray + Enable or disable a generic vertex attribute array + + C Specification + + + void glEnableVertexAttribArray + GLuint index + + + void glDisableVertexAttribArray + GLuint index + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be enabled or disabled. + + + + + Description + glEnableVertexAttribArray enables the + generic vertex attribute array specified by + index. + glDisableVertexAttribArray disables the + generic vertex attribute array specified by + index. By default, all client-side + capabilities are disabled, including all generic vertex + attribute arrays. If enabled, the values in the generic vertex + attribute array will be accessed and used for rendering when + calls are made to vertex array commands such as + glDrawArrays, + glDrawElements, + glDrawRangeElements, + glArrayElement, + glMultiDrawElements, + or + glMultiDrawArrays. + + Notes + glEnableVertexAttribArray and + glDisableVertexAttribArray are available + only if the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_OPERATION is generated if either + glEnableVertexAttribArray or + glDisableVertexAttribArray is executed + between the execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttrib + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_ENABLED + + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + See Also + glArrayElement, + glBindAttribLocation, + glDrawArrays, + glDrawElements, + glDrawRangeElements, + glMultiDrawElements, + glPopClientAttrib, + glPushClientAttrib, + glVertexAttrib, + glVertexAttribPointer + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glEvalCoord.xml b/Source/Bind/Specifications/Docs/GL2/glEvalCoord.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glEvalCoord.xml rename to Source/Bind/Specifications/Docs/GL2/glEvalCoord.xml diff --git a/Source/Bind/Specifications/Docs/glEvalMesh.xml b/Source/Bind/Specifications/Docs/GL2/glEvalMesh.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glEvalMesh.xml rename to Source/Bind/Specifications/Docs/GL2/glEvalMesh.xml diff --git a/Source/Bind/Specifications/Docs/glEvalPoint.xml b/Source/Bind/Specifications/Docs/GL2/glEvalPoint.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glEvalPoint.xml rename to Source/Bind/Specifications/Docs/GL2/glEvalPoint.xml diff --git a/Source/Bind/Specifications/Docs/glFeedbackBuffer.xml b/Source/Bind/Specifications/Docs/GL2/glFeedbackBuffer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glFeedbackBuffer.xml rename to Source/Bind/Specifications/Docs/GL2/glFeedbackBuffer.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glFinish.xml b/Source/Bind/Specifications/Docs/GL2/glFinish.xml new file mode 100644 index 00000000..0d6341d8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glFinish.xml @@ -0,0 +1,61 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glFinish + 3G + + + glFinish + block until all GL execution is complete + + C Specification + + + void glFinish + void + + + + Description + + glFinish does not return until the effects of all previously + called GL commands are complete. + Such effects include all changes to GL state, + all changes to connection state, + and all changes to the frame buffer contents. + + + Notes + + glFinish requires a round trip to the server. + + + Errors + + GL_INVALID_OPERATION is generated if glFinish is executed between + the execution of glBegin + and the corresponding execution of glEnd. + + + See Also + + glFlush + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glFlush.xml b/Source/Bind/Specifications/Docs/GL2/glFlush.xml new file mode 100644 index 00000000..3e56a10c --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glFlush.xml @@ -0,0 +1,75 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glFlush + 3G + + + glFlush + force execution of GL commands in finite time + + C Specification + + + void glFlush + void + + + + Description + + Different GL implementations buffer commands in several different locations, + including network buffers and the graphics accelerator itself. + glFlush empties all of these buffers, + causing all issued commands to be executed as quickly as + they are accepted by the actual rendering engine. + Though this execution may not be completed in any particular + time period, + it does complete in finite time. + + + Because any GL program might be executed over a network, + or on an accelerator that buffers commands, + all programs should call glFlush whenever they count on having + all of their previously issued commands completed. + For example, + call glFlush before waiting for user input that depends on + the generated image. + + + Notes + + glFlush can return at any time. + It does not wait until the execution of all previously + issued GL commands is complete. + + + Errors + + GL_INVALID_OPERATION is generated if glFlush + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + See Also + + glFinish + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glFog.xml b/Source/Bind/Specifications/Docs/GL2/glFog.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glFog.xml rename to Source/Bind/Specifications/Docs/GL2/glFog.xml diff --git a/Source/Bind/Specifications/Docs/glFogCoord.xml b/Source/Bind/Specifications/Docs/GL2/glFogCoord.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glFogCoord.xml rename to Source/Bind/Specifications/Docs/GL2/glFogCoord.xml diff --git a/Source/Bind/Specifications/Docs/glFogCoordPointer.xml b/Source/Bind/Specifications/Docs/GL2/glFogCoordPointer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glFogCoordPointer.xml rename to Source/Bind/Specifications/Docs/GL2/glFogCoordPointer.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glFrontFace.xml b/Source/Bind/Specifications/Docs/GL2/glFrontFace.xml new file mode 100644 index 00000000..1af2a16d --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glFrontFace.xml @@ -0,0 +1,101 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glFrontFace + 3G + + + glFrontFace + define front- and back-facing polygons + + C Specification + + + void glFrontFace + GLenum mode + + + + + Parameters + + + mode + + + Specifies the orientation of front-facing polygons. + GL_CW and GL_CCW are accepted. + The initial value is GL_CCW. + + + + + + Description + + In a scene composed entirely of opaque closed surfaces, + back-facing polygons are never visible. + Eliminating these invisible polygons has the obvious benefit + of speeding up the rendering of the image. + To enable and disable elimination of back-facing polygons, call glEnable + and glDisable with argument GL_CULL_FACE. + + + The projection of a polygon to window coordinates is said to have + clockwise winding if an imaginary object following the path + from its first vertex, + its second vertex, + and so on, + to its last vertex, + and finally back to its first vertex, + moves in a clockwise direction about the interior of the polygon. + The polygon's winding is said to be counterclockwise if the imaginary + object following the same path moves in a counterclockwise direction + about the interior of the polygon. + glFrontFace specifies whether polygons with clockwise winding in window coordinates, + or counterclockwise winding in window coordinates, + are taken to be front-facing. + Passing GL_CCW to mode selects counterclockwise polygons as + front-facing; + GL_CW selects clockwise polygons as front-facing. + By default, counterclockwise polygons are taken to be front-facing. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_OPERATION is generated if glFrontFace + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_FRONT_FACE + + + See Also + + glCullFace, + glLightModel + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glFrustum.xml b/Source/Bind/Specifications/Docs/GL2/glFrustum.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glFrustum.xml rename to Source/Bind/Specifications/Docs/GL2/glFrustum.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glGenBuffers.xml b/Source/Bind/Specifications/Docs/GL2/glGenBuffers.xml new file mode 100644 index 00000000..c8c9bb11 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGenBuffers.xml @@ -0,0 +1,100 @@ + + + + + + + 2005 + Sams Publishing + + + glGenBuffers + 3G + + + glGenBuffers + generate buffer object names + + C Specification + + + void glGenBuffers + GLsizei n + GLuint * buffers + + + + Parameters + + + n + + + Specifies the number of buffer object names to be generated. + + + + + buffers + + + Specifies an array in which the generated buffer object names are stored. + + + + + + Description + + glGenBuffers returns n buffer object names in buffers. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenBuffers. + + + Buffer object names returned by a call to glGenBuffers are not returned by + subsequent calls, unless they are first deleted with + glDeleteBuffers. + + + No buffer objects are associated with the returned buffer object names until they are first bound by calling + glBindBuffer. + + + Notes + + glGenBuffers is available only if the GL version is 1.5 or greater. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + GL_INVALID_OPERATION is generated if glGenBuffers is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glIsBuffer + + + See Also + + glBindBuffer, + glDeleteBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glGenLists.xml b/Source/Bind/Specifications/Docs/GL2/glGenLists.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGenLists.xml rename to Source/Bind/Specifications/Docs/GL2/glGenLists.xml diff --git a/Source/Bind/Specifications/Docs/glGenQueries.xml b/Source/Bind/Specifications/Docs/GL2/glGenQueries.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glGenQueries.xml rename to Source/Bind/Specifications/Docs/GL2/glGenQueries.xml index c304832a..5b2bc7bd 100644 --- a/Source/Bind/Specifications/Docs/glGenQueries.xml +++ b/Source/Bind/Specifications/Docs/GL2/glGenQueries.xml @@ -2,17 +2,13 @@ - - - 2005 - Sams Publishing - - - 2010-2013 - Khronos Group - - + + + 2005 + Sams Publishing + + glGenQueries 3G @@ -59,17 +55,27 @@ Query object names returned by a call to glGenQueries are not returned by subsequent calls, unless they are first deleted with - glDeleteQueries. + glDeleteQueries. No query objects are associated with the returned query object names until they are first used by calling glBeginQuery. + Notes + + glGenQueries is available only if the GL version is 1.5 or greater. + + Errors GL_INVALID_VALUE is generated if n is negative. + + GL_INVALID_OPERATION is generated if glGenQueries is executed + between the execution of glBegin and the corresponding + execution of glEnd. + Associated Gets @@ -85,9 +91,8 @@ Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGenTextures.xml b/Source/Bind/Specifications/Docs/GL2/glGenTextures.xml similarity index 82% rename from Source/Bind/Specifications/Docs/glGenTextures.xml rename to Source/Bind/Specifications/Docs/GL2/glGenTextures.xml index 74f99255..bf97c33b 100644 --- a/Source/Bind/Specifications/Docs/glGenTextures.xml +++ b/Source/Bind/Specifications/Docs/GL2/glGenTextures.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glGenTextures 3G @@ -67,10 +63,20 @@ glDeleteTextures. + Notes + + glGenTextures is available only if the GL version is 1.1 or greater. + + Errors GL_INVALID_VALUE is generated if n is negative. + + GL_INVALID_OPERATION is generated if glGenTextures is executed + between the execution of glBegin and the corresponding + execution of glEnd. + Associated Gets @@ -93,10 +99,9 @@ Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/GL2/glGet.xml b/Source/Bind/Specifications/Docs/GL2/glGet.xml new file mode 100644 index 00000000..e8ca9196 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGet.xml @@ -0,0 +1,4897 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGet + 3G + + + glGet + return the value or values of a selected parameter + + C Specification + + + void glGetBooleanv + GLenum pname + GLboolean * params + + + + C Specification + + + void glGetDoublev + GLenum pname + GLdouble * params + + + + C Specification + + + void glGetFloatv + GLenum pname + GLfloat * params + + + + C Specification + + + void glGetIntegerv + GLenum pname + GLint * params + + + + + Parameters + + + pname + + + Specifies the parameter value to be returned. + The symbolic constants in the list below are accepted. + + + + + params + + + Returns the value or values of the specified parameter. + + + + + + Description + + These four commands return values for simple state variables in GL. + pname is a symbolic constant indicating the state variable to be returned, + and params is a pointer to an array of the indicated type in + which to place the returned data. + + + Type conversion is performed if params has a different type than + the state variable value being requested. + If glGetBooleanv is called, + a floating-point (or integer) value is converted to GL_FALSE if + and only if it is 0.0 (or 0). + Otherwise, + it is converted to GL_TRUE. + If glGetIntegerv is called, boolean values are returned as + GL_TRUE or GL_FALSE, and most floating-point values are + rounded to the nearest integer value. Floating-point colors and + normals, however, are returned with a linear mapping that maps 1.0 to + the most positive representable integer value + and + + + -1.0 + + to the most negative representable integer value. + If glGetFloatv or glGetDoublev is called, + boolean values are returned as GL_TRUE or GL_FALSE, + and integer values are converted to floating-point values. + + + The following symbolic constants are accepted by pname: + + + + GL_ACCUM_ALPHA_BITS + + + + + params returns one value, + the number of alpha bitplanes in the accumulation buffer. + + + + + GL_ACCUM_BLUE_BITS + + + + + params returns one value, + the number of blue bitplanes in the accumulation buffer. + + + + + GL_ACCUM_CLEAR_VALUE + + + + + params returns four values: + the red, green, blue, and alpha values used to clear the accumulation buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 0, 0, 0). + See glClearAccum. + + + + + GL_ACCUM_GREEN_BITS + + + + + params returns one value, + the number of green bitplanes in the accumulation buffer. + + + + + GL_ACCUM_RED_BITS + + + + + params returns one value, + the number of red bitplanes in the accumulation buffer. + + + + + GL_ACTIVE_TEXTURE + + + + + params returns a single value indicating the active multitexture unit. + The initial value is GL_TEXTURE0. + See glActiveTexture. + + + + + GL_ALIASED_POINT_SIZE_RANGE + + + + + params returns two values, + the smallest and largest supported sizes for aliased points. + + + + + GL_ALIASED_LINE_WIDTH_RANGE + + + + + params returns two values, + the smallest and largest supported widths for aliased lines. + + + + + GL_ALPHA_BIAS + + + + + params returns one value, + the alpha bias factor used during pixel transfers. The initial value is 0. + See glPixelTransfer. + + + + + GL_ALPHA_BITS + + + + + params returns one value, + the number of alpha bitplanes in each color buffer. + + + + + GL_ALPHA_SCALE + + + + + params returns one value, + the alpha scale factor used + during pixel transfers. The initial value is 1. + See glPixelTransfer. + + + + + GL_ALPHA_TEST + + + + + params returns a single boolean value indicating whether alpha testing + of fragments is enabled. The initial value is GL_FALSE. + See glAlphaFunc. + + + + + GL_ALPHA_TEST_FUNC params returns one value, + + + + + the symbolic name of the alpha test function. The initial value is + GL_ALWAYS. + See glAlphaFunc. + + + + + GL_ALPHA_TEST_REF + + + + + params returns one value, + the reference value for the alpha test. The initial value is 0. + See glAlphaFunc. + An integer value, + if requested, + is linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer value. + + + + + GL_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + currently bound to the target GL_ARRAY_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_ATTRIB_STACK_DEPTH + + + + + params returns one value, + the depth of the attribute stack. + If the stack is empty, + 0 is returned. The initial value is 0. + See glPushAttrib. + + + + + GL_AUTO_NORMAL + + + + + params returns a single boolean value indicating whether 2D map evaluation + automatically generates surface normals. The initial value is GL_FALSE. + See glMap2. + + + + + GL_AUX_BUFFERS + + + + + params returns one value, + the number of auxiliary color buffers available. + + + + + GL_BLEND + + + + + params returns a single boolean value indicating whether blending is + enabled. The initial value is GL_FALSE. + See glBlendFunc. + + + + + GL_BLEND_COLOR + + + + + params returns four values, + the red, green, blue, and alpha values which are the components of + the blend color. + See glBlendColor. + + + + + GL_BLEND_DST_ALPHA + + + + + params returns one value, + the symbolic constant identifying the alpha destination blend + function. The initial value is GL_ZERO. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_DST_RGB + + + + + params returns one value, + the symbolic constant identifying the RGB destination blend + function. The initial value is GL_ZERO. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_EQUATION_RGB + + + + + params returns one value, a symbolic constant indicating whether + the RGB blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN or GL_MAX. + See glBlendEquationSeparate. + + + + + GL_BLEND_EQUATION_ALPHA + + + + + params returns one value, a symbolic constant indicating whether + the Alpha blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, + GL_FUNC_REVERSE_SUBTRACT, GL_MIN or GL_MAX. + See glBlendEquationSeparate. + + + + + GL_BLEND_SRC_ALPHA + + + + + params returns one value, + the symbolic constant identifying the alpha source blend function. The initial + value is GL_ONE. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLEND_SRC_RGB + + + + + params returns one value, + the symbolic constant identifying the RGB source blend function. The initial + value is GL_ONE. + See glBlendFunc and glBlendFuncSeparate. + + + + + GL_BLUE_BIAS + + + + + params returns one value, + the blue bias factor used during pixel transfers. The initial value is 0. + See glPixelTransfer. + + + + + GL_BLUE_BITS + + + + + params returns one value, + the number of blue bitplanes in each color buffer. + + + + + GL_BLUE_SCALE + + + + + params returns one value, + the blue scale factor used during pixel transfers. The initial value is 1. + See glPixelTransfer. + + + + + GL_CLIENT_ACTIVE_TEXTURE + + + + + params returns a single integer value indicating the current client active + multitexture unit. The initial value is GL_TEXTURE0. + See glClientActiveTexture. + + + + + GL_CLIENT_ATTRIB_STACK_DEPTH + + + + + params returns one value indicating the depth of the + attribute stack. The initial value is 0. + See glPushClientAttrib. + + + + + GL_CLIP_PLANEi + + + + + params returns a single boolean value indicating whether the specified + clipping plane is enabled. The initial value is GL_FALSE. + See glClipPlane. + + + + + GL_COLOR_ARRAY + + + + + params returns a single boolean value indicating whether the color array is enabled. The initial value is GL_FALSE. + See glColorPointer. + + + + + GL_COLOR_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + associated with the color array. This buffer object would have been bound to the + target GL_ARRAY_BUFFER at the time of the most recent call to + glColorPointer. + If no buffer object was bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_COLOR_ARRAY_SIZE + + + + + params returns one value, + the number of components per color in the color array. The initial value + is 4. + See glColorPointer. + + + + + GL_COLOR_ARRAY_STRIDE + + + + + params returns one value, + the byte offset between consecutive colors in the color array. The initial + value is 0. + See glColorPointer. + + + + + GL_COLOR_ARRAY_TYPE + + + + + params returns one value, + the data type of each component in the color array. The initial value + is GL_FLOAT. + See glColorPointer. + + + + + GL_COLOR_CLEAR_VALUE + + + + + params returns four values: + the red, green, blue, and alpha values used to clear the color buffers. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 0, 0, 0). + See glClearColor. + + + + + GL_COLOR_LOGIC_OP + + + + + params returns a single boolean value indicating whether a fragment's + RGBA color values are merged into the framebuffer using a logical + operation. The initial value is GL_FALSE. + See glLogicOp. + + + + + GL_COLOR_MATERIAL + + + + + params returns a single boolean value indicating whether one or more + material parameters are tracking the current color. The initial value + is GL_FALSE. + See glColorMaterial. + + + + + GL_COLOR_MATERIAL_FACE + + + + + params returns one value, + a symbolic constant indicating which materials have a parameter that is + tracking the current color. The initial value is GL_FRONT_AND_BACK. + See glColorMaterial. + + + + + GL_COLOR_MATERIAL_PARAMETER + + + + + params returns one value, + a symbolic constant indicating which material parameters are + tracking the current color. The initial value is + GL_AMBIENT_AND_DIFFUSE. + See glColorMaterial. + + + + + GL_COLOR_MATRIX + + + + + params returns sixteen values: + the color matrix on the top of the color matrix stack. Initially + this matrix is the identity matrix. + See glPushMatrix. + + + + + GL_COLOR_MATRIX_STACK_DEPTH + + + + + params returns one value, + the maximum supported depth of the projection matrix stack. The value must + be at least 2. + See glPushMatrix. + + + + + GL_COLOR_SUM + + + + + params returns a single boolean value indicating whether primary and + secondary color sum is enabled. + See glSecondaryColor. + + + + + GL_COLOR_TABLE + + + + + params returns a single boolean value indicating whether the color table + lookup is enabled. + See glColorTable. + + + + + GL_COLOR_WRITEMASK + + + + + params returns four boolean values: + the red, green, blue, and alpha write enables for the color + buffers. The initial value is (GL_TRUE, GL_TRUE, + GL_TRUE, GL_TRUE). + See glColorMask. + + + + + GL_COMPRESSED_TEXTURE_FORMATS + + + + + params returns a list of symbolic + constants of length GL_NUM_COMPRESSED_TEXTURE_FORMATS + indicating which compressed texture formats are available. + See glCompressedTexImage2D. + + + + + GL_CONVOLUTION_1D + + + + + params returns a single boolean value indicating whether 1D convolution + is enabled. The initial value is GL_FALSE. + See glConvolutionFilter1D. + + + + + GL_CONVOLUTION_2D + + + + + params returns a single boolean value indicating whether 2D convolution + is enabled. The initial value is GL_FALSE. + See glConvolutionFilter2D. + + + + + GL_CULL_FACE + + + + + params returns a single boolean value indicating whether polygon culling + is enabled. The initial value is GL_FALSE. + See glCullFace. + + + + + GL_CULL_FACE_MODE + + + + + params returns one value, + a symbolic constant indicating which polygon faces are to be + culled. The initial value is GL_BACK. + See glCullFace. + + + + + GL_CURRENT_COLOR + + + + + params returns four values: + the red, green, blue, and alpha values of the current color. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer value. + The initial value is (1, 1, 1, 1). + See glColor. + + + + + GL_CURRENT_FOG_COORD + + + + + params returns one value, the current fog coordinate. The initial value + is 0. + See glFogCoord. + + + + + GL_CURRENT_INDEX + + + + + params returns one value, + the current color index. The initial value is 1. + See glIndex. + + + + + GL_CURRENT_NORMAL + + + + + params returns three values: + the x, y, and z values of the current normal. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer value. + The initial value is (0, 0, 1). + See glNormal. + + + + + GL_CURRENT_PROGRAM + + + + + params returns one value, + the name of the program object that is currently active, or 0 if no program object is active. + See glUseProgram. + + + + + GL_CURRENT_RASTER_COLOR + + + + + params returns four values: + the red, green, blue, and alpha color values of the current raster position. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (1, 1, 1, 1). + See glRasterPos. + + + + + GL_CURRENT_RASTER_DISTANCE + + + + + params returns one value, the distance from the eye to the current + raster position. The initial value is 0. + See glRasterPos. + + + + + GL_CURRENT_RASTER_INDEX + + + + + params returns one value, + the color index of the current raster position. The initial value is 1. + See glRasterPos. + + + + + GL_CURRENT_RASTER_POSITION + + + + + params returns four values: + the x, y, z, and w components of the current + raster position. + x, y, and z are in window coordinates, + and w is in clip coordinates. The initial value is (0, 0, 0, 1). + See glRasterPos. + + + + + GL_CURRENT_RASTER_POSITION_VALID + + + + + params returns a single boolean value indicating whether the current + raster position is valid. The initial value is GL_TRUE. + See glRasterPos. + + + + + GL_CURRENT_RASTER_SECONDARY_COLOR + + + + + params returns four values: + the red, green, blue, and alpha secondary color values of the current raster position. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (1, 1, 1, 1). + See glRasterPos. + + + + + GL_CURRENT_RASTER_TEXTURE_COORDS + + + + + params returns four values: the s, t, r, and q + texture coordinates of the current raster position. The initial value is (0, 0, 0, 1). + See glRasterPos and glMultiTexCoord. + + + + + GL_CURRENT_SECONDARY_COLOR + + + + + params returns four values: the red, green, blue, and alpha values of the + current secondary color. Integer values, if requested, are linearly mapped + from the internal floating-point representation such that 1.0 returns the + most positive representable integer value, and + + + -1.0 + + returns the most + negative representable integer value. The initial value is (0, 0, 0, 0). + See glSecondaryColor. + + + + + GL_CURRENT_TEXTURE_COORDS + + + + + params returns four values: + the s, t, r, and q current texture + coordinates. The initial value is (0, 0, 0, 1). + See glMultiTexCoord. + + + + + GL_DEPTH_BIAS + + + + + params returns one value, + the depth bias factor used during pixel transfers. The initial value is 0. + See glPixelTransfer. + + + + + GL_DEPTH_BITS + + + + + params returns one value, + the number of bitplanes in the depth buffer. + + + + + GL_DEPTH_CLEAR_VALUE + + + + + params returns one value, + the value that is used to clear the depth buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is 1. + See glClearDepth. + + + + + GL_DEPTH_FUNC + + + + + params returns one value, + the symbolic constant that indicates the depth comparison + function. The initial value is GL_LESS. + See glDepthFunc. + + + + + GL_DEPTH_RANGE + + + + + params returns two values: + the near and far mapping limits for the depth buffer. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 1). + See glDepthRange. + + + + + GL_DEPTH_SCALE + + + + + params returns one value, + the depth scale factor used during pixel transfers. The initial value is 1. + See glPixelTransfer. + + + + + GL_DEPTH_TEST + + + + + params returns a single boolean value indicating whether depth testing + of fragments is enabled. The initial value is GL_FALSE. + See glDepthFunc and glDepthRange. + + + + + GL_DEPTH_WRITEMASK + + + + + params returns a single boolean value indicating if the depth buffer + is enabled for writing. The initial value is GL_TRUE. + See glDepthMask. + + + + + GL_DITHER + + + + + params returns a single boolean value indicating whether dithering of + fragment colors and indices is enabled. The initial value is GL_TRUE. + + + + + GL_DOUBLEBUFFER + + + + + params returns a single boolean value indicating whether double buffering + is supported. + + + + + GL_DRAW_BUFFER + + + + + params returns one value, + a symbolic constant indicating which buffers are being drawn to. + See glDrawBuffer. The initial value is GL_BACK if there + are back buffers, otherwise it is GL_FRONT. + + + + + GL_DRAW_BUFFERi + + + + + params returns one value, + a symbolic constant indicating which buffers are being drawn to by the corresponding output color. + See glDrawBuffers. + The initial value of GL_DRAW_BUFFER0 is GL_BACK if there + are back buffers, otherwise it is GL_FRONT. The + initial values of draw buffers for all other output colors is GL_NONE. + + + + + GL_EDGE_FLAG + + + + + params returns a single boolean value indicating whether the current + edge flag is GL_TRUE or GL_FALSE. The initial value is GL_TRUE. + See glEdgeFlag. + + + + + GL_EDGE_FLAG_ARRAY + + + + + params returns a single boolean value indicating whether the edge + flag array is enabled. The initial value is GL_FALSE. + See glEdgeFlagPointer. + + + + + GL_EDGE_FLAG_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + associated with the edge flag array. This buffer object would have been bound to the + target GL_ARRAY_BUFFER at the time of the most recent call to + glEdgeFlagPointer. + If no buffer object was bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_EDGE_FLAG_ARRAY_STRIDE + + + + + params returns one value, + the byte offset between consecutive edge flags in the edge flag + array. The initial value is 0. + See glEdgeFlagPointer. + + + + + GL_ELEMENT_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + currently bound to the target GL_ELEMENT_ARRAY_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_FEEDBACK_BUFFER_SIZE + + + + + params returns one value, the size of the feedback buffer. + See glFeedbackBuffer. + + + + + GL_FEEDBACK_BUFFER_TYPE + + + + + params returns one value, the type of the feedback buffer. + See glFeedbackBuffer. + + + + + GL_FOG + + + + + params returns a single boolean value indicating whether fogging is + enabled. The initial value is GL_FALSE. + See glFog. + + + + + GL_FOG_COORD_ARRAY + + + + + params returns a single boolean value indicating whether the fog coordinate array is enabled. The initial value is GL_FALSE. + See glFogCoordPointer. + + + + + GL_FOG_COORD_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + associated with the fog coordinate array. This buffer object would have been bound to the + target GL_ARRAY_BUFFER at the time of the most recent call to + glFogCoordPointer. + If no buffer object was bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_FOG_COORD_ARRAY_STRIDE + + + + + params returns one value, + the byte offset between consecutive fog coordinates in the fog coordinate + array. The initial value is 0. + See glFogCoordPointer. + + + + + GL_FOG_COORD_ARRAY_TYPE + + + + + params returns one value, the type of the fog coordinate array. + The initial value is GL_FLOAT. + See glFogCoordPointer. + + + + + GL_FOG_COORD_SRC + + + + + params returns one value, a symbolic constant indicating the source of the fog coordinate. + The initial value is GL_FRAGMENT_DEPTH. + See glFog. + + + + + GL_FOG_COLOR + + + + + params returns four values: + the red, green, blue, and alpha components of the fog color. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0, 0, 0, 0). + See glFog. + + + + + GL_FOG_DENSITY + + + + + params returns one value, + the fog density parameter. The initial value is 1. + See glFog. + + + + + GL_FOG_END + + + + + params returns one value, + the end factor for the linear fog equation. The initial value is 1. + See glFog. + + + + + GL_FOG_HINT + + + + + params returns one value, + a symbolic constant indicating the mode of the fog hint. The initial value + is GL_DONT_CARE. + See glHint. + + + + + GL_FOG_INDEX + + + + + params returns one value, + the fog color index. The initial value is 0. + See glFog. + + + + + GL_FOG_MODE + + + + + params returns one value, + a symbolic constant indicating which fog equation is selected. The initial + value is GL_EXP. + See glFog. + + + + + GL_FOG_START + + + + + params returns one value, + the start factor for the linear fog equation. The initial value is 0. + See glFog. + + + + + GL_FRAGMENT_SHADER_DERIVATIVE_HINT + + + + + params returns one value, + a symbolic constant indicating the mode of the derivative accuracy hint + for fragment shaders. The initial value + is GL_DONT_CARE. + See glHint. + + + + + GL_FRONT_FACE + + + + + params returns one value, + a symbolic constant indicating whether clockwise or counterclockwise + polygon winding is treated as front-facing. The initial value is + GL_CCW. + See glFrontFace. + + + + + GL_GENERATE_MIPMAP_HINT + + + + + params returns one value, + a symbolic constant indicating the mode of the mipmap generation filtering + hint. The initial value is GL_DONT_CARE. + See glHint. + + + + + GL_GREEN_BIAS + + + + + params returns one value, + the green bias factor used during pixel transfers. The initial value is 0. + + + + + GL_GREEN_BITS + + + + + params returns one value, + the number of green bitplanes in each color buffer. + + + + + GL_GREEN_SCALE + + + + + params returns one value, + the green scale factor used during pixel transfers. The initial value is 1. + See glPixelTransfer. + + + + + GL_HISTOGRAM + + + + + params returns a single boolean value indicating whether histogram is + enabled. The initial value is GL_FALSE. + See glHistogram. + + + + + GL_INDEX_ARRAY + + + + + params returns a single boolean value indicating whether the color + index array is enabled. The initial value is GL_FALSE. + See glIndexPointer. + + + + + GL_INDEX_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + associated with the color index array. This buffer object would have been bound to the + target GL_ARRAY_BUFFER at the time of the most recent call to + glIndexPointer. + If no buffer object was bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_INDEX_ARRAY_STRIDE + + + + + params returns one value, + the byte offset between consecutive color indexes in the color index + array. The initial value is 0. + See glIndexPointer. + + + + + GL_INDEX_ARRAY_TYPE + + + + + params returns one value, + the data type of indexes in the color index array. The initial value is + GL_FLOAT. + See glIndexPointer. + + + + + GL_INDEX_BITS + + + + + params returns one value, + the number of bitplanes in each color index buffer. + + + + + GL_INDEX_CLEAR_VALUE + + + + + params returns one value, + the color index used to clear the color index buffers. The initial value + is 0. + See glClearIndex. + + + + + GL_INDEX_LOGIC_OP + + + + + params returns a single boolean value indicating whether a fragment's index + values are merged into the framebuffer using a logical + operation. The initial value is GL_FALSE. + See glLogicOp. + + + + + GL_INDEX_MODE + + + + + params returns a single boolean value indicating whether the GL is in + color index mode (GL_TRUE) or RGBA mode (GL_FALSE). + + + + + GL_INDEX_OFFSET + + + + + params returns one value, + the offset added to color and stencil indices during pixel + transfers. The initial value is 0. + See glPixelTransfer. + + + + + GL_INDEX_SHIFT + + + + + params returns one value, + the amount that color and stencil indices are shifted during pixel + transfers. The initial value is 0. + See glPixelTransfer. + + + + + GL_INDEX_WRITEMASK + + + + + params returns one value, + a mask indicating which bitplanes of each color index buffer can be + written. The initial value is all 1's. + See glIndexMask. + + + + + GL_LIGHTi + + + + + params returns a single boolean value indicating whether the specified + light is enabled. The initial value is GL_FALSE. + See glLight and glLightModel. + + + + + GL_LIGHTING + + + + + params returns a single boolean value indicating whether lighting is + enabled. The initial value is GL_FALSE. + See glLightModel. + + + + + GL_LIGHT_MODEL_AMBIENT + + + + + params returns four values: + the red, green, blue, and alpha components of the ambient intensity of + the entire scene. + Integer values, + if requested, + are linearly mapped from the internal floating-point representation such + that 1.0 returns the most positive representable integer value, + and + + + -1.0 + + returns the most negative representable integer + value. The initial value is (0.2, 0.2, 0.2, 1.0). + See glLightModel. + + + + + GL_LIGHT_MODEL_COLOR_CONTROL + + + + + params returns single enumerated value indicating whether specular + reflection calculations are separated from normal lighting computations. + The initial value is GL_SINGLE_COLOR. + + + + + GL_LIGHT_MODEL_LOCAL_VIEWER + + + + + params returns a single boolean value indicating whether specular reflection + calculations treat the viewer as being local to the scene. The initial + value is GL_FALSE. + See glLightModel. + + + + + GL_LIGHT_MODEL_TWO_SIDE + + + + + params returns a single boolean value indicating whether separate materials + are used to compute lighting for front- and back-facing + polygons. The initial value is GL_FALSE. + See glLightModel. + + + + + GL_LINE_SMOOTH + + + + + params returns a single boolean value indicating whether antialiasing of + lines is enabled. The initial value is GL_FALSE. + See glLineWidth. + + + + + GL_LINE_SMOOTH_HINT + + + + + params returns one value, + a symbolic constant indicating the mode of the line antialiasing + hint. The initial value is GL_DONT_CARE. + See glHint. + + + + + GL_LINE_STIPPLE + + + + + params returns a single boolean value indicating whether stippling of lines + is enabled. The initial value is GL_FALSE. + See glLineStipple. + + + + + GL_LINE_STIPPLE_PATTERN + + + + + params returns one value, + the 16-bit line stipple pattern. The initial value is all 1's. + See glLineStipple. + + + + + GL_LINE_STIPPLE_REPEAT + + + + + params returns one value, + the line stipple repeat factor. The initial value is 1. + See glLineStipple. + + + + + GL_LINE_WIDTH + + + + + params returns one value, + the line width as specified with glLineWidth. The initial value is + 1. + + + + + GL_LINE_WIDTH_GRANULARITY + + + + + params returns one value, + the width difference between adjacent supported widths for antialiased lines. + See glLineWidth. + + + + + GL_LINE_WIDTH_RANGE + + + + + params returns two values: + the smallest and largest supported widths for antialiased + lines. + See glLineWidth. + + + + + GL_LIST_BASE + + + + + params returns one value, + the base offset added to all names in arrays presented to + glCallLists. The initial value is 0. + See glListBase. + + + + + GL_LIST_INDEX + + + + + params returns one value, + the name of the display list currently under construction. + 0 is returned if no display list is currently under + construction. The initial value is 0. + See glNewList. + + + + + GL_LIST_MODE + + + + + params returns one value, + a symbolic constant indicating the construction mode of the display list + currently under construction. The initial value is 0. + See glNewList. + + + + + GL_LOGIC_OP_MODE + + + + + params returns one value, + a symbolic constant indicating the selected logic operation + mode. The initial value is GL_COPY. + See glLogicOp. + + + + + GL_MAP1_COLOR_4 + + + + + params returns a single boolean value indicating whether + 1D evaluation generates colors. The initial value is GL_FALSE. + See glMap1. + + + + + GL_MAP1_GRID_DOMAIN + + + + + params returns two values: + the endpoints of the 1D map's grid domain. The initial value is (0, 1). + See glMapGrid. + + + + + GL_MAP1_GRID_SEGMENTS + + + + + params returns one value, + the number of partitions in the 1D map's grid domain. The initial value + is 1. + See glMapGrid. + + + + + GL_MAP1_INDEX + + + + + params returns a single boolean value indicating whether + 1D evaluation generates color indices. The initial value is GL_FALSE. + See glMap1. + + + + + GL_MAP1_NORMAL + + + + + params returns a single boolean value indicating whether + 1D evaluation generates normals. The initial value is GL_FALSE. + See glMap1. + + + + + GL_MAP1_TEXTURE_COORD_1 + + + + + params returns a single boolean value indicating whether + 1D evaluation generates 1D texture coordinates. The initial value is + GL_FALSE. + See glMap1. + + + + + GL_MAP1_TEXTURE_COORD_2 + + + + + params returns a single boolean value indicating whether + 1D evaluation generates 2D texture coordinates. The initial value is + GL_FALSE. + See glMap1. + + + + + GL_MAP1_TEXTURE_COORD_3 + + + + + params returns a single boolean value indicating whether + 1D evaluation generates 3D texture coordinates. The initial value is + GL_FALSE. + See glMap1. + + + + + GL_MAP1_TEXTURE_COORD_4 + + + + + params returns a single boolean value indicating whether + 1D evaluation generates 4D texture coordinates. The initial value is + GL_FALSE. + See glMap1. + + + + + GL_MAP1_VERTEX_3 + + + + + params returns a single boolean value indicating whether + 1D evaluation generates 3D vertex coordinates. The initial value is + GL_FALSE. + See glMap1. + + + + + GL_MAP1_VERTEX_4 + + + + + params returns a single boolean value indicating whether + 1D evaluation generates 4D vertex coordinates. The initial value is + GL_FALSE. + See glMap1. + + + + + GL_MAP2_COLOR_4 + + + + + params returns a single boolean value indicating whether + 2D evaluation generates colors. The initial value is GL_FALSE. + See glMap2. + + + + + GL_MAP2_GRID_DOMAIN + + + + + params returns four values: + the endpoints of the 2D map's + i + and + j + grid domains. The initial value + is (0,1; 0,1). + See glMapGrid. + + + + + GL_MAP2_GRID_SEGMENTS + + + + + params returns two values: + the number of partitions in the 2D map's + i + and + j + grid + domains. The initial value is (1,1). + See glMapGrid. + + + + + GL_MAP2_INDEX + + + + + params returns a single boolean value indicating whether + 2D evaluation generates color indices. The initial value is GL_FALSE. + See glMap2. + + + + + GL_MAP2_NORMAL + + + + + params returns a single boolean value indicating whether + 2D evaluation generates normals. The initial value is GL_FALSE. + See glMap2. + + + + + GL_MAP2_TEXTURE_COORD_1 + + + + + params returns a single boolean value indicating whether + 2D evaluation generates 1D texture coordinates. The initial value is + GL_FALSE. + See glMap2. + + + + + GL_MAP2_TEXTURE_COORD_2 + + + + + params returns a single boolean value indicating whether + 2D evaluation generates 2D texture coordinates. The initial value is + GL_FALSE. + See glMap2. + + + + + GL_MAP2_TEXTURE_COORD_3 + + + + + params returns a single boolean value indicating whether + 2D evaluation generates 3D texture coordinates. The initial value is + GL_FALSE. + See glMap2. + + + + + GL_MAP2_TEXTURE_COORD_4 + + + + + params returns a single boolean value indicating whether + 2D evaluation generates 4D texture coordinates. The initial value is + GL_FALSE. + See glMap2. + + + + + GL_MAP2_VERTEX_3 + + + + + params returns a single boolean value indicating whether + 2D evaluation generates 3D vertex coordinates. The initial value is + GL_FALSE. + See glMap2. + + + + + GL_MAP2_VERTEX_4 + + + + + params returns a single boolean value indicating whether + 2D evaluation generates 4D vertex coordinates. The initial value is + GL_FALSE. + See glMap2. + + + + + GL_MAP_COLOR + + + + + params returns a single boolean value indicating if colors and + color indices are to be replaced by table lookup during pixel + transfers. The initial value is GL_FALSE. + See glPixelTransfer. + + + + + GL_MAP_STENCIL + + + + + params returns a single boolean value indicating if stencil indices + are to be replaced by table lookup during pixel transfers. The initial + value is GL_FALSE. + See glPixelTransfer. + + + + + GL_MATRIX_MODE + + + + + params returns one value, + a symbolic constant indicating which matrix stack is currently the + target of all matrix operations. The initial value is GL_MODELVIEW. + See glMatrixMode. + + + + + GL_MAX_3D_TEXTURE_SIZE + + + + + params returns one value, + a rough estimate of the largest 3D texture that the GL can handle. + The value must be at least 16. + If the GL version is 1.2 or greater, use + GL_PROXY_TEXTURE_3D to determine if a texture is too large. + See glTexImage3D. + + + + + GL_MAX_CLIENT_ATTRIB_STACK_DEPTH + + + + + params returns one value indicating the maximum supported depth + of the client attribute stack. + See glPushClientAttrib. + + + + + GL_MAX_ATTRIB_STACK_DEPTH + + + + + params returns one value, + the maximum supported depth of the attribute stack. The value must be + at least 16. + See glPushAttrib. + + + + + GL_MAX_CLIP_PLANES + + + + + params returns one value, + the maximum number of application-defined clipping planes. The value must be at least 6. + See glClipPlane. + + + + + GL_MAX_COLOR_MATRIX_STACK_DEPTH + + + + + params returns one value, the maximum supported depth of the color matrix + stack. The value must be at least 2. + See glPushMatrix. + + + + + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS + + + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the vertex shader and the fragment processor combined. + If both the vertex shader and the fragment processing stage access the same texture image + unit, then that counts as using two texture image units against this limit. + The value must be at least 2. + See glActiveTexture. + + + + + GL_MAX_CUBE_MAP_TEXTURE_SIZE + + + + + params returns one value. + The value gives a rough estimate of the largest cube-map texture that + the GL can handle. The value must be at least 16. + If the GL version is 1.3 or greater, use GL_PROXY_TEXTURE_CUBE_MAP + to determine if a texture is too large. + See glTexImage2D. + + + + + GL_MAX_DRAW_BUFFERS + + + + + params returns one value, the maximum number + of simultaneous output colors allowed from a fragment shader using the + gl_FragData built-in array. The value must be at least 1. + See glDrawBuffers. + + + + + GL_MAX_ELEMENTS_INDICES + + + + + params returns one value, + the recommended maximum number of vertex array indices. + See glDrawRangeElements. + + + + + GL_MAX_ELEMENTS_VERTICES + + + + + params returns one value, + the recommended maximum number of vertex array vertices. + See glDrawRangeElements. + + + + + GL_MAX_EVAL_ORDER + + + + + params returns one value, + the maximum equation order supported by 1D and 2D + evaluators. The value must be at least 8. + See glMap1 and glMap2. + + + + + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS + + + + + params returns one value, + the maximum number of individual floating-point, integer, or boolean values that can be held + in uniform variable storage for a fragment shader. The value must be at least 64. + See glUniform. + + + + + GL_MAX_LIGHTS + + + + + params returns one value, + the maximum number of lights. The value must be at least 8. + See glLight. + + + + + GL_MAX_LIST_NESTING + + + + + params returns one value, + the maximum recursion depth allowed during display-list + traversal. The value must be at least 64. + See glCallList. + + + + + GL_MAX_MODELVIEW_STACK_DEPTH + + + + + params returns one value, + the maximum supported depth of the modelview matrix stack. The value must + be at least 32. + See glPushMatrix. + + + + + GL_MAX_NAME_STACK_DEPTH + + + + + params returns one value, + the maximum supported depth of the selection name stack. The value must be at least 64. + See glPushName. + + + + + GL_MAX_PIXEL_MAP_TABLE + + + + + params returns one value, + the maximum supported size of a glPixelMap lookup table. + The value must be at least 32. + See glPixelMap. + + + + + GL_MAX_PROJECTION_STACK_DEPTH + + + + + params returns one value, the maximum supported depth of the projection + matrix stack. The value must be at least 2. + See glPushMatrix. + + + + + GL_MAX_TEXTURE_COORDS + + + + + params returns one value, + the maximum number of texture coordinate sets available to vertex and fragment shaders. + The value must be at least 2. + See glActiveTexture and + glClientActiveTexture. + + + + + GL_MAX_TEXTURE_IMAGE_UNITS + + + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the fragment shader. + The value must be at least 2. + See glActiveTexture. + + + + + GL_MAX_TEXTURE_LOD_BIAS + + + + + params returns one value, + the maximum, absolute value of the texture level-of-detail bias. The + value must be at least 4. + + + + + GL_MAX_TEXTURE_SIZE + + + + + params returns one value. + The value gives a rough estimate of the largest texture that + the GL can handle. The value must be at least 64. + If the GL version is 1.1 or greater, use + GL_PROXY_TEXTURE_1D or GL_PROXY_TEXTURE_2D + to determine if a texture is too large. + See glTexImage1D and glTexImage2D. + + + + + GL_MAX_TEXTURE_STACK_DEPTH + + + + + params returns one value, + the maximum supported depth of the texture matrix stack. The value must be at least 2. + See glPushMatrix. + + + + + GL_MAX_TEXTURE_UNITS + + + + + params returns a single value indicating the number of conventional + texture units supported. Each conventional texture unit includes both a texture coordinate set + and a texture image unit. Conventional texture units may be used for fixed-function (non-shader) + rendering. The value must be at least 2. Additional texture coordinate sets and texture + image units may be accessed from vertex and fragment shaders. + See glActiveTexture and + glClientActiveTexture. + + + + + GL_MAX_VARYING_FLOATS + + + + + params returns one value, + the maximum number of interpolators available for processing varying variables used by + vertex and fragment shaders. This value represents the number of individual floating-point + values that can be interpolated; varying variables declared as vectors, matrices, and arrays + will all consume multiple interpolators. The value must be at least 32. + + + + + GL_MAX_VERTEX_ATTRIBS + + + + + params returns one value, + the maximum number of 4-component generic vertex attributes accessible to a vertex shader. + The value must be at least 16. + See glVertexAttrib. + + + + + GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS + + + + + params returns one value, the maximum supported texture image units that + can be used to access texture maps from the vertex shader. The value may be 0. + See glActiveTexture. + + + + + GL_MAX_VERTEX_UNIFORM_COMPONENTS + + + + + params returns one value, + the maximum number of individual floating-point, integer, or boolean values that can be held + in uniform variable storage for a vertex shader. The value must be at least 512. + See glUniform. + + + + + GL_MAX_VIEWPORT_DIMS + + + + + params returns two values: + the maximum supported width and height of the viewport. + These must be at least as large as the visible dimensions of the display + being rendered to. + See glViewport. + + + + + GL_MINMAX + + + + + params returns a single boolean value indicating whether pixel minmax + values are computed. The initial value is GL_FALSE. + See glMinmax. + + + + + GL_MODELVIEW_MATRIX + + + + + params returns sixteen values: + the modelview matrix on the top of the modelview matrix stack. Initially + this matrix is the identity matrix. + See glPushMatrix. + + + + + GL_MODELVIEW_STACK_DEPTH + + + + + params returns one value, + the number of matrices on the modelview matrix stack. + The initial value is 1. + See glPushMatrix. + + + + + GL_NAME_STACK_DEPTH + + + + + params returns one value, + the number of names on the selection name stack. The initial value is 0. + See glPushName. + + + + + GL_NORMAL_ARRAY + + + + + params returns a single boolean value, indicating whether the normal + array is enabled. The initial value is GL_FALSE. + See glNormalPointer. + + + + + GL_NORMAL_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + associated with the normal array. This buffer object would have been bound to the + target GL_ARRAY_BUFFER at the time of the most recent call to + glNormalPointer. + If no buffer object was bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_NORMAL_ARRAY_STRIDE + + + + + params returns one value, + the byte offset between consecutive normals in the normal + array. The initial value is 0. + See glNormalPointer. + + + + + GL_NORMAL_ARRAY_TYPE + + + + + params returns one value, + the data type of each coordinate in the normal array. The initial value is + GL_FLOAT. + See glNormalPointer. + + + + + GL_NORMALIZE + + + + + params returns a single boolean value indicating whether normals are + automatically scaled to unit length after they have been transformed to + eye coordinates. The initial value is GL_FALSE. + See glNormal. + + + + + GL_NUM_COMPRESSED_TEXTURE_FORMATS + + + + + params returns a single integer value indicating the number of available + compressed texture formats. The minimum value is 0. + See glCompressedTexImage2D. + + + + + GL_PACK_ALIGNMENT + + + + + params returns one value, + the byte alignment used for writing pixel data to memory. The initial + value is 4. + See glPixelStore. + + + + + GL_PACK_IMAGE_HEIGHT + + + + + params returns one value, + the image height used for writing pixel data to memory. The initial + value is 0. + See glPixelStore. + + + + + GL_PACK_LSB_FIRST + + + + + params returns a single boolean value indicating whether single-bit + pixels being written to memory are written first to the least significant + bit of each unsigned byte. The initial value is GL_FALSE. + See glPixelStore. + + + + + GL_PACK_ROW_LENGTH + + + + + params returns one value, + the row length used for writing pixel data to memory. The initial value is + 0. + See glPixelStore. + + + + + GL_PACK_SKIP_IMAGES + + + + + params returns one value, + the number of pixel images skipped before the first pixel is written + into memory. The initial value is 0. + See glPixelStore. + + + + + GL_PACK_SKIP_PIXELS + + + + + params returns one value, + the number of pixel locations skipped before the first pixel is written + into memory. The initial value is 0. + See glPixelStore. + + + + + GL_PACK_SKIP_ROWS + + + + + params returns one value, + the number of rows of pixel locations skipped before the first pixel is written + into memory. The initial value is 0. + See glPixelStore. + + + + + GL_PACK_SWAP_BYTES + + + + + params returns a single boolean value indicating whether the bytes of + two-byte and four-byte pixel indices and components are swapped before being + written to memory. The initial value is GL_FALSE. + See glPixelStore. + + + + + GL_PERSPECTIVE_CORRECTION_HINT + + + + + params returns one value, + a symbolic constant indicating the mode of the perspective correction + hint. The initial value is GL_DONT_CARE. + See glHint. + + + + + GL_PIXEL_MAP_A_TO_A_SIZE + + + + + params returns one value, + the size of the alpha-to-alpha pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_B_TO_B_SIZE + + + + + params returns one value, + the size of the blue-to-blue pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_G_TO_G_SIZE + + + + + params returns one value, + the size of the green-to-green pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_I_TO_A_SIZE + + + + + params returns one value, + the size of the index-to-alpha pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_I_TO_B_SIZE + + + + + params returns one value, + the size of the index-to-blue pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_I_TO_G_SIZE + + + + + params returns one value, + the size of the index-to-green pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_I_TO_I_SIZE + + + + + params returns one value, + the size of the index-to-index pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_I_TO_R_SIZE + + + + + params returns one value, + the size of the index-to-red pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_R_TO_R_SIZE + + + + + params returns one value, + the size of the red-to-red pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_MAP_S_TO_S_SIZE + + + + + params returns one value, + the size of the stencil-to-stencil pixel translation table. + The initial value is 1. + See glPixelMap. + + + + + GL_PIXEL_PACK_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + currently bound to the target GL_PIXEL_PACK_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_PIXEL_UNPACK_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + currently bound to the target GL_PIXEL_UNPACK_BUFFER. If no buffer object + is bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_POINT_DISTANCE_ATTENUATION + + + + + params returns three values, + the coefficients for computing the attenuation value for points. + See glPointParameter. + + + + + GL_POINT_FADE_THRESHOLD_SIZE + + + + + params returns one value, + the point size threshold for determining the point size. + See glPointParameter. + + + + + GL_POINT_SIZE + + + + + params returns one value, + the point size as specified by glPointSize. The initial value is 1. + + + + + GL_POINT_SIZE_GRANULARITY + + + + + params returns one value, + the size difference between adjacent supported sizes for antialiased points. + See glPointSize. + + + + + GL_POINT_SIZE_MAX + + + + + params returns one value, + the upper bound for the attenuated point sizes. The initial value is 0.0. + See glPointParameter. + + + + + GL_POINT_SIZE_MIN + + + + + params returns one value, + the lower bound for the attenuated point sizes. The initial value is 1.0. + See glPointParameter. + + + + + GL_POINT_SIZE_RANGE + + + + + params returns two values: + the smallest and largest supported sizes for antialiased + points. The smallest size must be at most 1, and the largest size must + be at least 1. + See glPointSize. + + + + + GL_POINT_SMOOTH + + + + + params returns a single boolean value indicating whether antialiasing of + points is enabled. The initial value is GL_FALSE. + See glPointSize. + + + + + GL_POINT_SMOOTH_HINT + + + + + params returns one value, + a symbolic constant indicating the mode of the point antialiasing + hint. The initial value is GL_DONT_CARE. + See glHint. + + + + + GL_POINT_SPRITE + + + + + params returns a single boolean value indicating whether point sprite is + enabled. The initial value is GL_FALSE. + + + + + GL_POLYGON_MODE + + + + + params returns two values: + symbolic constants indicating whether front-facing and back-facing polygons + are rasterized as points, lines, or filled polygons. The initial value is + GL_FILL. + See glPolygonMode. + + + + + GL_POLYGON_OFFSET_FACTOR + + + + + params returns one value, + the scaling factor used to determine the variable offset that is added + to the depth value of each fragment generated when a polygon is + rasterized. The initial value is 0. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_UNITS + + + + + params returns one value. + This value is multiplied by an implementation-specific value and then + added to the depth value of each fragment + generated when a polygon is rasterized. The initial value is 0. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_FILL + + + + + params returns a single boolean value indicating whether polygon offset + is enabled for polygons in fill mode. The initial value is GL_FALSE. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_LINE + + + + + params returns a single boolean value indicating whether polygon offset + is enabled for polygons in line mode. The initial value is GL_FALSE. + See glPolygonOffset. + + + + + GL_POLYGON_OFFSET_POINT + + + + + params returns a single boolean value indicating whether polygon offset + is enabled for polygons in point mode. The initial value is GL_FALSE. + See glPolygonOffset. + + + + + GL_POLYGON_SMOOTH + + + + + params returns a single boolean value indicating whether antialiasing of + polygons is enabled. The initial value is GL_FALSE. + See glPolygonMode. + + + + + GL_POLYGON_SMOOTH_HINT + + + + + params returns one value, + a symbolic constant indicating the mode of the polygon antialiasing + hint. The initial value is GL_DONT_CARE. + See glHint. + + + + + GL_POLYGON_STIPPLE + + + + + params returns a single boolean value indicating whether polygon + stippling is enabled. The initial value is GL_FALSE. + See glPolygonStipple. + + + + + GL_POST_COLOR_MATRIX_COLOR_TABLE + + + + + params returns a single boolean value indicating whether post color + matrix transformation lookup is enabled. + The initial value is GL_FALSE. + See glColorTable. + + + + + GL_POST_COLOR_MATRIX_RED_BIAS + + + + + params returns one value, the red bias factor applied to RGBA fragments + after color matrix transformations. + The initial value is 0. + See glPixelTransfer. + + + + + GL_POST_COLOR_MATRIX_GREEN_BIAS + + + + + params returns one value, the green bias factor applied to RGBA fragments + after color matrix transformations. + The initial value is 0. + See glPixelTransfer + + + + + GL_POST_COLOR_MATRIX_BLUE_BIAS + + + + + params returns one value, the blue bias factor applied to RGBA fragments + after color matrix transformations. + The initial value is 0. + See glPixelTransfer. + + + + + GL_POST_COLOR_MATRIX_ALPHA_BIAS + + + + + params returns one value, the alpha bias factor applied to RGBA fragments + after color matrix transformations. + The initial value is 0. + See glPixelTransfer. + + + + + GL_POST_COLOR_MATRIX_RED_SCALE + + + + + params returns one value, the red scale factor applied to RGBA fragments + after color matrix transformations. + The initial value is 1. + See glPixelTransfer. + + + + + GL_POST_COLOR_MATRIX_GREEN_SCALE + + + + + params returns one value, the green scale factor applied to RGBA fragments + after color matrix transformations. + The initial value is 1. + See glPixelTransfer. + + + + + GL_POST_COLOR_MATRIX_BLUE_SCALE + + + + + params returns one value, the blue scale factor applied to RGBA fragments + after color matrix transformations. + The initial value is 1. + See glPixelTransfer. + + + + + GL_POST_COLOR_MATRIX_ALPHA_SCALE + + + + + params returns one value, the alpha scale factor applied to RGBA fragments + after color matrix transformations. + The initial value is 1. + See glPixelTransfer. + + + + + GL_POST_CONVOLUTION_COLOR_TABLE + + + + + params returns a single boolean value indicating whether post convolution + lookup is enabled. The initial value is GL_FALSE. + See glColorTable. + + + + + GL_POST_CONVOLUTION_RED_BIAS + + + + + params returns one value, the red bias factor applied to RGBA fragments + after convolution. The initial value is 0. + See glPixelTransfer. + + + + + GL_POST_CONVOLUTION_GREEN_BIAS + + + + + params returns one value, the green bias factor applied to RGBA fragments + after convolution. The initial value is 0. + See glPixelTransfer. + + + + + GL_POST_CONVOLUTION_BLUE_BIAS + + + + + params returns one value, the blue bias factor applied to RGBA fragments + after convolution. The initial value is 0. + See glPixelTransfer. + + + + + GL_POST_CONVOLUTION_ALPHA_BIAS + + + + + params returns one value, the alpha bias factor applied to RGBA fragments + after convolution. The initial value is 0. + See glPixelTransfer. + + + + + GL_POST_CONVOLUTION_RED_SCALE + + + + + params returns one value, the red scale factor applied to RGBA fragments + after convolution. The initial value is 1. + See glPixelTransfer. + + + + + GL_POST_CONVOLUTION_GREEN_SCALE + + + + + params returns one value, the green scale factor applied to RGBA fragments + after convolution. The initial value is 1. + See glPixelTransfer. + + + + + GL_POST_CONVOLUTION_BLUE_SCALE + + + + + params returns one value, the blue scale factor applied to RGBA fragments + after convolution. The initial value is 1. + See glPixelTransfer. + + + + + GL_POST_CONVOLUTION_ALPHA_SCALE + + + + + params returns one value, the alpha scale factor applied to RGBA fragments + after convolution. The initial value is 1. + See glPixelTransfer. + + + + + GL_PROJECTION_MATRIX + + + + + params returns sixteen values: + the projection matrix on the top of the projection matrix + stack. Initially this matrix is the identity matrix. + See glPushMatrix. + + + + + GL_PROJECTION_STACK_DEPTH + + + + + params returns one value, + the number of matrices on the projection matrix stack. + The initial value is 1. + See glPushMatrix. + + + + + GL_READ_BUFFER + + + + + params returns one value, + a symbolic constant indicating which color buffer is selected for + reading. The initial value is GL_BACK if there is a back buffer, + otherwise it is GL_FRONT. + See + glReadPixels and glAccum. + + + + + GL_RED_BIAS + + + + + params returns one value, + the red bias factor used during pixel transfers. The initial value is 0. + + + + + GL_RED_BITS + + + + + params returns one value, + the number of red bitplanes in each color buffer. + + + + + GL_RED_SCALE + + + + + params returns one value, + the red scale factor used during pixel transfers. The initial value is 1. + See glPixelTransfer. + + + + + GL_RENDER_MODE + + + + + params returns one value, + a symbolic constant indicating whether the GL is in render, + select, + or feedback mode. The initial value is GL_RENDER. + See glRenderMode. + + + + + GL_RESCALE_NORMAL + + + + + params returns single boolean value + indicating whether normal rescaling is enabled. + See glEnable. + + + + + GL_RGBA_MODE + + + + + params returns a single boolean value indicating whether the GL is in RGBA + mode (true) or color index mode (false). + See glColor. + + + + + GL_SAMPLE_BUFFERS + + + + + params returns a single integer value indicating the number of sample buffers + associated with the framebuffer. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE_VALUE + + + + + params returns a single positive floating-point value indicating the + current sample coverage value. + See glSampleCoverage. + + + + + GL_SAMPLE_COVERAGE_INVERT + + + + + params returns a single boolean value indicating if the temporary + coverage value should be inverted. + See glSampleCoverage. + + + + + GL_SAMPLES + + + + + params returns a single integer value indicating the coverage mask size. + See glSampleCoverage. + + + + + GL_SCISSOR_BOX + + + + + params returns four values: + the + x + and + y + window coordinates of the scissor box, + followed by its width and height. + Initially the + x + and + y + window coordinates are both 0 and the + width and height are set to the size of the window. + See glScissor. + + + + + GL_SCISSOR_TEST + + + + + params returns a single boolean value indicating whether scissoring is + enabled. The initial value is GL_FALSE. + See glScissor. + + + + + GL_SECONDARY_COLOR_ARRAY + + + + + params returns a single boolean value indicating whether the secondary color array is enabled. The initial value is GL_FALSE. + See glSecondaryColorPointer. + + + + + GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + associated with the secondary color array. This buffer object would have been bound to the + target GL_ARRAY_BUFFER at the time of the most recent call to + glSecondaryColorPointer. + If no buffer object was bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_SECONDARY_COLOR_ARRAY_SIZE + + + + + params returns one value, the number of components per color in the + secondary color array. The initial value is 3. + See glSecondaryColorPointer. + + + + + GL_SECONDARY_COLOR_ARRAY_STRIDE + + + + + params returns one value, the byte offset between consecutive colors in + the secondary color array. The initial value is 0. + See glSecondaryColorPointer. + + + + + GL_SECONDARY_COLOR_ARRAY_TYPE + + + + + params returns one value, the data type of each component in the secondary + color array. The initial value is GL_FLOAT. + See glSecondaryColorPointer. + + + + + GL_SELECTION_BUFFER_SIZE + + + + + params return one value, + the size of the selection buffer. + See glSelectBuffer. + + + + + GL_SEPARABLE_2D + + + + + params returns a single boolean value indicating whether 2D separable + convolution is enabled. The initial value is GL_FALSE. + See glSeparableFilter2D. + + + + + GL_SHADE_MODEL + + + + + params returns one value, + a symbolic constant indicating whether the shading mode is flat or + smooth. The initial value is GL_SMOOTH. + See glShadeModel. + + + + + GL_SMOOTH_LINE_WIDTH_RANGE + + + + + params returns two values, + the smallest and largest supported widths for antialiased lines. + See glLineWidth. + + + + + GL_SMOOTH_LINE_WIDTH_GRANULARITY + + + + + params returns one value, + the granularity of widths for antialiased lines. + See glLineWidth. + + + + + GL_SMOOTH_POINT_SIZE_RANGE + + + + + params returns two values, + the smallest and largest supported widths for antialiased points. + See glPointSize. + + + + + GL_SMOOTH_POINT_SIZE_GRANULARITY + + + + + params returns one value, + the granularity of sizes for antialiased points. + See glPointSize. + + + + + GL_STENCIL_BACK_FAIL + + + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test fails. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_FUNC + + + + + params returns one value, + a symbolic constant indicating what function is used for back-facing polygons to compare the + stencil reference value with the stencil buffer value. The initial value + is GL_ALWAYS. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_PASS_DEPTH_FAIL + + + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test passes, + but the depth test fails. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_PASS_DEPTH_PASS + + + + + params returns one value, + a symbolic constant indicating what action is taken for back-facing polygons when the stencil + test passes and the depth test passes. The initial value is GL_KEEP. + See glStencilOpSeparate. + + + + + GL_STENCIL_BACK_REF + + + + + params returns one value, + the reference value that is compared with the contents of the stencil + buffer for back-facing polygons. The initial value is 0. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_VALUE_MASK + + + + + params returns one value, + the mask that is used for back-facing polygons to mask both the stencil reference value and the + stencil buffer value before they are compared. The initial value is all 1's. + See glStencilFuncSeparate. + + + + + GL_STENCIL_BACK_WRITEMASK + + + + + params returns one value, + the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value + is all 1's. + See glStencilMaskSeparate. + + + + + GL_STENCIL_BITS + + + + + params returns one value, + the number of bitplanes in the stencil buffer. + + + + + GL_STENCIL_CLEAR_VALUE + + + + + params returns one value, + the index to which the stencil bitplanes are cleared. The initial value is + 0. + See glClearStencil. + + + + + GL_STENCIL_FAIL + + + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test fails. The initial value is GL_KEEP. + See glStencilOp. + If the GL version is 2.0 or greater, this stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_FUNC + + + + + params returns one value, + a symbolic constant indicating what function is used to compare the + stencil reference value with the stencil buffer value. The initial value + is GL_ALWAYS. + See glStencilFunc. + If the GL version is 2.0 or greater, this stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_PASS_DEPTH_FAIL + + + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test passes, + but the depth test fails. The initial value is GL_KEEP. + See glStencilOp. + If the GL version is 2.0 or greater, this stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_PASS_DEPTH_PASS + + + + + params returns one value, + a symbolic constant indicating what action is taken when the stencil + test passes and the depth test passes. The initial value is GL_KEEP. + See glStencilOp. + If the GL version is 2.0 or greater, this stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilOpSeparate. + + + + + GL_STENCIL_REF + + + + + params returns one value, + the reference value that is compared with the contents of the stencil + buffer. The initial value is 0. + See glStencilFunc. + If the GL version is 2.0 or greater, this stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_TEST + + + + + params returns a single boolean value indicating whether stencil testing + of fragments is enabled. The initial value is GL_FALSE. + See glStencilFunc and glStencilOp. + + + + + GL_STENCIL_VALUE_MASK + + + + + params returns one value, + the mask that is used to mask both the stencil reference value and the + stencil buffer value before they are compared. The initial value is all 1's. + See glStencilFunc. + If the GL version is 2.0 or greater, this stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilFuncSeparate. + + + + + GL_STENCIL_WRITEMASK + + + + + params returns one value, + the mask that controls writing of the stencil bitplanes. The initial value + is all 1's. + See glStencilMask. + If the GL version is 2.0 or greater, this stencil state only affects non-polygons + and front-facing polygons. Back-facing polygons use separate stencil state. + See glStencilMaskSeparate. + + + + + GL_STEREO + + + + + params returns a single boolean value indicating whether stereo buffers + (left and right) are supported. + + + + + GL_SUBPIXEL_BITS + + + + + params returns one value, + an estimate of the number of bits of subpixel resolution that are used to + position rasterized geometry in window coordinates. The value must be at least 4. + + + + + GL_TEXTURE_1D + + + + + params returns a single boolean value indicating whether 1D texture + mapping is enabled. The initial value is GL_FALSE. + See glTexImage1D. + + + + + GL_TEXTURE_BINDING_1D + + + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_1D. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_2D + + + + + params returns a single boolean value indicating whether 2D texture + mapping is enabled. The initial value is GL_FALSE. + See glTexImage2D. + + + + + GL_TEXTURE_BINDING_2D + + + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_2D. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_3D + + + + + params returns a single boolean value indicating whether 3D texture + mapping is enabled. The initial value is GL_FALSE. + See glTexImage3D. + + + + + GL_TEXTURE_BINDING_3D + + + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_3D. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_BINDING_CUBE_MAP + + + + + params returns a single value, the name of the texture + currently bound to the target GL_TEXTURE_CUBE_MAP. The initial value is 0. + See glBindTexture. + + + + + GL_TEXTURE_COMPRESSION_HINT + + + + + params returns a single value indicating the mode of the texture + compression hint. The initial value is GL_DONT_CARE. + + + + + GL_TEXTURE_COORD_ARRAY + + + + + params returns a single boolean value indicating whether the texture + coordinate array is enabled. The initial value is GL_FALSE. + See glTexCoordPointer. + + + + + GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + associated with the texture coordinate array. This buffer object would have been bound to the + target GL_ARRAY_BUFFER at the time of the most recent call to + glTexCoordPointer. + If no buffer object was bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_TEXTURE_COORD_ARRAY_SIZE + + + + + params returns one value, + the number of coordinates per element in the texture coordinate + array. The initial value is 4. + See glTexCoordPointer. + + + + + GL_TEXTURE_COORD_ARRAY_STRIDE + + + + + params returns one value, + the byte offset between consecutive elements in the texture coordinate + array. The initial value is 0. + See glTexCoordPointer. + + + + + GL_TEXTURE_COORD_ARRAY_TYPE + + + + + params returns one value, + the data type of the coordinates in the texture coordinate + array. The initial value is GL_FLOAT. + See glTexCoordPointer. + + + + + GL_TEXTURE_CUBE_MAP + + + + + params returns a single boolean value indicating whether cube-mapped texture + mapping is enabled. The initial value is GL_FALSE. + See glTexImage2D. + + + + + GL_TEXTURE_GEN_Q + + + + + params returns a single boolean value indicating whether automatic generation + of the q texture coordinate is enabled. The initial value is GL_FALSE. + See glTexGen. + + + + + GL_TEXTURE_GEN_R + + + + + params returns a single boolean value indicating whether automatic generation + of the r texture coordinate is enabled. The initial value is GL_FALSE. + See glTexGen. + + + + + GL_TEXTURE_GEN_S + + + + + params returns a single boolean value indicating whether automatic generation + of the S texture coordinate is enabled. The initial value is GL_FALSE. + See glTexGen. + + + + + GL_TEXTURE_GEN_T + + + + + params returns a single boolean value indicating whether automatic generation + of the T texture coordinate is enabled. The initial value is GL_FALSE. + See glTexGen. + + + + + GL_TEXTURE_MATRIX + + + + + params returns sixteen values: + the texture matrix on the top of the texture matrix stack. Initially this + matrix is the identity matrix. + See glPushMatrix. + + + + + GL_TEXTURE_STACK_DEPTH + + + + + params returns one value, + the number of matrices on the texture matrix stack. + The initial value is 1. + See glPushMatrix. + + + + + GL_TRANSPOSE_COLOR_MATRIX + + + + + params returns 16 values, the elements of the color matrix in row-major + order. + See glLoadTransposeMatrix. + + + + + GL_TRANSPOSE_MODELVIEW_MATRIX + + + + + params returns 16 values, the elements of the modelview matrix in row-major + order. + See glLoadTransposeMatrix. + + + + + GL_TRANSPOSE_PROJECTION_MATRIX + + + + + params returns 16 values, the elements of the projection matrix in row-major + order. + See glLoadTransposeMatrix. + + + + + GL_TRANSPOSE_TEXTURE_MATRIX + + + + + params returns 16 values, the elements of the texture matrix in row-major + order. + See glLoadTransposeMatrix. + + + + + GL_UNPACK_ALIGNMENT + + + + + params returns one value, + the byte alignment used for reading pixel data from memory. The initial + value is 4. + See glPixelStore. + + + + + GL_UNPACK_IMAGE_HEIGHT + + + + + params returns one value, + the image height used for reading pixel data from memory. The initial + is 0. + See glPixelStore. + + + + + GL_UNPACK_LSB_FIRST + + + + + params returns a single boolean value indicating whether single-bit + pixels being read from memory are read first from the least significant + bit of each unsigned byte. The initial value is GL_FALSE. + See glPixelStore. + + + + + GL_UNPACK_ROW_LENGTH + + + + + params returns one value, + the row length used for reading pixel data from memory. The initial value + is 0. + See glPixelStore. + + + + + GL_UNPACK_SKIP_IMAGES + + + + + params returns one value, + the number of pixel images skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStore. + + + + + GL_UNPACK_SKIP_PIXELS + + + + + params returns one value, + the number of pixel locations skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStore. + + + + + GL_UNPACK_SKIP_ROWS + + + + + params returns one value, + the number of rows of pixel locations skipped before the first pixel is read + from memory. The initial value is 0. + See glPixelStore. + + + + + GL_UNPACK_SWAP_BYTES + + + + + params returns a single boolean value indicating whether the bytes of + two-byte and four-byte pixel indices and components are swapped after being + read from memory. The initial value is GL_FALSE. + See glPixelStore. + + + + + GL_VERTEX_ARRAY + + + + + params returns a single boolean value indicating whether the vertex + array is enabled. The initial value is GL_FALSE. + See glVertexPointer. + + + + + GL_VERTEX_ARRAY_BUFFER_BINDING + + + + + params returns a single value, the name of the buffer object + associated with the vertex array. This buffer object would have been bound to the + target GL_ARRAY_BUFFER at the time of the most recent call to + glVertexPointer. + If no buffer object was bound to this target, 0 is returned. The initial value is 0. + See glBindBuffer. + + + + + GL_VERTEX_ARRAY_SIZE + + + + + params returns one value, + the number of coordinates per vertex in the vertex array. The initial + value is 4. + See glVertexPointer. + + + + + GL_VERTEX_ARRAY_STRIDE + + + + + params returns one value, + the byte offset between consecutive vertices in the vertex + array. The initial value is 0. + See glVertexPointer. + + + + + GL_VERTEX_ARRAY_TYPE + + + + + params returns one value, + the data type of each coordinate in the vertex array. The initial value is + GL_FLOAT. + See glVertexPointer. + + + + + GL_VERTEX_PROGRAM_POINT_SIZE + + + + + params returns a single boolean value indicating whether vertex + program point size mode is enabled. If enabled, and a vertex shader is active, then the + point size is taken from the shader built-in gl_PointSize. If disabled, + and a vertex shader is active, then the point size is taken from the point state as specified + by glPointSize. + The initial value is GL_FALSE. + + + + + GL_VERTEX_PROGRAM_TWO_SIDE + + + + + params returns a single boolean value indicating whether vertex + program two-sided color mode is enabled. If enabled, and a vertex shader is active, then the + GL chooses the back color output for back-facing polygons, and the front color output for + non-polygons and front-facing polygons. If disabled, and a vertex shader is active, then the + front color output is always selected. The initial value is GL_FALSE. + + + + + GL_VIEWPORT + + + + + params returns four values: + the + x + and + y + window coordinates of the viewport, + followed by its width and height. + Initially the + x + and + y + window coordinates are both set to 0, + and the width and height are set to the width and height of the window into + which the GL will do its rendering. + See glViewport. + + + + + GL_ZOOM_X + + + + + params returns one value, + the + x + pixel zoom factor. The initial value is 1. + See glPixelZoom. + + + + + GL_ZOOM_Y + + + + + params returns one value, + the + y + pixel zoom factor. The initial value is 1. + See glPixelZoom. + + + + + + Many of the boolean parameters can also be queried more easily using + glIsEnabled. + + + Notes + + GL_COLOR_LOGIC_OP, + GL_COLOR_ARRAY, + GL_COLOR_ARRAY_SIZE, + GL_COLOR_ARRAY_STRIDE, + GL_COLOR_ARRAY_TYPE, + GL_EDGE_FLAG_ARRAY, + GL_EDGE_FLAG_ARRAY_STRIDE, + GL_INDEX_ARRAY, + GL_INDEX_ARRAY_STRIDE, + GL_INDEX_ARRAY_TYPE, + GL_INDEX_LOGIC_OP, + GL_NORMAL_ARRAY, + GL_NORMAL_ARRAY_STRIDE, + GL_NORMAL_ARRAY_TYPE, + GL_POLYGON_OFFSET_UNITS, + GL_POLYGON_OFFSET_FACTOR, + GL_POLYGON_OFFSET_FILL, + GL_POLYGON_OFFSET_LINE, + GL_POLYGON_OFFSET_POINT, + GL_TEXTURE_COORD_ARRAY, + GL_TEXTURE_COORD_ARRAY_SIZE, + GL_TEXTURE_COORD_ARRAY_STRIDE, + GL_TEXTURE_COORD_ARRAY_TYPE, + GL_VERTEX_ARRAY, + GL_VERTEX_ARRAY_SIZE, + GL_VERTEX_ARRAY_STRIDE, and + GL_VERTEX_ARRAY_TYPE + are available only if the GL version is 1.1 or greater. + + + GL_ALIASED_POINT_SIZE_RANGE, + GL_FEEDBACK_BUFFER_SIZE, + GL_FEEDBACK_BUFFER_TYPE, + GL_LIGHT_MODEL_AMBIENT, + GL_LIGHT_MODEL_COLOR_CONTROL, + GL_MAX_3D_TEXTURE_SIZE, + GL_MAX_ELEMENTS_INDICES, + GL_MAX_ELEMENTS_VERTICES, + GL_PACK_IMAGE_HEIGHT, + GL_PACK_SKIP_IMAGES, + GL_RESCALE_NORMAL, + GL_SELECTION_BUFFER_SIZE, + GL_SMOOTH_LINE_WIDTH_GRANULARITY, + GL_SMOOTH_LINE_WIDTH_RANGE, + GL_SMOOTH_POINT_SIZE_GRANULARITY, + GL_SMOOTH_POINT_SIZE_RANGE, + GL_TEXTURE_3D, + GL_TEXTURE_BINDING_3D, + GL_UNPACK_IMAGE_HEIGHT, and + GL_UNPACK_SKIP_IMAGES + are available only if the GL version is 1.2 or greater. + + + GL_COMPRESSED_TEXTURE_FORMATS, + GL_NUM_COMPRESSED_TEXTURE_FORMATS, + GL_TEXTURE_BINDING_CUBE_MAP, and + GL_TEXTURE_COMPRESSION_HINT + are available only if the GL version is 1.3 or greater. + + + GL_BLEND_DST_ALPHA, + GL_BLEND_DST_RGB, + GL_BLEND_SRC_ALPHA, + GL_BLEND_SRC_RGB, + GL_CURRENT_FOG_COORD, + GL_CURRENT_SECONDARY_COLOR, + GL_FOG_COORD_ARRAY_STRIDE, + GL_FOG_COORD_ARRAY_TYPE, + GL_FOG_COORD_SRC, + GL_MAX_TEXTURE_LOD_BIAS, + GL_POINT_SIZE_MIN, + GL_POINT_SIZE_MAX, + GL_POINT_FADE_THRESHOLD_SIZE, + GL_POINT_DISTANCE_ATTENUATION, + GL_SECONDARY_COLOR_ARRAY_SIZE, + GL_SECONDARY_COLOR_ARRAY_STRIDE, and + GL_SECONDARY_COLOR_ARRAY_TYPE + are available only if the GL version is 1.4 or greater. + + + GL_ARRAY_BUFFER_BINDING, + GL_COLOR_ARRAY_BUFFER_BINDING, + GL_EDGE_FLAG_ARRAY_BUFFER_BINDING, + GL_ELEMENT_ARRAY_BUFFER_BINDING, + GL_FOG_COORD_ARRAY_BUFFER_BINDING, + GL_INDEX_ARRAY_BUFFER_BINDING, + GL_NORMAL_ARRAY_BUFFER_BINDING, + GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING, + GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, and + GL_VERTEX_ARRAY_BUFFER_BINDING + are available only if the GL version is 1.5 or greater. + + + GL_BLEND_EQUATION_ALPHA, + GL_BLEND_EQUATION_RGB, + GL_DRAW_BUFFERi, + GL_FRAGMENT_SHADER_DERIVATIVE_HINT, + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, + GL_MAX_DRAW_BUFFERS, + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, + GL_MAX_TEXTURE_COORDS, + GL_MAX_TEXTURE_IMAGE_UNITS, + GL_MAX_VARYING_FLOATS, + GL_MAX_VERTEX_ATTRIBS, + GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, + GL_MAX_VERTEX_UNIFORM_COMPONENTS, + GL_POINT_SPRITE, + GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_PASS_DEPTH_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, + GL_STENCIL_BACK_REF, + GL_STENCIL_BACK_VALUE_MASK, + GL_STENCIL_BACK_WRITEMASK, + GL_VERTEX_PROGRAM_POINT_SIZE, and + GL_VERTEX_PROGRAM_TWO_SIDE + are available only if the GL version is 2.0 or greater. + + + GL_CURRENT_RASTER_SECONDARY_COLOR, + GL_PIXEL_PACK_BUFFER_BINDING and + GL_PIXEL_UNPACK_BUFFER_BINDING + are available only if the GL version is 2.1 or greater. + + + GL_LINE_WIDTH_GRANULARITY was deprecated in GL version 1.2. Its + functionality was replaced by GL_SMOOTH_LINE_WIDTH_GRANULARITY. + + + GL_LINE_WIDTH_RANGE was deprecated in GL version 1.2. Its + functionality was replaced by GL_SMOOTH_LINE_WIDTH_RANGE. + + + GL_POINT_SIZE_GRANULARITY was deprecated in GL version 1.2. Its + functionality was replaced by GL_SMOOTH_POINT_SIZE_GRANULARITY. + + + GL_POINT_SIZE_RANGE was deprecated in GL version 1.2. Its + functionality was replaced by GL_SMOOTH_POINT_SIZE_RANGE. + + + GL_BLEND_EQUATION was deprecated in GL version 2.0. Its + functionality was replaced by GL_BLEND_EQUATION_RGB and + GL_BLEND_EQUATION_ALPHA. + + + GL_COLOR_MATRIX, + GL_COLOR_MATRIX_STACK_DEPTH, + GL_COLOR_TABLE, + GL_CONVOLUTION_1D, + GL_CONVOLUTION_2D, + GL_HISTOGRAM, + GL_MAX_COLOR_MATRIX_STACK_DEPTH, + GL_MINMAX, + GL_POST_COLOR_MATRIX_COLOR_TABLE, + GL_POST_COLOR_MATRIX_RED_BIAS, + GL_POST_COLOR_MATRIX_GREEN_BIAS, + GL_POST_COLOR_MATRIX_BLUE_BIAS, + GL_POST_COLOR_MATRIX_ALPHA_BIAS, + GL_POST_COLOR_MATRIX_RED_SCALE, + GL_POST_COLOR_MATRIX_GREEN_SCALE, + GL_POST_COLOR_MATRIX_BLUE_SCALE, + GL_POST_COLOR_MATRIX_ALPHA_SCALE, + GL_POST_CONVOLUTION_COLOR_TABLE, + GL_POST_CONVOLUTION_RED_BIAS, + GL_POST_CONVOLUTION_GREEN_BIAS, + GL_POST_CONVOLUTION_BLUE_BIAS, + GL_POST_CONVOLUTION_ALPHA_BIAS, + GL_POST_CONVOLUTION_RED_SCALE, + GL_POST_CONVOLUTION_GREEN_SCALE, + GL_POST_CONVOLUTION_BLUE_SCALE, + GL_POST_CONVOLUTION_ALPHA_SCALE, and + GL_SEPARABLE_2D + are available only if ARB_imaging is returned from glGet + when called with the argument GL_EXTENSIONS. + + + When the ARB_multitexture extension is supported, or the GL version + is 1.3 or greater, the following + parameters return the associated value for the active texture unit: + GL_CURRENT_RASTER_TEXTURE_COORDS, + GL_TEXTURE_1D, GL_TEXTURE_BINDING_1D, + GL_TEXTURE_2D, GL_TEXTURE_BINDING_2D, + GL_TEXTURE_3D, GL_TEXTURE_BINDING_3D, + GL_TEXTURE_GEN_S, + GL_TEXTURE_GEN_T, + GL_TEXTURE_GEN_R, + GL_TEXTURE_GEN_Q, + GL_TEXTURE_MATRIX, and + GL_TEXTURE_STACK_DEPTH. + Likewise, the following parameters return the associated value for the + active client texture unit: + GL_TEXTURE_COORD_ARRAY, + GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, + GL_TEXTURE_COORD_ARRAY_SIZE, + GL_TEXTURE_COORD_ARRAY_STRIDE, + GL_TEXTURE_COORD_ARRAY_TYPE. + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_OPERATION is generated if glGet + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + + + See Also + + glGetActiveAttrib, + glGetActiveUniform, + glGetAttachedShaders, + glGetAttribLocation, + glGetBufferParameteriv, + glGetBufferPointerv, + glGetBufferSubData, + glGetClipPlane, + glGetColorTable, + glGetColorTableParameter, + glGetCompressedTexImage, + glGetConvolutionFilter, + glGetConvolutionParameter, + glGetError, + glGetHistogram, + glGetHistogramParameter, + glGetLight, + glGetMap, + glGetMaterial, + glGetMinmax, + glGetMinmaxParameter, + glGetPixelMap, + glGetPointerv, + glGetPolygonStipple, + glGetProgram, + glGetProgramInfoLog, + glGetQueryiv, + glGetQueryObject, + glGetSeparableFilter, + glGetShader, + glGetShaderInfoLog, + glGetShaderSource, + glGetString, + glGetTexEnv, + glGetTexGen, + glGetTexImage, + glGetTexLevelParameter, + glGetTexParameter, + glGetUniform, + glGetUniformLocation, + glGetVertexAttrib, + glGetVertexAttribPointerv, + glIsEnabled + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetActiveAttrib.xml b/Source/Bind/Specifications/Docs/GL2/glGetActiveAttrib.xml new file mode 100644 index 00000000..da8bb51d --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetActiveAttrib.xml @@ -0,0 +1,231 @@ + + + + + glGetActiveAttrib + 3G + + + glGetActiveAttrib + Returns information about an active attribute variable for the specified program object + + C Specification + + + void glGetActiveAttrib + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + index + + Specifies the index of the attribute variable + to be queried. + + + + bufSize + + Specifies the maximum number of characters + OpenGL is allowed to write in the character buffer + indicated by name. + + + + length + + Returns the number of characters actually + written by OpenGL in the string indicated by + name (excluding the null + terminator) if a value other than + NULL is passed. + + + + size + + Returns the size of the attribute + variable. + + + + type + + Returns the data type of the attribute + variable. + + + + name + + Returns a null terminated string containing + the name of the attribute variable. + + + + + Description + glGetActiveAttrib returns information + about an active attribute variable in the program object + specified by program. The number of + active attributes can be obtained by calling + glGetProgram + with the value GL_ACTIVE_ATTRIBUTES. A + value of 0 for index selects the first + active attribute variable. Permissible values for + index range from 0 to the number of + active attribute variables minus 1. + + A vertex shader may use either built-in attribute + variables, user-defined attribute variables, or both. Built-in + attribute variables have a prefix of "gl_" and + reference conventional OpenGL vertex attribtes (e.g., + gl_Vertex, + gl_Normal, etc., see the OpenGL Shading + Language specification for a complete list.) User-defined + attribute variables have arbitrary names and obtain their values + through numbered generic vertex attributes. An attribute + variable (either built-in or user-defined) is considered active + if it is determined during the link operation that it may be + accessed during program execution. Therefore, + program should have previously been the + target of a call to + glLinkProgram, + but it is not necessary for it to have been linked + successfully. + + The size of the character buffer required to store the + longest attribute variable name in + program can be obtained by calling + glGetProgram + with the value + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. This value + should be used to allocate a buffer of sufficient size to store + the returned attribute name. The size of this character buffer + is passed in bufSize, and a pointer to + this character buffer is passed in + name. + + glGetActiveAttrib returns the name of + the attribute variable indicated by + index, storing it in the character buffer + specified by name. The string returned + will be null terminated. The actual number of characters written + into this buffer is returned in length, + and this count does not include the null termination character. + If the length of the returned string is not required, a value of + NULL can be passed in the + length argument. + + The type argument will return a + pointer to the attribute variable's data type. The symbolic + constants GL_FLOAT, + GL_FLOAT_VEC2, + GL_FLOAT_VEC3, + GL_FLOAT_VEC4, + GL_FLOAT_MAT2, + GL_FLOAT_MAT3, + GL_FLOAT_MAT4, + GL_FLOAT_MAT2x3, + GL_FLOAT_MAT2x4, + GL_FLOAT_MAT3x2, + GL_FLOAT_MAT3x4, + GL_FLOAT_MAT4x2, or + GL_FLOAT_MAT4x3 may be returned. The + size argument will return the size of the + attribute, in units of the type returned in + type. + + The list of active attribute variables may include both + built-in attribute variables (which begin with the prefix + "gl_") as well as user-defined attribute variable + names. + + This function will return as much information as it can + about the specified active attribute variable. If no information + is available, length will be 0, and + name will be an empty string. This + situation could occur if this function is called after a link + operation that failed. If an error occurs, the return values + length, size, + type, and name + will be unmodified. + + Notes + glGetActiveAttrib + is available only if the GL version is 2.0 or greater. + + GL_FLOAT_MAT2x3, + GL_FLOAT_MAT2x4, + GL_FLOAT_MAT3x2, + GL_FLOAT_MAT3x4, + GL_FLOAT_MAT4x2, and + GL_FLOAT_MAT4x3 + will only be returned as a type + if the GL version is 2.1 or greater. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + index is greater than or equal to the + number of active attribute variables in + program. + + GL_INVALID_OPERATION is generated if + glGetActiveAttrib is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS. + + glGetProgram + with argument GL_ACTIVE_ATTRIBUTES or + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. + + glIsProgram + + See Also + glBindAttribLocation, + glLinkProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetActiveUniform.xml b/Source/Bind/Specifications/Docs/GL2/glGetActiveUniform.xml new file mode 100644 index 00000000..699af8f7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetActiveUniform.xml @@ -0,0 +1,277 @@ + + + + + glGetActiveUniform + 3G + + + glGetActiveUniform + Returns information about an active uniform variable for the specified program object + + C Specification + + + void glGetActiveUniform + GLuint program + GLuint index + GLsizei bufSize + GLsizei *length + GLint *size + GLenum *type + GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + index + + Specifies the index of the uniform variable to + be queried. + + + + bufSize + + Specifies the maximum number of characters + OpenGL is allowed to write in the character buffer + indicated by name. + + + + length + + Returns the number of characters actually + written by OpenGL in the string indicated by + name (excluding the null + terminator) if a value other than + NULL is passed. + + + + size + + Returns the size of the uniform + variable. + + + + type + + Returns the data type of the uniform + variable. + + + + name + + Returns a null terminated string containing + the name of the uniform variable. + + + + + Description + glGetActiveUniform returns + information about an active uniform variable in the program + object specified by program. The number + of active uniform variables can be obtained by calling + glGetProgram + with the value GL_ACTIVE_UNIFORMS. A value + of 0 for index selects the first active + uniform variable. Permissible values for + index range from 0 to the number of + active uniform variables minus 1. + + Shaders may use either built-in uniform variables, + user-defined uniform variables, or both. Built-in uniform + variables have a prefix of "gl_" and reference + existing OpenGL state or values derived from such state (e.g., + gl_Fog, + gl_ModelViewMatrix, etc., see the OpenGL + Shading Language specification for a complete list.) + User-defined uniform variables have arbitrary names and obtain + their values from the application through calls to + glUniform. + A uniform variable (either built-in or user-defined) is + considered active if it is determined during the link operation + that it may be accessed during program execution. Therefore, + program should have previously been the + target of a call to + glLinkProgram, + but it is not necessary for it to have been linked + successfully. + + The size of the character buffer required to store the + longest uniform variable name in program + can be obtained by calling + glGetProgram + with the value + GL_ACTIVE_UNIFORM_MAX_LENGTH. This value + should be used to allocate a buffer of sufficient size to store + the returned uniform variable name. The size of this character + buffer is passed in bufSize, and a + pointer to this character buffer is passed in + name. + + glGetActiveUniform returns the name + of the uniform variable indicated by + index, storing it in the character buffer + specified by name. The string returned + will be null terminated. The actual number of characters written + into this buffer is returned in length, + and this count does not include the null termination character. + If the length of the returned string is not required, a value of + NULL can be passed in the + length argument. + + The type + argument will return a pointer to the uniform variable's data + type. The symbolic constants + GL_FLOAT, + GL_FLOAT_VEC2, + GL_FLOAT_VEC3, + GL_FLOAT_VEC4, + GL_INT, + GL_INT_VEC2, + GL_INT_VEC3, + GL_INT_VEC4, + GL_BOOL, + GL_BOOL_VEC2, + GL_BOOL_VEC3, + GL_BOOL_VEC4, + GL_FLOAT_MAT2, + GL_FLOAT_MAT3, + GL_FLOAT_MAT4, + GL_FLOAT_MAT2x3, + GL_FLOAT_MAT2x4, + GL_FLOAT_MAT3x2, + GL_FLOAT_MAT3x4, + GL_FLOAT_MAT4x2, + GL_FLOAT_MAT4x3, + GL_SAMPLER_1D, + GL_SAMPLER_2D, + GL_SAMPLER_3D, + GL_SAMPLER_CUBE, + GL_SAMPLER_1D_SHADOW, or + GL_SAMPLER_2D_SHADOW + may be returned. + + If one or more elements of an array are active, the name + of the array is returned in name, the + type is returned in type, and the + size parameter returns the highest array + element index used, plus one, as determined by the compiler + and/or linker. Only one active uniform variable will be reported + for a uniform array. + + Uniform variables that are declared as structures or + arrays of structures will not be returned directly by this + function. Instead, each of these uniform variables will be + reduced to its fundamental components containing the + "." and "[]" operators such that each of the + names is valid as an argument to + glGetUniformLocation. + Each of these reduced uniform variables is counted as one active + uniform variable and is assigned an index. A valid name cannot + be a structure, an array of structures, or a subcomponent of a + vector or matrix. + + The size of the uniform variable will be returned in + size. Uniform variables other than arrays + will have a size of 1. Structures and arrays of structures will + be reduced as described earlier, such that each of the names + returned will be a data type in the earlier list. If this + reduction results in an array, the size returned will be as + described for uniform arrays; otherwise, the size returned will + be 1. + + The list of active uniform variables may include both + built-in uniform variables (which begin with the prefix + "gl_") as well as user-defined uniform variable + names. + + This function will return as much information as it can + about the specified active uniform variable. If no information + is available, length will be 0, and + name will be an empty string. This + situation could occur if this function is called after a link + operation that failed. If an error occurs, the return values + length, size, + type, and name + will be unmodified. + + Notes + glGetActiveUniform is available only + if the GL version is 2.0 or greater. + + GL_FLOAT_MAT2x3, + GL_FLOAT_MAT2x4, + GL_FLOAT_MAT3x2, + GL_FLOAT_MAT3x4, + GL_FLOAT_MAT4x2, and + GL_FLOAT_MAT4x3 + will only be returned as a type + if the GL version is 2.1 or greater. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + index is greater than or equal to the + number of active uniform variables in + program. + + GL_INVALID_OPERATION is generated if + glGetActiveUniform is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS + or + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS. + + glGetProgram + with argument GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH. + + glIsProgram + + See Also + glGetUniform, + glGetUniformLocation, + glLinkProgram, + glUniform, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetAttachedShaders.xml b/Source/Bind/Specifications/Docs/GL2/glGetAttachedShaders.xml new file mode 100644 index 00000000..349ef410 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetAttachedShaders.xml @@ -0,0 +1,120 @@ + + + + + glGetAttachedShaders + 3G + + + glGetAttachedShaders + Returns the handles of the shader objects attached to a program object + + C Specification + + + void glGetAttachedShaders + GLuint program + GLsizei maxCount + GLsizei *count + GLuint *shaders + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + maxCount + + Specifies the size of the array for storing + the returned object names. + + + + count + + Returns the number of names actually returned + in shaders. + + + + shaders + + Specifies an array that is used to return the + names of attached shader objects. + + + + + Description + glGetAttachedShaders returns the + names of the shader objects attached to + program. The names of shader objects that + are attached to program will be returned + in shaders. The actual number of shader + names written into shaders is returned in + count. If no shader objects are attached + to program, count + is set to 0. The maximum number of shader names that may be + returned in shaders is specified by + maxCount. + + If the number of names actually returned is not required + (for instance, if it has just been obtained by calling + glGetProgram), + a value of NULL may be passed for count. If + no shader objects are attached to + program, a value of 0 will be returned in + count. The actual number of attached + shaders can be obtained by calling + glGetProgram + with the value GL_ATTACHED_SHADERS. + + Notes + glGetAttachedShaders + is available only if the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + maxCount is less than 0. + + GL_INVALID_OPERATION is generated if + glGetAttachedShaders + is executed between the execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetProgram + with argument GL_ATTACHED_SHADERS + + glIsProgram + + See Also + glAttachShader, + glDetachShader. + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetAttribLocation.xml b/Source/Bind/Specifications/Docs/GL2/glGetAttribLocation.xml new file mode 100644 index 00000000..bd072b04 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetAttribLocation.xml @@ -0,0 +1,114 @@ + + + + + glGetAttribLocation + 3G + + + glGetAttribLocation + Returns the location of an attribute variable + + C Specification + + + GLint glGetAttribLocation + GLuint program + const GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + name + + Points to a null terminated string containing + the name of the attribute variable whose location is + to be queried. + + + + + Description + glGetAttribLocation queries the + previously linked program object specified by + program for the attribute variable + specified by name and returns the index + of the generic vertex attribute that is bound to that attribute + variable. If name is a matrix attribute + variable, the index of the first column of the matrix is + returned. If the named attribute variable is not an active + attribute in the specified program object or if + name starts with the reserved prefix + "gl_", a value of -1 is returned. + + The association between an attribute variable name and a + generic attribute index can be specified at any time by calling + glBindAttribLocation. + Attribute bindings do not go into effect until + glLinkProgram + is called. After a program object has been linked successfully, + the index values for attribute variables remain fixed until the + next link command occurs. The attribute values can only be + queried after a link if the link was successful. + glGetAttribLocation returns the binding + that actually went into effect the last time + glLinkProgram + was called for the specified program object. Attribute bindings + that have been specified since the last link operation are not + returned by glGetAttribLocation. + + Notes + glGetAttribLocation is available only + if the GL version is 2.0 or greater. + + Errors + GL_INVALID_OPERATION is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + GL_INVALID_OPERATION is generated if + glGetAttribLocation is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetActiveAttrib + with argument program and the index of an + active attribute + + glIsProgram + + See Also + glBindAttribLocation, + glLinkProgram, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glGetBufferParameteriv.xml b/Source/Bind/Specifications/Docs/GL2/glGetBufferParameteriv.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetBufferParameteriv.xml rename to Source/Bind/Specifications/Docs/GL2/glGetBufferParameteriv.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glGetBufferPointerv.xml b/Source/Bind/Specifications/Docs/GL2/glGetBufferPointerv.xml new file mode 100644 index 00000000..fb9b362e --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetBufferPointerv.xml @@ -0,0 +1,113 @@ + + + + + + + 2005 + Sams Publishing + + + glGetBufferPointerv + 3G + + + glGetBufferPointerv + return the pointer to a mapped buffer object's data store + + C Specification + + + void glGetBufferPointerv + GLenum target + GLenum pname + GLvoid ** params + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or + GL_PIXEL_UNPACK_BUFFER. + + + + + pname + + + Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. + + + + + params + + + Returns the pointer value specified by pname. + + + + + + Description + + glGetBufferPointerv returns pointer information. pname is a symbolic constant + indicating the pointer to be returned, which must be GL_BUFFER_MAP_POINTER, the pointer + to which the buffer object's data store is mapped. If the data store is not currently mapped, NULL is returned. + params is a pointer to a location in which to place the returned pointer value. + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + glGetBufferPointerv is available only if the GL version is 1.5 or greater. + + + Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available + only if the GL version is 2.1 or greater. + + + The initial value for the pointer is NULL. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_INVALID_OPERATION is generated if glGetBufferPointerv + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + See Also + + glBindBuffer, + glMapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetBufferSubData.xml b/Source/Bind/Specifications/Docs/GL2/glGetBufferSubData.xml new file mode 100644 index 00000000..7b25903a --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetBufferSubData.xml @@ -0,0 +1,136 @@ + + + + + + + 2005 + Sams Publishing + + + glGetBufferSubData + 3G + + + glGetBufferSubData + returns a subset of a buffer object's data store + + C Specification + + + void glGetBufferSubData + GLenum target + GLintptr offset + GLsizeiptr size + GLvoid * data + + + + + Parameters + + + target + + + Specifies the target buffer object. + The symbolic constant must be GL_ARRAY_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or + GL_PIXEL_UNPACK_BUFFER. + + + + + offset + + + Specifies the offset into the buffer object's data store from which data will be returned, + measured in bytes. + + + + + size + + + Specifies the size in bytes of the data store region being returned. + + + + + data + + + Specifies a pointer to the location where buffer object data is returned. + + + + + + Description + + glGetBufferSubData returns some or all of the data from the buffer object currently + bound to target. Data starting at byte offset offset and + extending for size bytes is copied from the data store to the memory pointed to by + data. An error is thrown if the buffer object is currently mapped, or if + offset and size together define a range beyond the bounds + of the buffer object's data store. + + + Notes + + If an error is generated, + no change is made to the contents of data. + + + glGetBufferSubData is available only if the GL version is 1.5 or greater. + + + Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available + only if the GL version is 2.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. + + + GL_INVALID_VALUE is generated if offset or + size is negative, or if together they define a region of memory + that extends beyond the buffer object's allocated data store. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_INVALID_OPERATION is generated if the buffer object being queried is mapped. + + + GL_INVALID_OPERATION is generated if glGetBufferSubData + is executed between the execution of + glBegin and the corresponding execution of + glEnd. + + + See Also + + glBindBuffer, + glBufferData, + glBufferSubData, + glMapBuffer, + glUnmapBuffer + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glGetClipPlane.xml b/Source/Bind/Specifications/Docs/GL2/glGetClipPlane.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetClipPlane.xml rename to Source/Bind/Specifications/Docs/GL2/glGetClipPlane.xml diff --git a/Source/Bind/Specifications/Docs/glGetColorTable.xml b/Source/Bind/Specifications/Docs/GL2/glGetColorTable.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetColorTable.xml rename to Source/Bind/Specifications/Docs/GL2/glGetColorTable.xml diff --git a/Source/Bind/Specifications/Docs/glGetColorTableParameter.xml b/Source/Bind/Specifications/Docs/GL2/glGetColorTableParameter.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetColorTableParameter.xml rename to Source/Bind/Specifications/Docs/GL2/glGetColorTableParameter.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glGetCompressedTexImage.xml b/Source/Bind/Specifications/Docs/GL2/glGetCompressedTexImage.xml new file mode 100644 index 00000000..f9ac1f8d --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetCompressedTexImage.xml @@ -0,0 +1,175 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetCompressedTexImage + 3G + + + glGetCompressedTexImage + return a compressed texture image + + C Specification + + + void glGetCompressedTexImage + GLenum target + GLint lod + GLvoid * img + + + + + Parameters + + + target + + + Specifies which texture is to be obtained. + GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z + are accepted. + + + + + lod + + + Specifies the level-of-detail number of the desired image. + Level 0 is the base image level. + Level + n + is the + nth + mipmap reduction image. + + + + + img + + + Returns the compressed texture image. + + + + + + Description + + glGetCompressedTexImage returns the compressed texture image associated with target and lod + into img. img should be an array of + GL_TEXTURE_COMPRESSED_IMAGE_SIZE bytes. + target specifies whether the desired texture image was one specified by + glTexImage1D (GL_TEXTURE_1D), + glTexImage2D (GL_TEXTURE_2D or any of GL_TEXTURE_CUBE_MAP_*), or + glTexImage3D (GL_TEXTURE_3D). + lod specifies the level-of-detail number of the desired image. + + + If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target + (see glBindBuffer) while a texture image is + requested, img is treated as a byte offset into the buffer object's data store. + + + To minimize errors, first verify that the texture is compressed by calling + glGetTexLevelParameter with argument GL_TEXTURE_COMPRESSED. If + the texture is compressed, then determine the amount of memory required to + store the compressed texture by calling glGetTexLevelParameter with + argument GL_TEXTURE_COMPRESSED_IMAGE_SIZE. Finally, retrieve the + internal format of the texture by calling glGetTexLevelParameter with + argument GL_TEXTURE_INTERNAL_FORMAT. + To store the texture for later use, associate the internal format and size + with the retrieved texture image. These data can be used by the respective + texture or subtexture loading routine used for loading target textures. + + + Notes + + glGetCompressedTexImage is available only if the GL version is 1.3 or greater. + + + Errors + + GL_INVALID_VALUE is generated if lod is less than zero or greater + than the maximum number of LODs permitted by the implementation. + + + GL_INVALID_OPERATION is generated if glGetCompressedTexImage is used to retrieve a + texture that is in an uncompressed internal format. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer + object such that the memory writes required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if glGetCompressedTexImage + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGetTexLevelParameter with argument GL_TEXTURE_COMPRESSED + + + glGetTexLevelParameter with argument GL_TEXTURE_COMPRESSED_IMAGE_SIZE + + + glGetTexLevelParameter with argument GL_TEXTURE_INTERNAL_FORMAT + + + glGet with argument GL_PIXEL_PACK_BUFFER_BINDING + + + See Also + + glActiveTexture, + glCompressedTexImage1D, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage1D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glDrawPixels, + glReadPixels, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D + + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glGetConvolutionFilter.xml b/Source/Bind/Specifications/Docs/GL2/glGetConvolutionFilter.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetConvolutionFilter.xml rename to Source/Bind/Specifications/Docs/GL2/glGetConvolutionFilter.xml diff --git a/Source/Bind/Specifications/Docs/glGetConvolutionParameter.xml b/Source/Bind/Specifications/Docs/GL2/glGetConvolutionParameter.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetConvolutionParameter.xml rename to Source/Bind/Specifications/Docs/GL2/glGetConvolutionParameter.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glGetError.xml b/Source/Bind/Specifications/Docs/GL2/glGetError.xml new file mode 100644 index 00000000..454fb9ca --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetError.xml @@ -0,0 +1,173 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetError + 3G + + + glGetError + return error information + + C Specification + + + GLenum glGetError + void + + + + Description + + glGetError returns the value of the error flag. + Each detectable error is assigned a numeric code and symbolic name. + When an error occurs, + the error flag is set to the appropriate error code value. + No other errors are recorded until glGetError is called, + the error code is returned, + and the flag is reset to GL_NO_ERROR. + If a call to glGetError returns GL_NO_ERROR, + there has been no detectable error since the last call to glGetError, + or since the GL was initialized. + + + To allow for distributed implementations, + there may be several error flags. + If any single error flag has recorded an error, + the value of that flag is returned + and that flag is reset to GL_NO_ERROR + when glGetError is called. + If more than one flag has recorded an error, + glGetError returns and clears an arbitrary error flag value. + Thus, glGetError should always be called in a loop, + until it returns GL_NO_ERROR, + if all error flags are to be reset. + + + Initially, all error flags are set to GL_NO_ERROR. + + + The following errors are currently defined: + + + + GL_NO_ERROR + + + No error has been recorded. + The value of this symbolic constant is guaranteed to be 0. + + + + + GL_INVALID_ENUM + + + An unacceptable value is specified for an enumerated argument. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_VALUE + + + A numeric argument is out of range. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_INVALID_OPERATION + + + The specified operation is not allowed in the current state. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_STACK_OVERFLOW + + + This command would cause a stack overflow. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_STACK_UNDERFLOW + + + This command would cause a stack underflow. + The offending command is ignored + and has no other side effect than to set the error flag. + + + + + GL_OUT_OF_MEMORY + + + There is not enough memory left to execute the command. + The state of the GL is undefined, + except for the state of the error flags, + after this error is recorded. + + + + + GL_TABLE_TOO_LARGE + + + The specified table exceeds the implementation's maximum supported table + size. The offending command is ignored and has no other side effect + than to set the error flag. + + + + + + When an error flag is set, + results of a GL operation are undefined only if GL_OUT_OF_MEMORY + has occurred. + In all other cases, + the command generating the error is ignored and has no effect on the GL state + or frame buffer contents. + If the generating command returns a value, it returns 0. + If glGetError itself generates an error, it returns 0. + + + Notes + + GL_TABLE_TOO_LARGE was introduced in GL version 1.2. + + + Errors + + GL_INVALID_OPERATION is generated if glGetError + is executed between the execution of glBegin + and the corresponding execution of glEnd. + In this case, glGetError returns 0. + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glGetHistogram.xml b/Source/Bind/Specifications/Docs/GL2/glGetHistogram.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetHistogram.xml rename to Source/Bind/Specifications/Docs/GL2/glGetHistogram.xml diff --git a/Source/Bind/Specifications/Docs/glGetHistogramParameter.xml b/Source/Bind/Specifications/Docs/GL2/glGetHistogramParameter.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetHistogramParameter.xml rename to Source/Bind/Specifications/Docs/GL2/glGetHistogramParameter.xml diff --git a/Source/Bind/Specifications/Docs/glGetLight.xml b/Source/Bind/Specifications/Docs/GL2/glGetLight.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetLight.xml rename to Source/Bind/Specifications/Docs/GL2/glGetLight.xml diff --git a/Source/Bind/Specifications/Docs/glGetMap.xml b/Source/Bind/Specifications/Docs/GL2/glGetMap.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetMap.xml rename to Source/Bind/Specifications/Docs/GL2/glGetMap.xml diff --git a/Source/Bind/Specifications/Docs/glGetMaterial.xml b/Source/Bind/Specifications/Docs/GL2/glGetMaterial.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetMaterial.xml rename to Source/Bind/Specifications/Docs/GL2/glGetMaterial.xml diff --git a/Source/Bind/Specifications/Docs/glGetMinmax.xml b/Source/Bind/Specifications/Docs/GL2/glGetMinmax.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetMinmax.xml rename to Source/Bind/Specifications/Docs/GL2/glGetMinmax.xml diff --git a/Source/Bind/Specifications/Docs/glGetMinmaxParameter.xml b/Source/Bind/Specifications/Docs/GL2/glGetMinmaxParameter.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetMinmaxParameter.xml rename to Source/Bind/Specifications/Docs/GL2/glGetMinmaxParameter.xml diff --git a/Source/Bind/Specifications/Docs/glGetPixelMap.xml b/Source/Bind/Specifications/Docs/GL2/glGetPixelMap.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetPixelMap.xml rename to Source/Bind/Specifications/Docs/GL2/glGetPixelMap.xml diff --git a/Source/Bind/Specifications/Docs/glGetPointerv.xml b/Source/Bind/Specifications/Docs/GL2/glGetPointerv.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetPointerv.xml rename to Source/Bind/Specifications/Docs/GL2/glGetPointerv.xml diff --git a/Source/Bind/Specifications/Docs/glGetPolygonStipple.xml b/Source/Bind/Specifications/Docs/GL2/glGetPolygonStipple.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetPolygonStipple.xml rename to Source/Bind/Specifications/Docs/GL2/glGetPolygonStipple.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glGetProgram.xml b/Source/Bind/Specifications/Docs/GL2/glGetProgram.xml new file mode 100644 index 00000000..4268d005 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetProgram.xml @@ -0,0 +1,241 @@ + + + + + glGetProgram + 3G + + + glGetProgramiv + Returns a parameter from a program object + + C Specification + + + void glGetProgramiv + GLuint program + GLenum pname + GLint *params + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + pname + + Specifies the object parameter. Accepted + symbolic names are + GL_DELETE_STATUS, + GL_LINK_STATUS, + GL_VALIDATE_STATUS, + GL_INFO_LOG_LENGTH, + GL_ATTACHED_SHADERS, + GL_ACTIVE_ATTRIBUTES, + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, + GL_ACTIVE_UNIFORMS, + GL_ACTIVE_UNIFORM_MAX_LENGTH. + + + + params + + Returns the requested object parameter. + + + + + Description + glGetProgram + returns in params + the value of a parameter for a specific program object. The following parameters are defined: + + + + GL_DELETE_STATUS + + + + params returns + GL_TRUE if + program is currently flagged + for deletion, and GL_FALSE + otherwise. + + + + + GL_LINK_STATUS + + + + params returns + GL_TRUE if the last link + operation on program was + successful, and GL_FALSE + otherwise. + + + + + GL_VALIDATE_STATUS + + + + params returns + GL_TRUE or if the last + validation operation on + program was successful, and + GL_FALSE + otherwise. + + + + + GL_INFO_LOG_LENGTH + + + + params returns the + number of characters in the information log for + program including the null + termination character (i.e., the size of the + character buffer required to store the information + log). If program has no + information log, a value of 0 is + returned. + + + + + GL_ATTACHED_SHADERS + + + + params returns the + number of shader objects attached to + program. + + + + + GL_ACTIVE_ATTRIBUTES + + + + params returns the + number of active attribute variables for + program. + + + + + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH + + + + params returns the + length of the longest active attribute name for + program, including the null + termination character (i.e., the size of the + character buffer required to store the longest + attribute name). If no active attributes exist, 0 is + returned. + + + + + GL_ACTIVE_UNIFORMS + + + + params returns the + number of active uniform variables for + program. + + + + + GL_ACTIVE_UNIFORM_MAX_LENGTH + + + + params returns the + length of the longest active uniform variable name + for program, including the + null termination character (i.e., the size of the + character buffer required to store the longest + uniform variable name). If no active uniform + variables exist, 0 is returned. + + + + + Notes + glGetProgram is available only if the + GL version is 2.0 or greater. + + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE + is generated if program + is not a value generated by OpenGL. + + GL_INVALID_OPERATION + is generated if program + does not refer to a program object. + + GL_INVALID_ENUM + is generated if pname + is not an accepted value. + + GL_INVALID_OPERATION is generated if + glGetProgram is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetActiveAttrib + with argument program + + glGetActiveUniform + with argument program + + glGetAttachedShaders + with argument program + + glGetProgramInfoLog + with argument program + + glIsProgram + + + See Also + glAttachShader, + glCreateProgram, + glDeleteProgram, + glGetShader, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetProgramInfoLog.xml b/Source/Bind/Specifications/Docs/GL2/glGetProgramInfoLog.xml new file mode 100644 index 00000000..dca2ec68 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetProgramInfoLog.xml @@ -0,0 +1,135 @@ + + + + + glGetProgramInfoLog + 3G + + + glGetProgramInfoLog + Returns the information log for a program object + + C Specification + + + void glGetProgramInfoLog + GLuint program + GLsizei maxLength + GLsizei *length + GLchar *infoLog + + + + Parameters + + + program + + Specifies the program object whose information + log is to be queried. + + + + maxLength + + Specifies the size of the character buffer for + storing the returned information log. + + + + length + + Returns the length of the string returned in + infoLog (excluding the null + terminator). + + + + infoLog + + Specifies an array of characters that is used + to return the information log. + + + + + Description + glGetProgramInfoLog returns the + information log for the specified program object. The + information log for a program object is modified when the + program object is linked or validated. The string that is + returned will be null terminated. + + glGetProgramInfoLog returns in + infoLog as much of the information log as + it can, up to a maximum of maxLength + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned information + log can be obtained by calling + glGetProgram + with the value GL_INFO_LOG_LENGTH. + + The information log for a program object is either an + empty string, or a string containing information about the last + link operation, or a string containing information about the + last validation operation. It may contain diagnostic messages, + warning messages, and other information. When a program object + is created, its information log will be a string of length + 0. + + Notes + glGetProgramInfoLog is available only + if the GL version is 2.0 or greater. + + The information log for a program object is the OpenGL + implementer's primary mechanism for conveying information about + linking and validating. Therefore, the information log can be + helpful to application developers during the development + process, even when these operations are successful. Application + developers should not expect different OpenGL implementations to + produce identical information logs. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_VALUE is generated if + maxLength is less than 0. + + GL_INVALID_OPERATION is generated if + glGetProgramInfoLog is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetProgram + with argument GL_INFO_LOG_LENGTH + + glIsProgram + + See Also + glCompileShader, + glGetShaderInfoLog, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetQueryObject.xml b/Source/Bind/Specifications/Docs/GL2/glGetQueryObject.xml new file mode 100644 index 00000000..49a54b41 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetQueryObject.xml @@ -0,0 +1,148 @@ + + + + + + + 2005 + Sams Publishing + + + glGetQueryObject + 3G + + + glGetQueryObject + return parameters of a query object + + C Specification + + + void glGetQueryObjectiv + GLuint id + GLenum pname + GLint * params + + + + + void glGetQueryObjectuiv + GLuint id + GLenum pname + GLuint * params + + + + Parameters + + + id + + + Specifies the name of a query object. + + + + + pname + + + Specifies the symbolic name of a query object parameter. + Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. + + + + + params + + + Returns the requested data. + + + + + + Description + + glGetQueryObject returns in params a selected parameter of the query object + specified by id. + + + pname names a specific query object parameter. pname can be as follows: + + + + GL_QUERY_RESULT + + + params returns the value of the query object's passed samples counter. + The initial value is 0. + + + + + GL_QUERY_RESULT_AVAILABLE + + + params returns whether the passed samples counter is immediately available. + If a delay would occur waiting for the query result, GL_FALSE is returned. + Otherwise, GL_TRUE is returned, which also indicates that the results of all + previous queries are available as well. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + glGetQueryObject implicitly flushes the GL pipeline so that any incomplete rendering + delimited by the occlusion query completes in finite time. + + + If multiple queries are issued using the same query object id before calling + glGetQueryObject, the results of the most recent query will be returned. In this case, + when issuing a new query, the results of the previous query are discarded. + + + glGetQueryObject is available only if the GL version is 1.5 or greater. + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_OPERATION is generated if id is not the name of a query object. + + + GL_INVALID_OPERATION is generated if id is the name of a currently active + query object. + + + GL_INVALID_OPERATION is generated if glGetQueryObject + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + See Also + + glBeginQuery, + glEndQuery, + glGetQueryiv, + glIsQuery + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetQueryiv.xml b/Source/Bind/Specifications/Docs/GL2/glGetQueryiv.xml new file mode 100644 index 00000000..ad492a30 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetQueryiv.xml @@ -0,0 +1,124 @@ + + + + + + + 2005 + Sams Publishing + + + glGetQueryiv + 3G + + + glGetQueryiv + return parameters of a query object target + + C Specification + + + void glGetQueryiv + GLenum target + GLenum pname + GLint * params + + + + Parameters + + + target + + + Specifies a query object target. + Must be GL_SAMPLES_PASSED. + + + + + pname + + + Specifies the symbolic name of a query object target parameter. + Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS. + + + + + params + + + Returns the requested data. + + + + + + Description + + glGetQueryiv returns in params a selected parameter of the query object target + specified by target. + + + pname names a specific query object target parameter. When target is + GL_SAMPLES_PASSED, pname can be as follows: + + + + GL_CURRENT_QUERY + + + params returns the name of the currently active occlusion query object. + If no occlusion query is active, 0 is returned. The initial value is 0. + + + + + GL_QUERY_COUNTER_BITS + + + params returns the number of bits in the query counter used to accumulate passing samples. + If the number of bits returned is 0, the implementation does not support a query counter, and the results + obtained from glGetQueryObject are useless. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + glGetQueryiv is available only if the GL version is 1.5 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + GL_INVALID_OPERATION is generated if glGetQueryiv + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + See Also + + glGetQueryObject, + glIsQuery + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glGetSeparableFilter.xml b/Source/Bind/Specifications/Docs/GL2/glGetSeparableFilter.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetSeparableFilter.xml rename to Source/Bind/Specifications/Docs/GL2/glGetSeparableFilter.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glGetShader.xml b/Source/Bind/Specifications/Docs/GL2/glGetShader.xml new file mode 100644 index 00000000..daf5916e --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetShader.xml @@ -0,0 +1,172 @@ + + + + + glGetShader + 3G + + + glGetShaderiv + Returns a parameter from a shader object + + C Specification + + + void glGetShaderiv + GLuint shader + GLenum pname + GLint *params + + + + Parameters + + + shader + + Specifies the shader object to be + queried. + + + + pname + + Specifies the object parameter. Accepted + symbolic names are + GL_SHADER_TYPE, + GL_DELETE_STATUS, + GL_COMPILE_STATUS, + GL_INFO_LOG_LENGTH, + GL_SHADER_SOURCE_LENGTH. + + + + params + + Returns the requested object parameter. + + + + + Description + + glGetShader + returns in params + the value of a parameter for a specific shader object. The + following parameters are defined: + + + + GL_SHADER_TYPE + + params returns + GL_VERTEX_SHADER if + shader is a vertex shader + object, and GL_FRAGMENT_SHADER + if shader is a fragment + shader object. + + + + + GL_DELETE_STATUS + + params returns + GL_TRUE if + shader is currently flagged + for deletion, and GL_FALSE + otherwise. + + + + + GL_COMPILE_STATUS + + params returns + GL_TRUE if the last compile + operation on shader was + successful, and GL_FALSE + otherwise. + + + + + GL_INFO_LOG_LENGTH + + params returns the + number of characters in the information log for + shader including the null + termination character (i.e., the size of the + character buffer required to store the information + log). If shader has no + information log, a value of 0 is returned. + + + + + GL_SHADER_SOURCE_LENGTH + + params returns the + length of the concatenation of the source strings + that make up the shader source for the + shader, including the null + termination character. (i.e., the size of the + character buffer required to store the shader + source). If no source code exists, 0 is + returned. + + + + + Notes + glGetShader is available only if the + GL version is 2.0 or greater. + + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader does not refer to a shader + object. + + GL_INVALID_ENUM is generated if + pname is not an accepted value. + + GL_INVALID_OPERATION is generated if + glGetShader is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetShaderInfoLog + with argument shader + + glGetShaderSource + with argument shader + + glIsShader + + See Also + glCompileShader, + glCreateShader, + glDeleteShader, + glGetProgram, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetShaderInfoLog.xml b/Source/Bind/Specifications/Docs/GL2/glGetShaderInfoLog.xml new file mode 100644 index 00000000..ed10964e --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetShaderInfoLog.xml @@ -0,0 +1,132 @@ + + + + + glGetShaderInfoLog + 3G + + + glGetShaderInfoLog + Returns the information log for a shader object + + C Specification + + + void glGetShaderInfoLog + GLuint shader + GLsizei maxLength + GLsizei *length + GLchar *infoLog + + + + Parameters + + + shader + + Specifies the shader object whose information + log is to be queried. + + + + maxLength + + Specifies the size of the character buffer for + storing the returned information log. + + + + length + + Returns the length of the string returned in + infoLog (excluding the null + terminator). + + + + infoLog + + Specifies an array of characters that is used + to return the information log. + + + + + Description + glGetShaderInfoLog returns the + information log for the specified shader object. The information + log for a shader object is modified when the shader is compiled. + The string that is returned will be null terminated. + + glGetShaderInfoLog returns in + infoLog as much of the information log as + it can, up to a maximum of maxLength + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned information + log can be obtained by calling + glGetShader + with the value GL_INFO_LOG_LENGTH. + + The information log for a shader object is a string that + may contain diagnostic messages, warning messages, and other + information about the last compile operation. When a shader + object is created, its information log will be a string of + length 0. + + Notes + glGetShaderInfoLog is available only + if the GL version is 2.0 or greater. + + The information log for a shader object is the OpenGL + implementer's primary mechanism for conveying information about + the compilation process. Therefore, the information log can be + helpful to application developers during the development + process, even when compilation is successful. Application + developers should not expect different OpenGL implementations to + produce identical information logs. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + maxLength is less than 0. + + GL_INVALID_OPERATION is generated if + glGetShaderInfoLog is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetShader + with argument GL_INFO_LOG_LENGTH + + glIsShader + + See Also + glCompileShader, + glGetProgramInfoLog, + glLinkProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetShaderSource.xml b/Source/Bind/Specifications/Docs/GL2/glGetShaderSource.xml new file mode 100644 index 00000000..2e5230c5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetShaderSource.xml @@ -0,0 +1,121 @@ + + + + + glGetShaderSource + 3G + + + glGetShaderSource + Returns the source code string from a shader object + + C Specification + + + void glGetShaderSource + GLuint shader + GLsizei bufSize + GLsizei *length + GLchar *source + + + + Parameters + + + shader + + Specifies the shader object to be + queried. + + + + bufSize + + Specifies the size of the character buffer for + storing the returned source code string. + + + + length + + Returns the length of the string returned in + source (excluding the null + terminator). + + + + source + + Specifies an array of characters that is used + to return the source code string. + + + + + Description + glGetShaderSource returns the + concatenation of the source code strings from the shader object + specified by shader. The source code + strings for a shader object are the result of a previous call to + glShaderSource. + The string returned by the function will be null + terminated. + + glGetShaderSource returns in + source as much of the source code string + as it can, up to a maximum of bufSize + characters. The number of characters actually returned, + excluding the null termination character, is specified by + length. If the length of the returned + string is not required, a value of NULL can + be passed in the length argument. The + size of the buffer required to store the returned source code + string can be obtained by calling + glGetShader + with the value + GL_SHADER_SOURCE_LENGTH. + + Notes + glGetShaderSource is available only + if the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + bufSize is less than 0. + + GL_INVALID_OPERATION is generated if + glGetShaderSource is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetShader + with argument + GL_SHADER_SOURCE_LENGTH + + glIsShader + + See Also + glCreateShader, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetString.xml b/Source/Bind/Specifications/Docs/GL2/glGetString.xml new file mode 100644 index 00000000..e431d7a3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetString.xml @@ -0,0 +1,169 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetString + 3G + + + glGetString + return a string describing the current GL connection + + C Specification + + + const GLubyte* glGetString + GLenum name + + + + Parameters + + + name + + + Specifies a symbolic constant, one of + GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. + + + + + + Description + + glGetString returns a pointer to a static string + describing some aspect of the current GL connection. + name can be one of the following: + + + + GL_VENDOR + + + + + Returns the company responsible for this GL implementation. + This name does not change from release to release. + + + + + GL_RENDERER + + + + + Returns the name of the renderer. + This name is typically specific to a particular configuration of a hardware + platform. + It does not change from release to release. + + + + + GL_VERSION + + + + + Returns a version or release number. + + + + + GL_SHADING_LANGUAGE_VERSION + + + + + Returns a version or release number for the shading language. + + + + + GL_EXTENSIONS + + + + + Returns a space-separated list of supported extensions to GL. + + + + + + Because the GL does not include queries for the performance + characteristics of an implementation, some applications are written to + recognize known platforms and modify their GL usage based on known + performance characteristics of these platforms. + Strings GL_VENDOR and GL_RENDERER together uniquely specify + a platform. They do not change from release to release and should be used + by platform-recognition algorithms. + + + Some applications want to make use of features that + are not part of the standard GL. These features + may be implemented as extensions to the standard GL. + The GL_EXTENSIONS string is a space-separated + list of supported GL extensions. + (Extension names never contain a space character.) + + + The GL_VERSION and GL_SHADING_LANGUAGE_VERSION strings begin with a version number. + The version number uses one + of these forms: + + + major_number.minor_number + major_number.minor_number.release_number + + + Vendor-specific information may follow the version + number. Its format depends on the implementation, but + a space always separates the version number and + the vendor-specific information. + + + All strings are null-terminated. + + + Notes + + If an error is generated, glGetString returns 0. + + + The client and server may support different versions or extensions. + glGetString always returns a compatible version number or list of extensions. + The release number always describes the server. + + + GL_SHADING_LANGUAGE_VERSION is available only if the GL version is 2.0 or greater. + + + Errors + + GL_INVALID_ENUM is generated if name is not an accepted value. + + + GL_INVALID_OPERATION is generated if glGetString + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glGetTexEnv.xml b/Source/Bind/Specifications/Docs/GL2/glGetTexEnv.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetTexEnv.xml rename to Source/Bind/Specifications/Docs/GL2/glGetTexEnv.xml diff --git a/Source/Bind/Specifications/Docs/glGetTexGen.xml b/Source/Bind/Specifications/Docs/GL2/glGetTexGen.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glGetTexGen.xml rename to Source/Bind/Specifications/Docs/GL2/glGetTexGen.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glGetTexImage.xml b/Source/Bind/Specifications/Docs/GL2/glGetTexImage.xml new file mode 100644 index 00000000..72accf56 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetTexImage.xml @@ -0,0 +1,326 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetTexImage + 3G + + + glGetTexImage + return a texture image + + C Specification + + + void glGetTexImage + GLenum target + GLint level + GLenum format + GLenum type + GLvoid * img + + + + + Parameters + + + target + + + Specifies which texture is to be obtained. + GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z + are accepted. + + + + + level + + + Specifies the level-of-detail number of the desired image. + Level 0 is the base image level. + Level + n + is the + nth + mipmap reduction image. + + + + + format + + + Specifies a pixel format for the returned data. + The supported formats are + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies a pixel type for the returned data. + The supported types are + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_FLOAT, + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV. + + + + + img + + + Returns the texture image. + Should be a pointer to an array of the type specified by type. + + + + + + Description + + glGetTexImage returns a texture image into img. + target specifies whether the desired texture image is one specified by + glTexImage1D (GL_TEXTURE_1D), + glTexImage2D (GL_TEXTURE_2D or any of + GL_TEXTURE_CUBE_MAP_*), + or + glTexImage3D (GL_TEXTURE_3D). + level specifies the level-of-detail number of the desired image. + format and type specify the format and type of the desired image array. + See the reference pages glTexImage1D and glDrawPixels + for a description of the acceptable values for the format and type + parameters, respectively. + + + If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target + (see glBindBuffer) while a texture image is + requested, img is treated as a byte offset into the buffer object's data store. + + + To understand the operation of glGetTexImage, consider the selected internal + four-component texture image to be an RGBA color buffer the size of the image. + The semantics of glGetTexImage are then identical to those of glReadPixels, + with the exception that no pixel transfer operations are performed, + when called with the same format and type, + with x and y set to 0, + width set to the width of the texture image + (including border if one was specified), + and height set to 1 for 1D images, + or to the height of the texture image + (including border if one was specified) + for 2D images. + Because the internal texture image is an RGBA image, + pixel formats GL_COLOR_INDEX, + GL_STENCIL_INDEX, + and GL_DEPTH_COMPONENT are not accepted, + and pixel type GL_BITMAP is not accepted. + + + If the selected texture image does not contain four components, + the following mappings are applied. + Single-component textures are treated as RGBA buffers with red set + to the single-component value, + green set to 0, blue set to 0, and alpha set to 1. + Two-component textures are treated as RGBA buffers with red set to + the value of component zero, + alpha set to the value of component one, + and green and blue set to 0. + Finally, + three-component textures are treated as RGBA buffers with red set to + component zero, + green set to component one, + blue set to component two, + and alpha set to 1. + + + To determine the required size of img, + use glGetTexLevelParameter to determine the dimensions of the + internal texture image, + then scale the required number of pixels by the storage required for + each pixel, + based on format and type. + Be sure to take the pixel storage parameters into account, + especially GL_PACK_ALIGNMENT. + + + Notes + + If an error is generated, + no change is made to the contents of img. + + + The types GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, + GL_UNSIGNED_INT_2_10_10_10_REV, + and the formats + GL_BGR, and GL_BGRA are available only if the GL version is + 1.2 or greater. + + + For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glGetTexImage returns + the texture image for the active texture unit. + + + Errors + + GL_INVALID_ENUM is generated if target, format, or type is not + an accepted value. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + + log + 2 + + + + max + + + , + where + max + is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_OPERATION is returned if type is one of + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, or + GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. + + + GL_INVALID_OPERATION is returned if type is one of + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV, and format is neither GL_RGBA + or GL_BGRA. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer + object such that the memory writes required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and img is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + GL_INVALID_OPERATION is generated if glGetTexImage + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGetTexLevelParameter with argument GL_TEXTURE_WIDTH + + + glGetTexLevelParameter with argument GL_TEXTURE_HEIGHT + + + glGetTexLevelParameter with argument GL_TEXTURE_BORDER + + + glGetTexLevelParameter with argument GL_TEXTURE_INTERNAL_FORMAT + + + glGet with arguments GL_PACK_ALIGNMENT and others + + + glGet with argument GL_PIXEL_PACK_BUFFER_BINDING + + + See Also + + glActiveTexture, + glDrawPixels, + glReadPixels, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetTexLevelParameter.xml b/Source/Bind/Specifications/Docs/GL2/glGetTexLevelParameter.xml new file mode 100644 index 00000000..ec5a06bb --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetTexLevelParameter.xml @@ -0,0 +1,372 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetTexLevelParameter + 3G + + + glGetTexLevelParameter + return texture parameter values for a specific level of detail + + C Specification + + + void glGetTexLevelParameterfv + GLenum target + GLint level + GLenum pname + GLfloat * params + + + + + void glGetTexLevelParameteriv + GLenum target + GLint level + GLenum pname + GLint * params + + + + + Parameters + + + target + + + Specifies the symbolic name of the target texture, + either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, + GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, + GL_PROXY_TEXTURE_3D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or + GL_PROXY_TEXTURE_CUBE_MAP. + + + + + level + + + Specifies the level-of-detail number of the desired image. + Level 0 is the base image level. + Level + n + is the + nth + mipmap reduction image. + + + + + pname + + + Specifies the symbolic name of a texture parameter. + GL_TEXTURE_WIDTH, + GL_TEXTURE_HEIGHT, + GL_TEXTURE_DEPTH, + GL_TEXTURE_INTERNAL_FORMAT, + GL_TEXTURE_BORDER, + GL_TEXTURE_RED_SIZE, + GL_TEXTURE_GREEN_SIZE, + GL_TEXTURE_BLUE_SIZE, + GL_TEXTURE_ALPHA_SIZE, + GL_TEXTURE_LUMINANCE_SIZE, + GL_TEXTURE_INTENSITY_SIZE, + GL_TEXTURE_DEPTH_SIZE, + GL_TEXTURE_COMPRESSED, and + GL_TEXTURE_COMPRESSED_IMAGE_SIZE + are accepted. + + + + + params + + + Returns the requested data. + + + + + + Description + + glGetTexLevelParameter returns in params texture parameter values for a specific + level-of-detail value, + specified as level. + target defines the target texture, + either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, + GL_PROXY_TEXTURE_1D, + GL_PROXY_TEXTURE_2D, + GL_PROXY_TEXTURE_3D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or + GL_PROXY_TEXTURE_CUBE_MAP. + + + GL_MAX_TEXTURE_SIZE, and GL_MAX_3D_TEXTURE_SIZE are not really + descriptive enough. + It has to report the largest square texture image that can be + accommodated with mipmaps and borders, + but a long skinny texture, or a texture without mipmaps and borders, may + easily fit in texture memory. + The proxy targets allow the user to more accurately query + whether the GL can accommodate a texture of a given configuration. + If the texture cannot be accommodated, the texture state variables, which + may be queried with glGetTexLevelParameter, are set to 0. If the texture can be accommodated, + the texture state values will be set as they would be set for a + non-proxy target. + + + pname specifies the texture parameter whose value or values + will be returned. + + + The accepted parameter names are as follows: + + + + GL_TEXTURE_WIDTH + + + + + params returns a single value, + the width of the texture image. + This value includes the border of the texture image. The initial value is + 0. + + + + + GL_TEXTURE_HEIGHT + + + + + params returns a single value, + the height of the texture image. + This value includes the border of the texture image. The initial value is + 0. + + + + + GL_TEXTURE_DEPTH + + + + + params returns a single value, + the depth of the texture image. + This value includes the border of the texture image. The initial value is + 0. + + + + + GL_TEXTURE_INTERNAL_FORMAT + + + + + params returns a single value, + the internal format of the texture image. + + + + + GL_TEXTURE_BORDER + + + + + params returns a single value, + the width in pixels of the border of the texture image. The initial value + is 0. + + + + + GL_TEXTURE_RED_SIZE, + + + + + GL_TEXTURE_GREEN_SIZE, + + + + + GL_TEXTURE_BLUE_SIZE, + + + + + GL_TEXTURE_ALPHA_SIZE, + + + + + GL_TEXTURE_LUMINANCE_SIZE, + + + + + GL_TEXTURE_INTENSITY_SIZE, + + + + + GL_TEXTURE_DEPTH_SIZE + + + + + The internal storage resolution of an individual component. + The resolution chosen by the GL will be a close match for the resolution + requested by the user with the component argument of glTexImage1D, + glTexImage2D, glTexImage3D, glCopyTexImage1D, and + glCopyTexImage2D. The initial value is 0. + + + + + GL_TEXTURE_COMPRESSED + + + + + params returns a single boolean value indicating if the texture image is + stored in a compressed internal format. The initiali value is GL_FALSE. + + + + + GL_TEXTURE_COMPRESSED_IMAGE_SIZE + + + + + params returns a single integer value, the number of unsigned bytes of the + compressed texture image that would be returned from + glGetCompressedTexImage. + + + + + + Notes + + If an error is generated, + no change is made to the contents of params. + + + GL_TEXTURE_INTERNAL_FORMAT is available only if the GL version is + 1.1 or greater. In version 1.0, use GL_TEXTURE_COMPONENTS + instead. + + + GL_PROXY_TEXTURE_1D and GL_PROXY_TEXTURE_2D are + available only if the GL version is 1.1 or greater. + + + GL_TEXTURE_3D, GL_PROXY_TEXTURE_3D, and GL_TEXTURE_DEPTH + are available only if the GL version is 1.2 or greater. + + + GL_TEXTURE_COMPRESSED, + GL_TEXTURE_COMPRESSED_IMAGE_SIZE, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, and + GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 + or greater. + + + For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glGetTexLevelParameter returns + the texture level parameters for the active texture unit. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_OPERATION is generated if glGetTexLevelParameter + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + GL_INVALID_OPERATION is generated if + GL_TEXTURE_COMPRESSED_IMAGE_SIZE is queried on texture images with an + uncompressed internal format or on proxy targets. + + + See Also + + glActiveTexture, + glGetTexParameter, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetTexParameter.xml b/Source/Bind/Specifications/Docs/GL2/glGetTexParameter.xml new file mode 100644 index 00000000..1d986c75 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetTexParameter.xml @@ -0,0 +1,320 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glGetTexParameter + 3G + + + glGetTexParameter + return texture parameter values + + C Specification + + + void glGetTexParameterfv + GLenum target + GLenum pname + GLfloat * params + + + + + void glGetTexParameteriv + GLenum target + GLenum pname + GLint * params + + + + + Parameters + + + target + + + Specifies the symbolic name of the target texture. + GL_TEXTURE_1D, + GL_TEXTURE_2D, + GL_TEXTURE_3D, and + GL_TEXTURE_CUBE_MAP + are accepted. + + + + + pname + + + Specifies the symbolic name of a texture parameter. + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_BASE_LEVEL, + GL_TEXTURE_MAX_LEVEL, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, + GL_TEXTURE_WRAP_R, + GL_TEXTURE_BORDER_COLOR, + GL_TEXTURE_PRIORITY, + GL_TEXTURE_RESIDENT, + GL_TEXTURE_COMPARE_MODE, + GL_TEXTURE_COMPARE_FUNC, + GL_DEPTH_TEXTURE_MODE, and + GL_GENERATE_MIPMAP + are accepted. + + + + + params + + + Returns the texture parameters. + + + + + + Description + + glGetTexParameter returns in params the value or values of the texture parameter + specified as pname. + target defines the target texture, + either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP, + to specify one-, two-, or three-dimensional or cube-mapped texturing. + pname accepts the same symbols as glTexParameter, + with the same interpretations: + + + + GL_TEXTURE_MAG_FILTER + + + Returns the single-valued texture magnification filter, + a symbolic constant. The initial value is GL_LINEAR. + + + + + GL_TEXTURE_MIN_FILTER + + + Returns the single-valued texture minification filter, + a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MIN_LOD + + + Returns the single-valued texture minimum level-of-detail value. The + initial value is + + + -1000 + . + + + + + GL_TEXTURE_MAX_LOD + + + Returns the single-valued texture maximum level-of-detail value. The + initial value is 1000. + + + + + GL_TEXTURE_BASE_LEVEL + + + Returns the single-valued base texture mipmap level. The initial value is 0. + + + + + GL_TEXTURE_MAX_LEVEL + + + Returns the single-valued maximum texture mipmap array level. The initial + value is 1000. + + + + + GL_TEXTURE_WRAP_S + + + Returns the single-valued wrapping function for texture coordinate + s, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_T + + + Returns the single-valued wrapping function for texture coordinate + t, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_WRAP_R + + + Returns the single-valued wrapping function for texture coordinate + r, + a symbolic constant. The initial value is GL_REPEAT. + + + + + GL_TEXTURE_BORDER_COLOR + + + Returns four integer or floating-point numbers that comprise the RGBA color + of the texture border. + Floating-point values are returned in the range + + + + 0 + 1 + + . + Integer values are returned as a linear mapping of the internal floating-point + representation such that 1.0 maps to the most positive representable + integer and + + + -1.0 + + maps to the most negative representable + integer. The initial value is (0, 0, 0, 0). + + + + + GL_TEXTURE_PRIORITY + + + Returns the residence priority of the target texture (or the named + texture bound to it). The initial value is 1. + See glPrioritizeTextures. + + + + + GL_TEXTURE_RESIDENT + + + Returns the residence status of the target texture. + If the value returned in params is GL_TRUE, the texture is + resident in texture memory. + See glAreTexturesResident. + + + + + GL_TEXTURE_COMPARE_MODE + + + Returns a single-valued texture comparison mode, a symbolic constant. The + initial value is GL_NONE. See glTexParameter. + + + + + GL_TEXTURE_COMPARE_FUNC + + + Returns a single-valued texture comparison function, a symbolic constant. The + initial value is GL_LEQUAL. See glTexParameter. + + + + + GL_DEPTH_TEXTURE_MODE + + + Returns a single-valued texture format indicating how the depth values + should be converted into color components. The initial value is + GL_LUMINANCE. See glTexParameter. + + + + + GL_GENERATE_MIPMAP + + + Returns a single boolean value indicating if automatic mipmap level updates + are enabled. + See glTexParameter. + + + + + + Notes + + GL_TEXTURE_PRIORITY and GL_TEXTURE_RESIDENT are + available only if the GL version is 1.1 or greater. + + + GL_TEXTURE_3D, + GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, + GL_TEXTURE_MAX_LEVEL, and GL_TEXTURE_WRAP_R are available only + if the GL version is 1.2 or greater. + + + GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, and + GL_GENERATE_MIPMAP is available only if the GL version is 1.4 or + greater. + + + If an error is generated, + no change is made to the contents of params. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not an + accepted value. + + + GL_INVALID_OPERATION is generated if glGetTexParameter + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + See Also + + glAreTexturesResident, + glPrioritizeTextures, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetUniform.xml b/Source/Bind/Specifications/Docs/GL2/glGetUniform.xml new file mode 100644 index 00000000..762b51c8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetUniform.xml @@ -0,0 +1,145 @@ + + + + + glGetUniform + 3G + + + glGetUniform + glGetUniformfv + glGetUniformiv + Returns the value of a uniform variable + + C Specification + + + void glGetUniformfv + GLuint program + GLint location + GLfloat *params + + + void glGetUniformiv + GLuint program + GLint location + GLint *params + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + location + + Specifies the location of the uniform variable + to be queried. + + + + params + + Returns the value of the specified uniform + variable. + + + + + Description + glGetUniform returns in + params the value(s) of the specified + uniform variable. The type of the uniform variable specified by + location determines the number of values + returned. If the uniform variable is defined in the shader as a + boolean, int, or float, a single value will be returned. If it + is defined as a vec2, ivec2, or bvec2, two values will be + returned. If it is defined as a vec3, ivec3, or bvec3, three + values will be returned, and so on. To query values stored in + uniform variables declared as arrays, call + glGetUniform for each element of the array. + To query values stored in uniform variables declared as + structures, call glGetUniform for each + field in the structure. The values for uniform variables + declared as a matrix will be returned in column major + order. + + The locations assigned to uniform variables are not known + until the program object is linked. After linking has occurred, + the command + glGetUniformLocation + can be used to obtain the location of a uniform variable. This + location value can then be passed to + glGetUniform in order to query the current + value of the uniform variable. After a program object has been + linked successfully, the index values for uniform variables + remain fixed until the next link command occurs. The uniform + variable values can only be queried after a link if the link was + successful. + + Notes + glGetUniform is available only if the + GL version is 2.0 or greater. + + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + GL_INVALID_OPERATION is generated if + location does not correspond to a valid + uniform variable location for the specified program object. + + GL_INVALID_OPERATION is generated if + glGetUniform is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetActiveUniform + with arguments program and the index of an active + uniform variable + + glGetProgram + with arguments program and + GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH + + glGetUniformLocation + with arguments program and the name of a + uniform variable + glIsProgram + + See Also + glCreateProgram, + glLinkProgram, + glUniform + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetUniformLocation.xml b/Source/Bind/Specifications/Docs/GL2/glGetUniformLocation.xml new file mode 100644 index 00000000..d1fd0d17 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetUniformLocation.xml @@ -0,0 +1,133 @@ + + + + + glGetUniformLocation + 3G + + + glGetUniformLocation + Returns the location of a uniform variable + + C Specification + + + GLint glGetUniformLocation + GLuint program + const GLchar *name + + + + Parameters + + + program + + Specifies the program object to be + queried. + + + + name + + Points to a null terminated string containing + the name of the uniform variable whose location is + to be queried. + + + + + Description + glGetUniformLocation returns an + integer that represents the location of a specific uniform + variable within a program object. name + must be a null terminated string that contains no white space. + name must be an active uniform variable + name in program that is not a structure, + an array of structures, or a subcomponent of a vector or a + matrix. This function returns -1 if name + does not correspond to an active uniform variable in + program or if name + starts with the reserved prefix "gl_". + + Uniform variables that are structures or arrays of + structures may be queried by calling + glGetUniformLocation for each field within + the structure. The array element operator "[]" and the + structure field operator "." may be used in + name in order to select elements within + an array or fields within a structure. The result of using these + operators is not allowed to be another structure, an array of + structures, or a subcomponent of a vector or a matrix. Except if + the last part of name indicates a uniform + variable array, the location of the first element of an array + can be retrieved by using the name of the array, or by using the + name appended by "[0]". + + The actual locations assigned to uniform variables are not + known until the program object is linked successfully. After + linking has occurred, the command + glGetUniformLocation can be used to obtain + the location of a uniform variable. This location value can then + be passed to + glUniform + to set the value of the uniform variable or to + glGetUniform + in order to query the current value of the uniform variable. + After a program object has been linked successfully, the index + values for uniform variables remain fixed until the next link + command occurs. Uniform variable locations and values can only + be queried after a link if the link was successful. + + Notes + glGetUniformLocation is available + only if the GL version is 2.0 or greater. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program has not been successfully + linked. + + GL_INVALID_OPERATION is generated if + glGetUniformLocation is executed between + the execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetActiveUniform + with arguments program and the index of + an active uniform variable + + glGetProgram + with arguments program and + GL_ACTIVE_UNIFORMS or + GL_ACTIVE_UNIFORM_MAX_LENGTH + + glGetUniform + with arguments program and the name of a + uniform variable + glIsProgram + + See Also + glLinkProgram, + glUniform + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetVertexAttrib.xml b/Source/Bind/Specifications/Docs/GL2/glGetVertexAttrib.xml new file mode 100644 index 00000000..bc28164c --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetVertexAttrib.xml @@ -0,0 +1,234 @@ + + + + + glGetVertexAttrib + 3G + + + glGetVertexAttrib + glGetVertexAttribdv + glGetVertexAttribfv + glGetVertexAttribiv + Return a generic vertex attribute parameter + + C Specification + + + void glGetVertexAttribdv + GLuint index + GLenum pname + GLdouble *params + + + void glGetVertexAttribfv + GLuint index + GLenum pname + GLfloat *params + + + void glGetVertexAttribiv + GLuint index + GLenum pname + GLint *params + + + + Parameters + + + index + + Specifies the generic vertex attribute + parameter to be queried. + + + + pname + + Specifies the symbolic name of the vertex + attribute parameter to be queried. Accepted values are + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, + GL_VERTEX_ATTRIB_ARRAY_ENABLED, + GL_VERTEX_ATTRIB_ARRAY_SIZE, + GL_VERTEX_ATTRIB_ARRAY_STRIDE, + GL_VERTEX_ATTRIB_ARRAY_TYPE, + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or + GL_CURRENT_VERTEX_ATTRIB. + + + + params + + Returns the requested data. + + + + + Description + glGetVertexAttrib returns in + params the value of a generic vertex + attribute parameter. The generic vertex attribute to be queried + is specified by index, and the parameter + to be queried is specified by pname. + + The accepted parameter names are as follows: + + + + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + + + + params returns a + single value, the name of the buffer object currently bound to + the binding point corresponding to generic vertex attribute array + index. If no buffer object is bound, + 0 is returned. The initial value is 0. + + + + + GL_VERTEX_ATTRIB_ARRAY_ENABLED + + + + params returns a + single value that is non-zero (true) if the vertex + attribute array for index is + enabled and 0 (false) if it is disabled. The initial + value is GL_FALSE. + + + + + GL_VERTEX_ATTRIB_ARRAY_SIZE + + + + params returns a + single value, the size of the vertex attribute array + for index. The size is the + number of values for each element of the vertex + attribute array, and it will be 1, 2, 3, or 4. The + initial value is 4. + + + + + GL_VERTEX_ATTRIB_ARRAY_STRIDE + + + + params returns a + single value, the array stride for (number of bytes + between successive elements in) the vertex attribute + array for index. A value of 0 + indicates that the array elements are stored + sequentially in memory. The initial value is 0. + + + + + GL_VERTEX_ATTRIB_ARRAY_TYPE + + + + params returns a + single value, a symbolic constant indicating the + array type for the vertex attribute array for + index. Possible values are + GL_BYTE, + GL_UNSIGNED_BYTE, + GL_SHORT, + GL_UNSIGNED_SHORT, + GL_INT, + GL_UNSIGNED_INT, + GL_FLOAT, and + GL_DOUBLE. The initial value is + GL_FLOAT. + + + + + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED + + + + params returns a + single value that is non-zero (true) if fixed-point + data types for the vertex attribute array indicated + by index are normalized when + they are converted to floating point, and 0 (false) + otherwise. The initial value is + GL_FALSE. + + + + + GL_CURRENT_VERTEX_ATTRIB + + + + params returns four + values that represent the current value for the + generic vertex attribute specified by index. Generic + vertex attribute 0 is unique in that it has no + current state, so an error will be generated if + index is 0. The initial value + for all other generic vertex attributes is + (0,0,0,1). + + + + + All of the parameters except GL_CURRENT_VERTEX_ATTRIB + represent client-side state. + + + Notes + glGetVertexAttrib is available only + if the GL version is 2.0 or greater. + + If an error is generated, no change is made to the + contents of params. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_ENUM is generated if + pname is not an accepted value. + + GL_INVALID_OPERATION is generated if + index is 0 and + pname is + GL_CURRENT_VERTEX_ATTRIB. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + See Also + glBindAttribLocation, + glBindBuffer, + glDisableVertexAttribArray, + glEnableVertexAttribArray, + glVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glGetVertexAttribPointerv.xml b/Source/Bind/Specifications/Docs/GL2/glGetVertexAttribPointerv.xml new file mode 100644 index 00000000..0c351893 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glGetVertexAttribPointerv.xml @@ -0,0 +1,94 @@ + + + + + glGetVertexAttribPointerv + 3G + + + glGetVertexAttribPointerv + return the address of the specified generic vertex attribute pointer + + C Specification + + + void glGetVertexAttribPointerv + GLuint index + GLenum pname + GLvoid **pointer + + + + Parameters + + + index + + Specifies the generic vertex attribute + parameter to be returned. + + + + pname + + Specifies the symbolic name of the generic + vertex attribute parameter to be returned. Must be + GL_VERTEX_ATTRIB_ARRAY_POINTER. + + + + pointer + + Returns the pointer value. + + + + + Description + glGetVertexAttribPointerv returns + pointer information. index is the generic + vertex attribute to be queried, pname is + a symbolic constant indicating the pointer to be returned, and + params is a pointer to a location in + which to place the returned data. + + If a non-zero named buffer object was bound to the GL_ARRAY_BUFFER target + (see glBindBuffer) when the desired pointer was previously + specified, the pointer returned is a byte offset into the buffer object's data store. + + + Notes + glGetVertexAttribPointerv + is available only if the GL version is 2.0 or greater. + + The pointer returned is client-side state. + + The initial value for each pointer is 0. + + Errors + GL_INVALID_VALUE + is generated if index + is greater than or equal to GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_ENUM + is generated if pname + is not an accepted value. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + See Also + glGetVertexAttrib, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glHint.xml b/Source/Bind/Specifications/Docs/GL2/glHint.xml new file mode 100644 index 00000000..37049b55 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glHint.xml @@ -0,0 +1,254 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glHint + 3G + + + glHint + specify implementation-specific hints + + C Specification + + + void glHint + GLenum target + GLenum mode + + + + Parameters + + + target + + + Specifies a symbolic constant indicating the behavior to be controlled. + GL_FOG_HINT, + GL_GENERATE_MIPMAP_HINT, + GL_LINE_SMOOTH_HINT, + GL_PERSPECTIVE_CORRECTION_HINT, + GL_POINT_SMOOTH_HINT, + GL_POLYGON_SMOOTH_HINT, + GL_TEXTURE_COMPRESSION_HINT, and + GL_FRAGMENT_SHADER_DERIVATIVE_HINT + are accepted. + + + + + mode + + + Specifies a symbolic constant indicating the desired behavior. + GL_FASTEST, + GL_NICEST, and + GL_DONT_CARE are accepted. + + + + + + Description + + Certain aspects of GL behavior, + when there is room for interpretation, + can be controlled with hints. + A hint is specified with two arguments. + target is a symbolic + constant indicating the behavior to be controlled, + and mode is another symbolic constant indicating the desired + behavior. The initial value for each target is GL_DONT_CARE. + mode can be one of the following: + + + + GL_FASTEST + + + + + The most efficient option should be chosen. + + + + + GL_NICEST + + + + + The most correct, + or highest quality, + option should be chosen. + + + + + GL_DONT_CARE + + + + + No preference. + + + + + + Though the implementation aspects that can be hinted are well defined, + the interpretation of the hints depends on the implementation. + The hint aspects that can be specified with target, + along with suggested semantics, + are as follows: + + + + GL_FOG_HINT + + + + + Indicates the accuracy of fog calculation. + If per-pixel fog calculation is not efficiently supported + by the GL implementation, + hinting GL_DONT_CARE or GL_FASTEST can result in per-vertex + calculation of fog effects. + + + + + GL_FRAGMENT_SHADER_DERIVATIVE_HINT + + + + + Indicates the accuracy of the derivative calculation for the GL shading language fragment processing built-in functions: + dFdx, dFdy, and fwidth. + + + + + GL_GENERATE_MIPMAP_HINT + + + + + Indicates the quality of filtering when generating mipmap images. + + + + + GL_LINE_SMOOTH_HINT + + + + + Indicates the sampling quality of antialiased lines. + If a larger filter function is applied, hinting GL_NICEST can + result in more pixel fragments being generated during rasterization. + + + + + GL_PERSPECTIVE_CORRECTION_HINT + + + + + Indicates the quality of color, texture coordinate, and fog coordinate + interpolation. If perspective-corrected parameter interpolation is not + efficiently supported by the GL implementation, hinting GL_DONT_CARE + or GL_FASTEST can result in simple linear interpolation of colors + and/or texture coordinates. + + + + + GL_POINT_SMOOTH_HINT + + + + + Indicates the sampling quality of antialiased points. + If a larger filter function is applied, hinting GL_NICEST can + result in more pixel fragments being generated during rasterization. + + + + + GL_POLYGON_SMOOTH_HINT + + + + + Indicates the sampling quality of antialiased polygons. + Hinting GL_NICEST can result in more pixel fragments being generated + during rasterization, + if a larger filter function is applied. + + + + + GL_TEXTURE_COMPRESSION_HINT + + + + + Indicates the quality and performance of the compressing texture images. + Hinting GL_FASTEST indicates that texture images should be compressed + as quickly as possible, while GL_NICEST indicates that texture images + should be compressed with as little image quality loss as possible. + GL_NICEST should be selected if the texture is to be retrieved by + glGetCompressedTexImage for reuse. + + + + + + Notes + + The interpretation of hints depends on the implementation. + Some implementations ignore glHint settings. + + + GL_TEXTURE_COMPRESSION_HINT is available only if the GL version is 1.3 + or greater. + + + GL_GENERATE_MIPMAP_HINT is available only if the GL version is 1.4 + or greater. + + + GL_FRAGMENT_SHADER_DERIVATIVE_HINT is available only if the GL version is 2.0 + or greater. + + + Errors + + GL_INVALID_ENUM is generated if either target or mode is not + an accepted value. + + + GL_INVALID_OPERATION is generated if glHint + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glHistogram.xml b/Source/Bind/Specifications/Docs/GL2/glHistogram.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glHistogram.xml rename to Source/Bind/Specifications/Docs/GL2/glHistogram.xml diff --git a/Source/Bind/Specifications/Docs/glIndex.xml b/Source/Bind/Specifications/Docs/GL2/glIndex.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glIndex.xml rename to Source/Bind/Specifications/Docs/GL2/glIndex.xml diff --git a/Source/Bind/Specifications/Docs/glIndexMask.xml b/Source/Bind/Specifications/Docs/GL2/glIndexMask.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glIndexMask.xml rename to Source/Bind/Specifications/Docs/GL2/glIndexMask.xml diff --git a/Source/Bind/Specifications/Docs/glIndexPointer.xml b/Source/Bind/Specifications/Docs/GL2/glIndexPointer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glIndexPointer.xml rename to Source/Bind/Specifications/Docs/GL2/glIndexPointer.xml diff --git a/Source/Bind/Specifications/Docs/glInitNames.xml b/Source/Bind/Specifications/Docs/GL2/glInitNames.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glInitNames.xml rename to Source/Bind/Specifications/Docs/GL2/glInitNames.xml diff --git a/Source/Bind/Specifications/Docs/glInterleavedArrays.xml b/Source/Bind/Specifications/Docs/GL2/glInterleavedArrays.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glInterleavedArrays.xml rename to Source/Bind/Specifications/Docs/GL2/glInterleavedArrays.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glIsBuffer.xml b/Source/Bind/Specifications/Docs/GL2/glIsBuffer.xml new file mode 100644 index 00000000..8f489592 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glIsBuffer.xml @@ -0,0 +1,78 @@ + + + + + + + 2005 + Sams Publishing + + + glIsBuffer + 3G + + + glIsBuffer + determine if a name corresponds to a buffer object + + C Specification + + + GLboolean glIsBuffer + GLuint buffer + + + + Parameters + + + buffer + + + Specifies a value that may be the name of a buffer object. + + + + + + Description + + glIsBuffer returns GL_TRUE if buffer is currently the name of a buffer object. + If buffer is zero, or is a non-zero value that is not currently the + name of a buffer object, or if an error occurs, glIsBuffer returns GL_FALSE. + + + A name returned by glGenBuffers, but not yet associated with a buffer object + by calling glBindBuffer, is not the name of a buffer object. + + + Notes + + glIsBuffer is available only if the GL version is 1.5 or greater. + + + Errors + + GL_INVALID_OPERATION is generated if glIsBuffer is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + See Also + + glBindBuffer, + glDeleteBuffers, + glGenBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glIsEnabled.xml b/Source/Bind/Specifications/Docs/GL2/glIsEnabled.xml new file mode 100644 index 00000000..ba88ec4c --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glIsEnabled.xml @@ -0,0 +1,752 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glIsEnabled + 3G + + + glIsEnabled + test whether a capability is enabled + + C Specification + + + GLboolean glIsEnabled + GLenum cap + + + + Parameters + + + cap + + + Specifies a symbolic constant indicating a GL capability. + + + + + + Description + + glIsEnabled returns GL_TRUE if cap is an enabled capability + and returns GL_FALSE otherwise. + Initially all capabilities except GL_DITHER are disabled; + GL_DITHER is initially enabled. + + + The following capabilities are accepted for cap: + + + + + + + + + + + Constant + + + See + + + + + + + GL_ALPHA_TEST + + + glAlphaFunc + + + + + GL_AUTO_NORMAL + + + glEvalCoord + + + + + GL_BLEND + + + glBlendFunc, glLogicOp + + + + + GL_CLIP_PLANEi + + + glClipPlane + + + + + GL_COLOR_ARRAY + + + glColorPointer + + + + + GL_COLOR_LOGIC_OP + + + glLogicOp + + + + + GL_COLOR_MATERIAL + + + glColorMaterial + + + + + GL_COLOR_SUM + + + glSecondaryColor + + + + + GL_COLOR_TABLE + + + glColorTable + + + + + GL_CONVOLUTION_1D + + + glConvolutionFilter1D + + + + + GL_CONVOLUTION_2D + + + glConvolutionFilter2D + + + + + GL_CULL_FACE + + + glCullFace + + + + + GL_DEPTH_TEST + + + glDepthFunc, glDepthRange + + + + + GL_DITHER + + + glEnable + + + + + GL_EDGE_FLAG_ARRAY + + + glEdgeFlagPointer + + + + + GL_FOG + + + glFog + + + + + GL_FOG_COORD_ARRAY + + + glFogCoordPointer + + + + + GL_HISTOGRAM + + + glHistogram + + + + + GL_INDEX_ARRAY + + + glIndexPointer + + + + + GL_INDEX_LOGIC_OP + + + glLogicOp + + + + + GL_LIGHTi + + + glLightModel, glLight + + + + + GL_LIGHTING + + + glMaterial, glLightModel, glLight + + + + + GL_LINE_SMOOTH + + + glLineWidth + + + + + GL_LINE_STIPPLE + + + glLineStipple + + + + + GL_MAP1_COLOR_4 + + + glMap1 + + + + + GL_MAP1_INDEX + + + glMap1 + + + + + GL_MAP1_NORMAL + + + glMap1 + + + + + GL_MAP1_TEXTURE_COORD_1 + + + glMap1 + + + + + GL_MAP1_TEXTURE_COORD_2 + + + glMap1 + + + + + GL_MAP1_TEXTURE_COORD_3 + + + glMap1 + + + + + GL_MAP1_TEXTURE_COORD_4 + + + glMap1 + + + + + GL_MAP2_COLOR_4 + + + glMap2 + + + + + GL_MAP2_INDEX + + + glMap2 + + + + + GL_MAP2_NORMAL + + + glMap2 + + + + + GL_MAP2_TEXTURE_COORD_1 + + + glMap2 + + + + + GL_MAP2_TEXTURE_COORD_2 + + + glMap2 + + + + + GL_MAP2_TEXTURE_COORD_3 + + + glMap2 + + + + + GL_MAP2_TEXTURE_COORD_4 + + + glMap2 + + + + + GL_MAP2_VERTEX_3 + + + glMap2 + + + + + GL_MAP2_VERTEX_4 + + + glMap2 + + + + + GL_MINMAX + + + glMinmax + + + + + GL_MULTISAMPLE + + + glSampleCoverage + + + + + GL_NORMAL_ARRAY + + + glNormalPointer + + + + + GL_NORMALIZE + + + glNormal + + + + + GL_POINT_SMOOTH + + + glPointSize + + + + + GL_POINT_SPRITE + + + glEnable + + + + + GL_POLYGON_SMOOTH + + + glPolygonMode + + + + + GL_POLYGON_OFFSET_FILL + + + glPolygonOffset + + + + + GL_POLYGON_OFFSET_LINE + + + glPolygonOffset + + + + + GL_POLYGON_OFFSET_POINT + + + glPolygonOffset + + + + + GL_POLYGON_STIPPLE + + + glPolygonStipple + + + + + GL_POST_COLOR_MATRIX_COLOR_TABLE + + + glColorTable + + + + + GL_POST_CONVOLUTION_COLOR_TABLE + + + glColorTable + + + + + GL_RESCALE_NORMAL + + + glNormal + + + + + GL_SAMPLE_ALPHA_TO_COVERAGE + + + glSampleCoverage + + + + + GL_SAMPLE_ALPHA_TO_ONE + + + glSampleCoverage + + + + + GL_SAMPLE_COVERAGE + + + glSampleCoverage + + + + + GL_SCISSOR_TEST + + + glScissor + + + + + GL_SECONDARY_COLOR_ARRAY + + + glSecondaryColorPointer + + + + + GL_SEPARABLE_2D + + + glSeparableFilter2D + + + + + GL_STENCIL_TEST + + + glStencilFunc, glStencilOp + + + + + GL_TEXTURE_1D + + + glTexImage1D + + + + + GL_TEXTURE_2D + + + glTexImage2D + + + + + GL_TEXTURE_3D + + + glTexImage3D + + + + + GL_TEXTURE_COORD_ARRAY + + + glTexCoordPointer + + + + + GL_TEXTURE_CUBE_MAP + + + glTexImage2D + + + + + GL_TEXTURE_GEN_Q + + + glTexGen + + + + + GL_TEXTURE_GEN_R + + + glTexGen + + + + + GL_TEXTURE_GEN_S + + + glTexGen + + + + + GL_TEXTURE_GEN_T + + + glTexGen + + + + + GL_VERTEX_ARRAY + + + glVertexPointer + + + + + GL_VERTEX_PROGRAM_POINT_SIZE + + + glEnable + + + + + GL_VERTEX_PROGRAM_TWO_SIDE + + + glEnable + + + + + + + + + Notes + + If an error is generated, + glIsEnabled returns 0. + + + GL_COLOR_LOGIC_OP, + GL_COLOR_ARRAY, + GL_EDGE_FLAG_ARRAY, + GL_INDEX_ARRAY, + GL_INDEX_LOGIC_OP, + GL_NORMAL_ARRAY, + GL_POLYGON_OFFSET_FILL, + GL_POLYGON_OFFSET_LINE, + GL_POLYGON_OFFSET_POINT, + GL_TEXTURE_COORD_ARRAY, and + GL_VERTEX_ARRAY + are available only + if the GL version is 1.1 or greater. + + + GL_RESCALE_NORMAL, and GL_TEXTURE_3D are available only if the GL + version is 1.2 or greater. + + + GL_MULTISAMPLE, + GL_SAMPLE_ALPHA_TO_COVERAGE, + GL_SAMPLE_ALPHA_TO_ONE, + GL_SAMPLE_COVERAGE, + GL_TEXTURE_CUBE_MAP + are available only if the GL version is 1.3 or greater. + + + GL_FOG_COORD_ARRAY and GL_SECONDARY_COLOR_ARRAY + are available only if the GL version is 1.4 or greater. + + + GL_POINT_SPRITE, + GL_VERTEX_PROGRAM_POINT_SIZE, and + GL_VERTEX_PROGRAM_TWO_SIDE + are available only if the GL version is 2.0 or greater. + + + GL_COLOR_TABLE, GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, + GL_HISTOGRAM, GL_MINMAX, + GL_POST_COLOR_MATRIX_COLOR_TABLE, + GL_POST_CONVOLUTION_COLOR_TABLE, and + GL_SEPARABLE_2D are available only if ARB_imaging is + returned when glGet is called with GL_EXTENSIONS. + + + For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, the following + parameters return the associated value for the active texture unit: + GL_TEXTURE_1D, + GL_TEXTURE_2D, + GL_TEXTURE_3D, + GL_TEXTURE_CUBE_MAP, + GL_TEXTURE_GEN_S, + GL_TEXTURE_GEN_T, + GL_TEXTURE_GEN_R, + GL_TEXTURE_GEN_Q, + GL_TEXTURE_MATRIX, and + GL_TEXTURE_STACK_DEPTH. + Likewise, the following parameters return the associated value for the + active client texture unit: + GL_TEXTURE_COORD_ARRAY, + GL_TEXTURE_COORD_ARRAY_SIZE, + GL_TEXTURE_COORD_ARRAY_STRIDE, + GL_TEXTURE_COORD_ARRAY_TYPE. + + + Errors + + GL_INVALID_ENUM is generated if cap is not an accepted value. + + + GL_INVALID_OPERATION is generated if glIsEnabled + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + See Also + + glEnable, + glEnableClientState, + glGet + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glIsList.xml b/Source/Bind/Specifications/Docs/GL2/glIsList.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glIsList.xml rename to Source/Bind/Specifications/Docs/GL2/glIsList.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glIsProgram.xml b/Source/Bind/Specifications/Docs/GL2/glIsProgram.xml new file mode 100644 index 00000000..d2f8f2cd --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glIsProgram.xml @@ -0,0 +1,113 @@ + + + + + glIsProgram + 3G + + + glIsProgram + Determines if a name corresponds to a program object + + C Specification + + + GLboolean glIsProgram + GLuint program + + + + Parameters + + + program + + Specifies a potential program object. + + + + + Description + glIsProgram returns + GL_TRUE if program + is the name of a program object previously created with + glCreateProgram + and not yet deleted with glDeleteProgram. + If program is zero or a non-zero value that + is not the name of a program object, or if an error occurs, + glIsProgram returns GL_FALSE. + + Notes + glIsProgram is available only if the + GL version is 2.0 or greater. + + No error is generated if program is + not a valid program object name. + + A program object marked for deletion with glDeleteProgram + but still in use as part of current rendering state is still considered + a program object and glIsProgram will return GL_TRUE. + + Errors + GL_INVALID_OPERATION is generated if + glIsProgram is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with arguments program and the index of + an active attribute variable + + glGetActiveUniform + with arguments program and the index of + an active uniform variable + + glGetAttachedShaders + with argument program + + glGetAttribLocation + with arguments program and the name of an + attribute variable + + glGetProgram + with arguments program and the parameter + to be queried + + glGetProgramInfoLog + with argument program + + glGetUniform + with arguments program and the location + of a uniform variable + + glGetUniformLocation + with arguments program and the name of a + uniform variable + + See Also + glAttachShader, + glBindAttribLocation, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glIsQuery.xml b/Source/Bind/Specifications/Docs/GL2/glIsQuery.xml similarity index 76% rename from Source/Bind/Specifications/Docs/glIsQuery.xml rename to Source/Bind/Specifications/Docs/GL2/glIsQuery.xml index 43c05782..264e4cc1 100644 --- a/Source/Bind/Specifications/Docs/glIsQuery.xml +++ b/Source/Bind/Specifications/Docs/GL2/glIsQuery.xml @@ -2,17 +2,13 @@ - - - 2005 - Sams Publishing - - - 2010-2013 - Khronos Group - - + + + 2005 + Sams Publishing + + glIsQuery 3G @@ -51,6 +47,18 @@ by calling glBeginQuery, is not the name of a query object.
+ Notes + + glIsQuery is available only if the GL version is 1.5 or greater. + + + Errors + + GL_INVALID_OPERATION is generated if glIsQuery is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + See Also glBeginQuery, @@ -61,9 +69,8 @@ Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL2/glIsShader.xml b/Source/Bind/Specifications/Docs/GL2/glIsShader.xml new file mode 100644 index 00000000..6ed6ce42 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glIsShader.xml @@ -0,0 +1,92 @@ + + + + + glIsShader + 3G + + + glIsShader + Determines if a name corresponds to a shader object + + C Specification + + + GLboolean glIsShader + GLuint shader + + + + Parameters + + + shader + + Specifies a potential shader object. + + + + + Description + glIsShader returns + GL_TRUE if shader is + the name of a shader object previously created with + glCreateShader + and not yet deleted with glDeleteShader. + If shader is + zero or a non-zero value that is not the name of a shader + object, or if an error occurs, glIsShader returns + GL_FALSE. + + Notes + glIsShader is available only if the + GL version is 2.0 or greater. + + No error is generated if shader is + not a valid shader object name. + + A shader object marked for deletion with glDeleteShader + but still attached to a program object is still considered + a shader object and glIsShader will return GL_TRUE. + + Errors + GL_INVALID_OPERATION is generated if + glIsShader is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetAttachedShaders + with a valid program object + + glGetShader + with arguments shader and a parameter to + be queried + + glGetShaderInfoLog + with argument object + + glGetShaderSource + with argument object + + See Also + glAttachShader, + glCompileShader, + glCreateShader, + glDeleteShader, + glDetachShader, + glLinkProgram, + glShaderSource + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glIsTexture.xml b/Source/Bind/Specifications/Docs/GL2/glIsTexture.xml new file mode 100644 index 00000000..d9760fa0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glIsTexture.xml @@ -0,0 +1,85 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glIsTexture + 3G + + + glIsTexture + determine if a name corresponds to a texture + + C Specification + + + GLboolean glIsTexture + GLuint texture + + + + Parameters + + + texture + + + Specifies a value that may be the name of a texture. + + + + + + Description + + glIsTexture returns GL_TRUE if texture is currently the name of a texture. + If texture is zero, or is a non-zero value that is not currently the + name of a texture, or if an error occurs, glIsTexture returns GL_FALSE. + + + A name returned by glGenTextures, but not yet associated with a texture + by calling glBindTexture, is not the name of a texture. + + + Notes + + glIsTexture is available only if the GL version is 1.1 or greater. + + + Errors + + GL_INVALID_OPERATION is generated if glIsTexture is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + See Also + + glBindTexture, + glCopyTexImage1D, + glCopyTexImage2D, + glDeleteTextures, + glGenTextures, + glGet, + glGetTexParameter, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glLight.xml b/Source/Bind/Specifications/Docs/GL2/glLight.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glLight.xml rename to Source/Bind/Specifications/Docs/GL2/glLight.xml diff --git a/Source/Bind/Specifications/Docs/glLightModel.xml b/Source/Bind/Specifications/Docs/GL2/glLightModel.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glLightModel.xml rename to Source/Bind/Specifications/Docs/GL2/glLightModel.xml diff --git a/Source/Bind/Specifications/Docs/glLineStipple.xml b/Source/Bind/Specifications/Docs/GL2/glLineStipple.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glLineStipple.xml rename to Source/Bind/Specifications/Docs/GL2/glLineStipple.xml diff --git a/Source/Bind/Specifications/Docs/glLineWidth.xml b/Source/Bind/Specifications/Docs/GL2/glLineWidth.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glLineWidth.xml rename to Source/Bind/Specifications/Docs/GL2/glLineWidth.xml index 92d31579..c303c348 100644 --- a/Source/Bind/Specifications/Docs/glLineWidth.xml +++ b/Source/Bind/Specifications/Docs/GL2/glLineWidth.xml @@ -2,17 +2,13 @@ - - - 1991-2006 - Silicon Graphics, Inc. - - - 2010-2013 - Khronos Group - - + + + 1991-2006 + Silicon Graphics, Inc. + + glLineWidth 3G @@ -28,6 +24,7 @@ + Parameters @@ -61,18 +58,17 @@ If - - + - Δ + Δ x >= - + - Δ + Δ y @@ -124,6 +120,11 @@ GL_INVALID_VALUE is generated if width is less than or equal to 0. + + GL_INVALID_OPERATION is generated if glLineWidth + is executed between the execution of glBegin + and the corresponding execution of glEnd. + Associated Gets @@ -149,10 +150,9 @@ Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. - This document is licensed under the SGI Free Software B License. - For details, see + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/GL2/glLinkProgram.xml b/Source/Bind/Specifications/Docs/GL2/glLinkProgram.xml new file mode 100644 index 00000000..bded2968 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glLinkProgram.xml @@ -0,0 +1,223 @@ + + + + + glLinkProgram + 3G + + + glLinkProgram + Links a program object + + C Specification + + + void glLinkProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object to be linked. + + + + + + Description + glLinkProgram links the program + object specified by program. If any + shader objects of type GL_VERTEX_SHADER are + attached to program, they will be used to + create an executable that will run on the programmable vertex + processor. If any shader objects of type + GL_FRAGMENT_SHADER are attached to + program, they will be used to create an + executable that will run on the programmable fragment + processor. + + The status of the link operation will be stored as part of + the program object's state. This value will be set to + GL_TRUE if the program object was linked + without errors and is ready for use, and + GL_FALSE otherwise. It can be queried by + calling + glGetProgram + with arguments program and + GL_LINK_STATUS. + + As a result of a successful link operation, all active + user-defined uniform variables belonging to + program will be initialized to 0, and + each of the program object's active uniform variables will be + assigned a location that can be queried by calling + glGetUniformLocation. + Also, any active user-defined attribute variables that have not + been bound to a generic vertex attribute index will be bound to + one at this time. + + Linking of a program object can fail for a number of + reasons as specified in the OpenGL Shading Language + Specification. The following lists some of the + conditions that will cause a link error. + + + + The number of active attribute variables supported + by the implementation has been exceeded. + + + The storage limit for uniform variables has been + exceeded. + + + The number of active uniform variables supported + by the implementation has been exceeded. + + + The main function is missing + for the vertex shader or the fragment shader. + + + A varying variable actually used in the fragment + shader is not declared in the same way (or is not + declared at all) in the vertex shader. + + + A reference to a function or variable name is + unresolved. + + + A shared global is declared with two different + types or two different initial values. + + + One or more of the attached shader objects has not + been successfully compiled. + + + Binding a generic attribute matrix caused some + rows of the matrix to fall outside the allowed maximum + of GL_MAX_VERTEX_ATTRIBS. + + + Not enough contiguous vertex attribute slots could + be found to bind attribute matrices. + + + + When a program object has been successfully linked, the + program object can be made part of current state by calling + glUseProgram. + Whether or not the link operation was successful, the program + object's information log will be overwritten. The information + log can be retrieved by calling + glGetProgramInfoLog. + + glLinkProgram will also install the + generated executables as part of the current rendering state if + the link operation was successful and the specified program + object is already currently in use as a result of a previous + call to + glUseProgram. + If the program object currently in use is relinked + unsuccessfully, its link status will be set to + GL_FALSE , but the executables and + associated state will remain part of the current state until a + subsequent call to glUseProgram removes it + from use. After it is removed from use, it cannot be made part + of current state until it has been successfully relinked. + + If program contains shader objects + of type GL_VERTEX_SHADER but does not + contain shader objects of type + GL_FRAGMENT_SHADER, the vertex shader will + be linked against the implicit interface for fixed functionality + fragment processing. Similarly, if + program contains shader objects of type + GL_FRAGMENT_SHADER but it does not contain + shader objects of type GL_VERTEX_SHADER, + the fragment shader will be linked against the implicit + interface for fixed functionality vertex processing. + + The program object's information log is updated and the + program is generated at the time of the link operation. After + the link operation, applications are free to modify attached + shader objects, compile attached shader objects, detach shader + objects, delete shader objects, and attach additional shader + objects. None of these operations affects the information log or + the program that is part of the program object. + + Notes + glLinkProgram + is available only if the GL version is 2.0 or greater. + If the link operation is unsuccessful, any information about a previous link operation on program + is lost (i.e., a failed link does not restore the old state of program + ). Certain information can still be retrieved from program + even after an unsuccessful link operation. See for instance glGetActiveAttrib + and glGetActiveUniform. + + Errors + GL_INVALID_VALUE + is generated if program + is not a value generated by OpenGL. + GL_INVALID_OPERATION + is generated if program + is not a program object. + GL_INVALID_OPERATION + is generated if glLinkProgram + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + glGetActiveAttrib + with argument program + and the index of an active attribute variable + glGetActiveUniform + with argument program + and the index of an active uniform variable + glGetAttachedShaders + with argument program + glGetAttribLocation + with argument program + and an attribute variable name + glGetProgram + with arguments program + and GL_LINK_STATUS + glGetProgramInfoLog + with argument program + glGetUniform + with argument program + and a uniform variable location + glGetUniformLocation + with argument program + and a uniform variable name + glIsProgram + + See Also + glAttachShader, + glBindAttribLocation, + glCompileShader, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glUniform, + glUseProgram, + glValidateProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glListBase.xml b/Source/Bind/Specifications/Docs/GL2/glListBase.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glListBase.xml rename to Source/Bind/Specifications/Docs/GL2/glListBase.xml diff --git a/Source/Bind/Specifications/Docs/glLoadIdentity.xml b/Source/Bind/Specifications/Docs/GL2/glLoadIdentity.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glLoadIdentity.xml rename to Source/Bind/Specifications/Docs/GL2/glLoadIdentity.xml diff --git a/Source/Bind/Specifications/Docs/glLoadMatrix.xml b/Source/Bind/Specifications/Docs/GL2/glLoadMatrix.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glLoadMatrix.xml rename to Source/Bind/Specifications/Docs/GL2/glLoadMatrix.xml diff --git a/Source/Bind/Specifications/Docs/glLoadName.xml b/Source/Bind/Specifications/Docs/GL2/glLoadName.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glLoadName.xml rename to Source/Bind/Specifications/Docs/GL2/glLoadName.xml diff --git a/Source/Bind/Specifications/Docs/glLoadTransposeMatrix.xml b/Source/Bind/Specifications/Docs/GL2/glLoadTransposeMatrix.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glLoadTransposeMatrix.xml rename to Source/Bind/Specifications/Docs/GL2/glLoadTransposeMatrix.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glLogicOp.xml b/Source/Bind/Specifications/Docs/GL2/glLogicOp.xml new file mode 100644 index 00000000..389cc5c3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glLogicOp.xml @@ -0,0 +1,275 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glLogicOp + 3G + + + glLogicOp + specify a logical pixel operation for color index rendering + + C Specification + + + void glLogicOp + GLenum opcode + + + + Parameters + + + opcode + + + Specifies a symbolic constant that selects a logical operation. + The following symbols are accepted: + GL_CLEAR, + GL_SET, + GL_COPY, + GL_COPY_INVERTED, + GL_NOOP, + GL_INVERT, + GL_AND, + GL_NAND, + GL_OR, + GL_NOR, + GL_XOR, + GL_EQUIV, + GL_AND_REVERSE, + GL_AND_INVERTED, + GL_OR_REVERSE, and + GL_OR_INVERTED. The initial value is GL_COPY. + + + + + + Description + + glLogicOp specifies a logical operation that, + when enabled, + is applied between the incoming color index or RGBA color + and the color index or RGBA color at the corresponding location in the + frame buffer. + To enable or disable the logical operation, call + glEnable and glDisable + using the symbolic constant GL_COLOR_LOGIC_OP for RGBA mode or + GL_INDEX_LOGIC_OP for color index mode. The initial value is + disabled for both operations. + + + + + + + + + + + Opcode + + + Resulting Operation + + + + + + + GL_CLEAR + + + 0 + + + + + GL_SET + + + 1 + + + + + GL_COPY + + + s + + + + + GL_COPY_INVERTED + + + ~s + + + + + GL_NOOP + + + d + + + + + GL_INVERT + + + ~d + + + + + GL_AND + + + s & d + + + + + GL_NAND + + + ~(s & d) + + + + + GL_OR + + + s | d + + + + + GL_NOR + + + ~(s | d) + + + + + GL_XOR + + + s ^ d + + + + + GL_EQUIV + + + ~(s ^ d) + + + + + GL_AND_REVERSE + + + s & ~d + + + + + GL_AND_INVERTED + + + ~s & d + + + + + GL_OR_REVERSE + + + s | ~d + + + + + GL_OR_INVERTED + + + ~s | d + + + + + + + opcode is a symbolic constant chosen from the list above. + In the explanation of the logical operations, + s represents the incoming color index and + d represents the index in the frame buffer. + Standard C-language operators are used. + As these bitwise operators suggest, + the logical operation is applied independently to each bit pair of the + source and destination indices or colors. + + + Notes + + Color index logical operations are always supported. RGBA logical + operations are supported only if the GL version is 1.1 or greater. + + + When more than one RGBA color or index buffer is enabled for drawing, + logical operations are performed separately for each enabled buffer, + using for the destination value the contents of that buffer + (see glDrawBuffer). + + + Errors + + GL_INVALID_ENUM is generated if opcode is not an accepted value. + + + GL_INVALID_OPERATION is generated if glLogicOp + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_LOGIC_OP_MODE. + + + glIsEnabled with argument GL_COLOR_LOGIC_OP or GL_INDEX_LOGIC_OP. + + + See Also + + glAlphaFunc, + glBlendFunc, + glDrawBuffer, + glEnable, + glStencilOp + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glMap1.xml b/Source/Bind/Specifications/Docs/GL2/glMap1.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMap1.xml rename to Source/Bind/Specifications/Docs/GL2/glMap1.xml diff --git a/Source/Bind/Specifications/Docs/glMap2.xml b/Source/Bind/Specifications/Docs/GL2/glMap2.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMap2.xml rename to Source/Bind/Specifications/Docs/GL2/glMap2.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glMapBuffer.xml b/Source/Bind/Specifications/Docs/GL2/glMapBuffer.xml new file mode 100644 index 00000000..15fcb09b --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glMapBuffer.xml @@ -0,0 +1,185 @@ + + + + + + + 2005 + Sams Publishing + + + glMapBuffer + 3G + + + glMapBuffer + map a buffer object's data store + + C Specification + + + void * glMapBuffer + GLenum target + GLenum access + + + + Parameters + + + target + + + Specifies the target buffer object being mapped. + The symbolic constant must be + GL_ARRAY_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or + GL_PIXEL_UNPACK_BUFFER. + + + + + access + + + Specifies the access policy, indicating whether it will be possible to read from, write to, + or both read from and write to the buffer object's mapped data store. The symbolic constant must be + GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE. + + + + + + C Specification + + + GLboolean glUnmapBuffer + GLenum target + + + + + Parameters + + + target + + + Specifies the target buffer object being unmapped. + The symbolic constant must be + GL_ARRAY_BUFFER, + GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or + GL_PIXEL_UNPACK_BUFFER. + + + + + + Description + + glMapBuffer maps to the client's address space the entire data store of the buffer object + currently bound to target. The data can then be directly read and/or written relative to + the returned pointer, depending on the specified access policy. If the GL is unable to + map the buffer object's data store, glMapBuffer generates an error and returns + NULL. This may occur for system-specific reasons, such as low virtual memory availability. + + + If a mapped data store is accessed in a way inconsistent with the specified access policy, + no error is generated, but performance may be negatively impacted and system errors, including program + termination, may result. Unlike the usage parameter of glBufferData, + access is not a hint, and does in fact constrain the usage of the mapped data store on + some GL implementations. In order to achieve the highest performance available, a buffer object's data store + should be used in ways consistent with both its specified usage and + access parameters. + + + A mapped data store must be unmapped with glUnmapBuffer before its buffer object is used. + Otherwise an error will be generated by any GL command that attempts to dereference the buffer object's data store. + When a data store is unmapped, the pointer to its data store becomes invalid. glUnmapBuffer + returns GL_TRUE unless the data store contents have become corrupt during the time + the data store was mapped. This can occur for system-specific reasons that affect the availability of graphics + memory, such as screen mode changes. In such situations, GL_FALSE is returned and the + data store contents are undefined. An application must detect this rare condition and reinitialize the data store. + + + A buffer object's mapped data store is automatically unmapped when the buffer object is deleted or its data store + is recreated with glBufferData. + + + Notes + + If an error is generated, glMapBuffer returns NULL, and + glUnmapBuffer returns GL_FALSE. + + + glMapBuffer and glUnmapBuffer are available only if the GL version is 1.5 or greater. + + + GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are + available only if the GL version is 2.1 or greater. + + + Parameter values passed to GL commands may not be sourced from the returned pointer. No error will be generated, + but results will be undefined and will likely vary across GL implementations. + + + Errors + + GL_INVALID_ENUM is generated if target is not + GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, + GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. + + + GL_INVALID_ENUM is generated if access is not + GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE. + + + GL_OUT_OF_MEMORY is generated when glMapBuffer is executed + if the GL is unable to map the buffer object's data store. This may occur for a variety of system-specific + reasons, such as the absence of sufficient remaining virtual memory. + + + GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. + + + GL_INVALID_OPERATION is generated if glMapBuffer is executed for + a buffer object whose data store is already mapped. + + + GL_INVALID_OPERATION is generated if glUnmapBuffer is executed for + a buffer object whose data store is not currently mapped. + + + GL_INVALID_OPERATION is generated if glMapBuffer or glUnmapBuffer is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGetBufferPointerv with argument GL_BUFFER_MAP_POINTER + + + glGetBufferParameteriv with argument GL_BUFFER_MAPPED, GL_BUFFER_ACCESS, or GL_BUFFER_USAGE + + + See Also + + glBindBuffer, + glBufferData, + glBufferSubData, + glDeleteBuffers + + + Copyright + + Copyright 2005 Addison-Wesley. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glMapGrid.xml b/Source/Bind/Specifications/Docs/GL2/glMapGrid.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMapGrid.xml rename to Source/Bind/Specifications/Docs/GL2/glMapGrid.xml diff --git a/Source/Bind/Specifications/Docs/glMaterial.xml b/Source/Bind/Specifications/Docs/GL2/glMaterial.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMaterial.xml rename to Source/Bind/Specifications/Docs/GL2/glMaterial.xml diff --git a/Source/Bind/Specifications/Docs/glMatrixMode.xml b/Source/Bind/Specifications/Docs/GL2/glMatrixMode.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMatrixMode.xml rename to Source/Bind/Specifications/Docs/GL2/glMatrixMode.xml diff --git a/Source/Bind/Specifications/Docs/glMinmax.xml b/Source/Bind/Specifications/Docs/GL2/glMinmax.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMinmax.xml rename to Source/Bind/Specifications/Docs/GL2/glMinmax.xml diff --git a/Source/Bind/Specifications/Docs/glMultMatrix.xml b/Source/Bind/Specifications/Docs/GL2/glMultMatrix.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMultMatrix.xml rename to Source/Bind/Specifications/Docs/GL2/glMultMatrix.xml diff --git a/Source/Bind/Specifications/Docs/glMultTransposeMatrix.xml b/Source/Bind/Specifications/Docs/GL2/glMultTransposeMatrix.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMultTransposeMatrix.xml rename to Source/Bind/Specifications/Docs/GL2/glMultTransposeMatrix.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glMultiDrawArrays.xml b/Source/Bind/Specifications/Docs/GL2/glMultiDrawArrays.xml new file mode 100644 index 00000000..2077ece4 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glMultiDrawArrays.xml @@ -0,0 +1,163 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glMultiDrawArrays + 3G + + + glMultiDrawArrays + render multiple sets of primitives from array data + + C Specification + + + void glMultiDrawArrays + GLenum mode + GLint * first + GLsizei * count + GLsizei primcount + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, + GL_TRIANGLES, + GL_QUAD_STRIP, + GL_QUADS, + and GL_POLYGON are accepted. + + + + + first + + + Points to an array of starting indices in the enabled arrays. + + + + + count + + + Points to an array of the number of indices to be rendered. + + + + + primcount + + + Specifies the size of the first and count + + + + + + Description + + glMultiDrawArrays specifies multiple sets of geometric primitives + with very few subroutine calls. Instead of calling a GL procedure + to pass each individual vertex, normal, texture coordinate, edge + flag, or color, you can prespecify + separate arrays of vertices, normals, and colors and use them to + construct a sequence of primitives with a single + call to glMultiDrawArrays. + + + glMultiDrawArrays behaves identically to glDrawArrays except that primcount + separate ranges of elements are specified instead. + + + When glMultiDrawArrays is called, it uses count sequential elements from each + enabled array to construct a sequence of geometric primitives, + beginning with element first. mode specifies what kind of + primitives are constructed, and how the array elements + construct those primitives. If GL_VERTEX_ARRAY is not enabled, no + geometric primitives are generated. + + + Vertex attributes that are modified by glMultiDrawArrays have an + unspecified value after glMultiDrawArrays returns. For example, if + GL_COLOR_ARRAY is enabled, the value of the current color is + undefined after glMultiDrawArrays executes. Attributes that aren't + modified remain well defined. + + + Notes + + glMultiDrawArrays is available only if the GL version is 1.4 or greater. + + + glMultiDrawArrays is included in display lists. If glMultiDrawArrays is entered into a + display list, + the necessary array data (determined by the array pointers and + enables) is also + entered into the display list. Because the array pointers and + enables are client-side state, their values affect display lists + when the lists are created, not when the lists are executed. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if primcount is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if glMultiDrawArrays is executed between + the execution of glBegin and the corresponding glEnd. + + + See Also + + glArrayElement, + glColorPointer, + glDrawElements, + glDrawRangeElements, + glEdgeFlagPointer, + glFogCoordPointer, + glGetPointerv, + glIndexPointer, + glInterleavedArrays, + glNormalPointer, + glSecondaryColorPointer, + glTexCoordPointer, + glVertexPointer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glMultiDrawElements.xml b/Source/Bind/Specifications/Docs/GL2/glMultiDrawElements.xml new file mode 100644 index 00000000..ca4ba678 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glMultiDrawElements.xml @@ -0,0 +1,164 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glMultiDrawElements + 3G + + + glMultiDrawElements + render multiple sets of primitives by specifying indices of array data elements + + C Specification + + + void glMultiDrawElements + GLenum mode + const GLsizei * count + GLenum type + const GLvoid ** indices + GLsizei primcount + + + + + Parameters + + + mode + + + Specifies what kind of primitives to render. + Symbolic constants + GL_POINTS, + GL_LINE_STRIP, + GL_LINE_LOOP, + GL_LINES, + GL_TRIANGLE_STRIP, + GL_TRIANGLE_FAN, + GL_TRIANGLES, + GL_QUAD_STRIP, + GL_QUADS, + and GL_POLYGON are accepted. + + + + + count + + + Points to an array of the elements counts. + + + + + type + + + Specifies the type of the values in indices. Must be one of + GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or + GL_UNSIGNED_INT. + + + + + indices + + + Specifies a pointer to the location where the indices are stored. + + + + + primcount + + + Specifies the size of the count array. + + + + + + Description + + glMultiDrawElements specifies multiple sets of geometric primitives with very few subroutine + calls. Instead of calling a GL function to pass each individual vertex, + normal, texture coordinate, edge flag, or color, you can prespecify + separate arrays of vertices, normals, and so on, and use them to construct a + sequence of primitives with a single call to glMultiDrawElements. + + + glMultiDrawElements is identical in operation to glDrawElements except that + primcount separate lists of elements are specified. + + + Vertex attributes that are modified by glMultiDrawElements have an + unspecified value after glMultiDrawElements returns. For example, if + GL_COLOR_ARRAY is enabled, the value of the current color is + undefined after glMultiDrawElements executes. Attributes that aren't + modified maintain their previous values. + + + Notes + + glMultiDrawElements is available only if the GL version is 1.4 or greater. + + + glMultiDrawElements is included in display lists. If glMultiDrawElements is entered into a + display list, + the necessary array data (determined by the array pointers and + enables) is also + entered into the display list. Because the array pointers and + enables are client-side state, their values affect display lists + when the lists are created, not when the lists are executed. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + GL_INVALID_VALUE is generated if primcount is negative. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an + enabled array or the element array and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if glMultiDrawElements is executed between + the execution of glBegin and the corresponding glEnd. + + + See Also + + glArrayElement, + glColorPointer, + glDrawArrays, + glDrawRangeElements, + glEdgeFlagPointer, + glFogCoordPointer, + glGetPointerv, + glIndexPointer, + glInterleavedArrays, + glNormalPointer, + glSecondaryColorPointer, + glTexCoordPointer, + glVertexPointer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glMultiTexCoord.xml b/Source/Bind/Specifications/Docs/GL2/glMultiTexCoord.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glMultiTexCoord.xml rename to Source/Bind/Specifications/Docs/GL2/glMultiTexCoord.xml diff --git a/Source/Bind/Specifications/Docs/glNewList.xml b/Source/Bind/Specifications/Docs/GL2/glNewList.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glNewList.xml rename to Source/Bind/Specifications/Docs/GL2/glNewList.xml diff --git a/Source/Bind/Specifications/Docs/glNormal.xml b/Source/Bind/Specifications/Docs/GL2/glNormal.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glNormal.xml rename to Source/Bind/Specifications/Docs/GL2/glNormal.xml diff --git a/Source/Bind/Specifications/Docs/glNormalPointer.xml b/Source/Bind/Specifications/Docs/GL2/glNormalPointer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glNormalPointer.xml rename to Source/Bind/Specifications/Docs/GL2/glNormalPointer.xml diff --git a/Source/Bind/Specifications/Docs/glOrtho.xml b/Source/Bind/Specifications/Docs/GL2/glOrtho.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glOrtho.xml rename to Source/Bind/Specifications/Docs/GL2/glOrtho.xml diff --git a/Source/Bind/Specifications/Docs/glPassThrough.xml b/Source/Bind/Specifications/Docs/GL2/glPassThrough.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPassThrough.xml rename to Source/Bind/Specifications/Docs/GL2/glPassThrough.xml diff --git a/Source/Bind/Specifications/Docs/glPixelMap.xml b/Source/Bind/Specifications/Docs/GL2/glPixelMap.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPixelMap.xml rename to Source/Bind/Specifications/Docs/GL2/glPixelMap.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glPixelStore.xml b/Source/Bind/Specifications/Docs/GL2/glPixelStore.xml new file mode 100644 index 00000000..3acce3b5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glPixelStore.xml @@ -0,0 +1,1490 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glPixelStore + 3G + + + glPixelStore + set pixel storage modes + + C Specification + + + void glPixelStoref + GLenum pname + GLfloat param + + + + + void glPixelStorei + GLenum pname + GLint param + + + + + Parameters + + + pname + + + Specifies the symbolic name of the parameter to be set. + Six values affect the packing of pixel data into memory: + GL_PACK_SWAP_BYTES, + GL_PACK_LSB_FIRST, + GL_PACK_ROW_LENGTH, + GL_PACK_IMAGE_HEIGHT, + GL_PACK_SKIP_PIXELS, + GL_PACK_SKIP_ROWS, + GL_PACK_SKIP_IMAGES, and + GL_PACK_ALIGNMENT. + Six more affect the unpacking of pixel data from memory: + GL_UNPACK_SWAP_BYTES, + GL_UNPACK_LSB_FIRST, + GL_UNPACK_ROW_LENGTH, + GL_UNPACK_IMAGE_HEIGHT, + GL_UNPACK_SKIP_PIXELS, + GL_UNPACK_SKIP_ROWS, + GL_UNPACK_SKIP_IMAGES, and + GL_UNPACK_ALIGNMENT. + + + + + param + + + Specifies the value that pname is set to. + + + + + + Description + + glPixelStore sets pixel storage modes that affect the operation of subsequent + glDrawPixels and glReadPixels as well as the unpacking of + polygon stipple patterns (see glPolygonStipple), bitmaps (see + glBitmap), texture patterns (see glTexImage1D, + glTexImage2D, glTexImage3D, glTexSubImage1D, + glTexSubImage2D, glTexSubImage3D). + Additionally, if the ARB_imaging extension is supported, pixel + storage modes affect convolution filters + (see glConvolutionFilter1D, glConvolutionFilter2D, and + glSeparableFilter2D, color table (see glColorTable, and + glColorSubTable, and unpacking histogram (See glHistogram), + and minmax (See glMinmax) data. + + + pname is a symbolic constant indicating the parameter to be set, and + param is the new value. Six of the twelve storage parameters affect + how pixel data is returned to client memory. + They are as follows: + + + + GL_PACK_SWAP_BYTES + + + If true, + byte ordering for multibyte color components, + depth components, + color indices, + or stencil indices + is reversed. + That is, + if a four-byte component consists of bytes + + + b + 0 + + , + + + b + 1 + + , + + + b + 2 + + , + + + b + 3 + + , + it is stored in memory as + + + b + 3 + + , + + + b + 2 + + , + + + b + 1 + + , + + + b + 0 + + + if GL_PACK_SWAP_BYTES is true. + GL_PACK_SWAP_BYTES has no effect on the memory order of components + within a pixel, + only on the order of bytes within components or indices. + For example, + the three components of a GL_RGB format pixel are always stored with + red first, + green second, + and blue third, + regardless of the value of GL_PACK_SWAP_BYTES. + + + + + GL_PACK_LSB_FIRST + + + If true, + bits are ordered within a byte from least significant to most significant; + otherwise, + the first bit in each byte is the most significant one. + This parameter is significant for bitmap data only. + + + + + GL_PACK_ROW_LENGTH + + + If greater than 0, + GL_PACK_ROW_LENGTH defines the number of pixels in a row. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + + + + + + a + s + + + + + + + + s + + n + + l + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_PACK_ROW_LENGTH if it is greater than 0, + the + width + argument to the pixel routine otherwise), + a + is the value of GL_PACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + In the case of 1-bit values, + the location of the next row is obtained by skipping + + + + + + k + = + + 8 + + a + + + + + + n + + l + + + + + 8 + + a + + + + + + + + + + components or indices. + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_PACK_IMAGE_HEIGHT + + + If greater than 0, + GL_PACK_IMAGE_HEIGHT defines the number of pixels in an image + three-dimensional texture volume, where ``image'' is defined by all pixels + sharing the same third dimension index. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + h + + + + + + + a + s + + + + + + + + s + + n + + l + + h + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, where + n + is the number of components or indices + in a pixel, + l + is the number of pixels in a row + (GL_PACK_ROW_LENGTH if it is greater than 0, the + width + argument to glTexImage3D otherwise), + h + is the number of + rows in a pixel image (GL_PACK_IMAGE_HEIGHT if it is greater than + 0, the + height + argument to the glTexImage3D routine otherwise), + a + is the value of + GL_PACK_ALIGNMENT, and + s + is the size, in bytes, of a single + component (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, and GL_PACK_SKIP_IMAGES + + + These values are provided as a convenience to the programmer; + they provide no functionality that cannot be duplicated simply by + incrementing the pointer passed to glReadPixels. + Setting GL_PACK_SKIP_PIXELS to + i + is equivalent to incrementing + the pointer by + + + + i + + n + + + components or indices, + where + n + is the number of components or indices in each pixel. + Setting GL_PACK_SKIP_ROWS to + j + is equivalent to incrementing + the pointer by + + + + j + + m + + + components or indices, + where + m + is the number of components or indices per row, + as just computed in the GL_PACK_ROW_LENGTH section. + Setting GL_PACK_SKIP_IMAGES to + k + is equivalent to incrementing + the pointer by + + + + k + + p + + , + where + p + is the number of components or indices + per image, as computed in the GL_PACK_IMAGE_HEIGHT section. + + + + + GL_PACK_ALIGNMENT + + + Specifies the alignment requirements for the start of each pixel row in memory. + The allowable values are + 1 (byte-alignment), + 2 (rows aligned to even-numbered bytes), + 4 (word-alignment), and + 8 (rows start on double-word boundaries). + + + + + + The other six of the twelve storage parameters affect how pixel data is + read from client memory. + These values are significant for glDrawPixels, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glBitmap, and + glPolygonStipple. + + + Additionally, if the ARB_imaging extension is supported, + glColorTable, + glColorSubTable, + glConvolutionFilter1D, + glConvolutionFilter2D, and + glSeparableFilter2D. + They are as follows: + + + + GL_UNPACK_SWAP_BYTES + + + If true, + byte ordering for multibyte color components, + depth components, + color indices, + or stencil indices + is reversed. + That is, + if a four-byte component consists of bytes + + + b + 0 + + , + + + b + 1 + + , + + + b + 2 + + , + + + b + 3 + + , + it is taken from memory as + + + b + 3 + + , + + + b + 2 + + , + + + b + 1 + + , + + + b + 0 + + + if GL_UNPACK_SWAP_BYTES is true. + GL_UNPACK_SWAP_BYTES has no effect on the memory order of components + within a pixel, + only on the order of bytes within components or indices. + For example, + the three components of a GL_RGB format pixel are always stored with + red first, + green second, + and blue third, + regardless of the value of GL_UNPACK_SWAP_BYTES. + + + + + GL_UNPACK_LSB_FIRST + + + If true, + bits are ordered within a byte from least significant to most significant; + otherwise, + the first bit in each byte is the most significant one. + This is relevant only for bitmap data. + + + + + GL_UNPACK_ROW_LENGTH + + + If greater than 0, + GL_UNPACK_ROW_LENGTH defines the number of pixels in a row. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + + + + + + a + s + + + + + + + + s + + n + + l + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_UNPACK_ROW_LENGTH if it is greater than 0, + the + width + argument to the pixel routine otherwise), + a + is the value of GL_UNPACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + In the case of 1-bit values, + the location of the next row is obtained by skipping + + + + + + k + = + + 8 + + a + + + + + + n + + l + + + + + 8 + + a + + + + + + + + + + components or indices. + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_UNPACK_IMAGE_HEIGHT + + + If greater than 0, + GL_UNPACK_IMAGE_HEIGHT defines the number of pixels in an image of + a three-dimensional texture volume. Where ``image'' is defined by all + pixel sharing the same third dimension index. + If the first pixel of a row is placed at location + p + in memory, + then the location of the first pixel of the next row is obtained by skipping + + + + + + k + = + + + + + + n + + l + + h + + + + + + + a + s + + + + + + + + s + + n + + l + + h + + + a + + + + + + + + + + s + >= + a + + + + + s + < + a + + + + + + + + + + components or indices, + where + n + is the number of components or indices in a pixel, + l + is the number of pixels in a row + (GL_UNPACK_ROW_LENGTH if it is greater than 0, + the + width + argument to glTexImage3D otherwise), + h + is the number of rows in an image (GL_UNPACK_IMAGE_HEIGHT if + it is greater than 0, the + height + argument to glTexImage3D otherwise), + a + is the value of GL_UNPACK_ALIGNMENT, and + s + is the size, in bytes, of a single component + (if + + + + a + < + s + + , + then it is as if + + + + a + = + s + + ). + + + The word component in this description refers to the nonindex values + red, + green, + blue, + alpha, + and depth. + Storage format GL_RGB, + for example, + has three components per pixel: + first red, + then green, + and finally blue. + + + + + GL_UNPACK_SKIP_PIXELS and GL_UNPACK_SKIP_ROWS + + + These values are provided as a convenience to the programmer; + they provide no functionality that cannot be duplicated by + incrementing the pointer passed to + glDrawPixels, + glTexImage1D, + glTexImage2D, + glTexSubImage1D, + glTexSubImage2D, + glBitmap, or + glPolygonStipple. + Setting GL_UNPACK_SKIP_PIXELS to + i + is equivalent to incrementing + the pointer by + + + + i + + n + + + components or indices, + where + n + is the number of components or indices in each pixel. + Setting GL_UNPACK_SKIP_ROWS to + j + is equivalent to incrementing + the pointer by + + + + j + + k + + + components or indices, + where + k + is the number of components or indices per row, + as just computed in the GL_UNPACK_ROW_LENGTH section. + + + + + GL_UNPACK_ALIGNMENT + + + Specifies the alignment requirements for the start of each pixel row in memory. + The allowable values are + 1 (byte-alignment), + 2 (rows aligned to even-numbered bytes), + 4 (word-alignment), and + 8 (rows start on double-word boundaries). + + + + + + The following table gives the type, + initial value, + and range of valid values for each storage parameter + that can be set with glPixelStore. + + + + + + + + + + + + + pname + + + Type + + + Initial Value + + + Valid Range + + + + + + + GL_PACK_SWAP_BYTES + + + boolean + + + false + + + true or false + + + + + GL_PACK_LSB_FIRST + + + boolean + + + false + + + true or false + + + + + GL_PACK_ROW_LENGTH + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_IMAGE_HEIGHT + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_ROWS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_PIXELS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_SKIP_IMAGES + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_PACK_ALIGNMENT + + + integer + + + 4 + + + 1, 2, 4, or 8 + + + + + GL_UNPACK_SWAP_BYTES + + + boolean + + + false + + + true or false + + + + + GL_UNPACK_LSB_FIRST + + + boolean + + + false + + + true or false + + + + + GL_UNPACK_ROW_LENGTH + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_IMAGE_HEIGHT + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_ROWS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_PIXELS + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_SKIP_IMAGES + + + integer + + + 0 + + + + + + 0 + + + + + + + + GL_UNPACK_ALIGNMENT + + + integer + + + 4 + + + 1, 2, 4, or 8 + + + + + + + glPixelStoref can be used to set any pixel store parameter. + If the parameter type is boolean, + then if param is 0, + the parameter is false; + otherwise it is set to true. + If pname is a integer type parameter, + param is rounded to the nearest integer. + + + Likewise, glPixelStorei can also be used to set any of the + pixel store parameters. + Boolean parameters are set to false if param is 0 and true otherwise. + + + Notes + + The pixel storage modes in effect when + glDrawPixels, + glReadPixels, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glBitmap, + or glPolygonStipple is placed in a display list control the interpretation + of memory data. + Likewise, if the ARB_imaging extension is supported, the pixel + storage modes in effect when + glColorTable, + glColorSubTable, + glConvolutionFilter1D, + glConvolutionFilter2D, of + glSeparableFilter2D is placed in a display list control the + interpretation of memory data. + The pixel storage modes in effect when a display list is executed are + not significant. + + + Pixel storage modes are client state and must be pushed and restored + using + glPushClientAttrib and glPopClientAttrib. + + + Errors + + GL_INVALID_ENUM is generated if pname is not an accepted value. + + + GL_INVALID_VALUE is generated if a negative row length, + pixel skip, + or row skip value is specified, + or if alignment is specified as other than 1, 2, 4, or 8. + + + GL_INVALID_OPERATION is generated if glPixelStore + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_PACK_SWAP_BYTES + + + glGet with argument GL_PACK_LSB_FIRST + + + glGet with argument GL_PACK_ROW_LENGTH + + + glGet with argument GL_PACK_IMAGE_HEIGHT + + + glGet with argument GL_PACK_SKIP_ROWS + + + glGet with argument GL_PACK_SKIP_PIXELS + + + glGet with argument GL_PACK_SKIP_IMAGES + + + glGet with argument GL_PACK_ALIGNMENT + + + glGet with argument GL_UNPACK_SWAP_BYTES + + + glGet with argument GL_UNPACK_LSB_FIRST + + + glGet with argument GL_UNPACK_ROW_LENGTH + + + glGet with argument GL_UNPACK_IMAGE_HEIGHT + + + glGet with argument GL_UNPACK_SKIP_ROWS + + + glGet with argument GL_UNPACK_SKIP_PIXELS + + + glGet with argument GL_UNPACK_SKIP_IMAGES + + + glGet with argument GL_UNPACK_ALIGNMENT + + + See Also + + glBitmap, + glColorTable, + glColorSubTable, + glConvolutionFilter1D, + glConvolutionFilter2D, + glSeparableFilter2D, + glDrawPixels, + glHistogram, + glMinmax, + glPixelMap, + glPixelTransfer, + glPixelZoom, + glPolygonStipple, + glPushClientAttrib, + glReadPixels, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glPixelTransfer.xml b/Source/Bind/Specifications/Docs/GL2/glPixelTransfer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPixelTransfer.xml rename to Source/Bind/Specifications/Docs/GL2/glPixelTransfer.xml diff --git a/Source/Bind/Specifications/Docs/glPixelZoom.xml b/Source/Bind/Specifications/Docs/GL2/glPixelZoom.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPixelZoom.xml rename to Source/Bind/Specifications/Docs/GL2/glPixelZoom.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glPointParameter.xml b/Source/Bind/Specifications/Docs/GL2/glPointParameter.xml new file mode 100644 index 00000000..f342a4a6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glPointParameter.xml @@ -0,0 +1,233 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glPointParameter + 3G + + + glPointParameter + specify point parameters + + C Specification + + + void glPointParameterf + GLenum pname + GLfloat param + + + + + + void glPointParameteri + GLenum pname + GLint param + + + + + Parameters + + + pname + + + Specifies a single-valued point parameter. + GL_POINT_SIZE_MIN, + GL_POINT_SIZE_MAX, + GL_POINT_FADE_THRESHOLD_SIZE, and + GL_POINT_SPRITE_COORD_ORIGIN + are accepted. + + + + + param + + + Specifies the value that pname will be set to. + + + + + + C Specification + + + void glPointParameterfv + GLenum pname + const GLfloat * params + + + + + + void glPointParameteriv + GLenum pname + const GLint * params + + + + Parameters + + + pname + + + Specifies a point parameter. + GL_POINT_SIZE_MIN, + GL_POINT_SIZE_MAX, + GL_POINT_DISTANCE_ATTENUATION, + GL_POINT_FADE_THRESHOLD_SIZE, and + GL_POINT_SPRITE_COORD_ORIGIN + are accepted. + + + + + params + + + Specifies the value or values to be assigned to pname. + GL_POINT_DISTANCE_ATTENUATION requires an array of three values. + All other parameters accept an array containing only a single value. + + + + + + Description + + The following values are accepted for pname: + + + + GL_POINT_SIZE_MIN + + + + + params is a single floating-point value that specifies the minimum point size. The default value is 0.0. + + + + + GL_POINT_SIZE_MAX + + + + + params is a single floating-point value that specifies the maximum point size. The default value is 1.0. + + + + + GL_POINT_FADE_THRESHOLD_SIZE + + + + + params is a single floating-point value that specifies the threshold value + to which point sizes are clamped if they exceed the specified value. The + default value is 1.0. + + + + + GL_POINT_DISTANCE_ATTENUATION + + + + + params is an array of three floating-point values that specify the + coefficients used for scaling the computed point size. The default values + are + + + + 1 + 0 + 0 + + . + + + + + GL_POINT_SPRITE_COORD_ORIGIN + + + + + params is a single enum specifying the point sprite texture coordinate origin, either GL_LOWER_LEFT or GL_UPPER_LEFT. + The default value is GL_UPPER_LEFT. + + + + + + Notes + + glPointParameter is available only if the GL version is 1.4 or greater. + + + GL_POINT_SPRITE_COORD_ORIGIN is available only if the GL version is 2.0 or greater. + + + Errors + + GL_INVALID_VALUE is generated If the value specified for + GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, or + GL_POINT_FADE_THRESHOLD_SIZE is less than zero. + + + GL_INVALID_ENUM is generated If the value specified for + GL_POINT_SPRITE_COORD_ORIGIN is not GL_LOWER_LEFT or GL_UPPER_LEFT. + + + If the value for GL_POINT_SIZE_MIN is greater than + GL_POINT_SIZE_MAX, the point size after clamping is undefined, but no + error is generated. + + + + + Associated Gets + + glGet with argument GL_POINT_SIZE_MIN + + + glGet with argument GL_POINT_SIZE_MAX + + + glGet with argument GL_POINT_FADE_THRESHOLD_SIZE + + + glGet with argument GL_POINT_DISTANCE_ATTENUATION + + + glGet with argument GL_POINT_SPRITE_COORD_ORIGIN + + + See Also + + glPointSize + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glPointSize.xml b/Source/Bind/Specifications/Docs/GL2/glPointSize.xml new file mode 100644 index 00000000..42ad2c98 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glPointSize.xml @@ -0,0 +1,403 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glPointSize + 3G + + + glPointSize + specify the diameter of rasterized points + + C Specification + + + void glPointSize + GLfloat size + + + + + Parameters + + + size + + + Specifies the diameter of rasterized points. + The initial value is 1. + + + + + + Description + + glPointSize specifies the rasterized diameter of both aliased and antialiased + points. Using a point size other than 1 has different effects, depending + on whether point antialiasing is enabled. To enable and disable point + antialiasing, call glEnable and glDisable with argument + GL_POINT_SMOOTH. Point antialiasing is initially disabled. + + + The specified point size is multiplied with a distance attenuation factor + and clamped to the specified point size range, and further clamped to the + implementation-dependent point size range to produce the derived point size + using + + + + + + pointSize + = + + clamp + + + + size + × + + + + + 1 + + + a + + + + b + × + d + + + + + c + × + + d + 2 + + + + + + + + + + + + + + + + + where + d + is the eye-coordinate distance from the eye to the vertex, and + a, + b, + and + c + are the distance attenuation coefficients (see + glPointParameter). + + + If multisampling is disabled, the computed point size is used as the + point's width. + + + If multisampling is enabled, the point may be faded by modifying the point + alpha value (see glSampleCoverage) instead of allowing the point width + to go below a given threshold (see glPointParameter). In this case, + the width is further modified in the following manner: + + + + + + pointWidth + = + + + + + pointSize + + + threshold + + + + + + + pointSize + >= + threshold + + + + otherwise + + + + + + + + + The point alpha value is modified by computing: + + + + + + pointAlpha + = + + + + + 1 + + + + + pointSize + threshold + + + 2 + + + + + + + + pointSize + >= + threshold + + + + otherwise + + + + + + + + + If point antialiasing is disabled, the actual size is determined by + rounding the supplied size to the nearest integer. (If the rounding + results in the value 0, it is as if the point size were 1.) If the rounded + size is odd, then the center point + ( + + x + , + + + y + ) + of the pixel fragment + that represents the point is computed as + + + + + + + + x + w + + + + + .5 + + + + y + w + + + + + .5 + + + + + + where + w + subscripts indicate window coordinates. All pixels that lie + within the square grid of the rounded size centered at + ( + + x + , + + + y + ) + make + up the fragment. If the size is even, the center point is + + + + + + + + x + w + + + + .5 + + + + + y + w + + + + .5 + + + + + + + and the rasterized fragment's centers are the half-integer window + coordinates within the square of the rounded size centered at + + + + x + y + + . + All pixel fragments produced in rasterizing a nonantialiased point are + assigned the same associated data, that of the vertex corresponding to the + point. + + + If antialiasing is enabled, then point rasterization produces a fragment + for each pixel square that intersects the region lying within the circle + having diameter equal to the current point size and centered at the point's + + + + x + w + + y + w + + + . + The coverage value for each fragment is the + window coordinate area of the intersection of the circular region with the + corresponding pixel square. This value is saved and used in the final + rasterization step. The data associated with each fragment is the data + associated with the point being rasterized. + + + Not all sizes are supported when point antialiasing is enabled. If an + unsupported size is requested, the nearest supported size is used. Only + size 1 is guaranteed to be supported; others depend on the implementation. + To query the range of supported sizes and the size difference between + supported sizes within the range, call glGet with arguments + GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY. + For aliased points, query the supported ranges and granularity with + glGet with arguments GL_ALIASED_POINT_SIZE_RANGE. + + + Notes + + The point size specified by glPointSize is always returned when + GL_POINT_SIZE is queried. Clamping and rounding for aliased and + antialiased points have no effect on the specified value. + + + A non-antialiased point size may be clamped to an implementation-dependent + maximum. Although this maximum cannot be queried, it must be no less than + the maximum value for antialiased points, rounded to the nearest integer + value. + + + GL_POINT_SIZE_RANGE and GL_POINT_SIZE_GRANULARITY are + deprecated in GL versions 1.2 and greater. Their functionality has been + replaced by GL_SMOOTH_POINT_SIZE_RANGE and + GL_SMOOTH_POINT_SIZE_GRANULARITY. + + + Errors + + GL_INVALID_VALUE is generated if size is less than or equal to 0. + + + GL_INVALID_OPERATION is generated if glPointSize + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_ALIASED_POINT_SIZE_RANGE + + + glGet with argument GL_POINT_SIZE + + + glGet with argument GL_POINT_SIZE_MIN + + + glGet with argument GL_POINT_SIZE_MAX + + + glGet with argument GL_POINT_FADE_THRESHOLD_SIZE + + + glGet with argument GL_POINT_DISTANCE_ATTENUATION + + + glGet with argument GL_SMOOTH_POINT_SIZE_RANGE + + + glGet with argument GL_SMOOTH_POINT_SIZE_GRANULARITY + + + glIsEnabled with argument GL_POINT_SMOOTH + + + See Also + + glEnable, + glPointParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glPolygonMode.xml b/Source/Bind/Specifications/Docs/GL2/glPolygonMode.xml new file mode 100644 index 00000000..71613136 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glPolygonMode.xml @@ -0,0 +1,167 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glPolygonMode + 3G + + + glPolygonMode + select a polygon rasterization mode + + C Specification + + + void glPolygonMode + GLenum face + GLenum mode + + + + Parameters + + + face + + + Specifies the polygons that mode applies to. + Must be + GL_FRONT for front-facing polygons, + GL_BACK for back-facing polygons, + or GL_FRONT_AND_BACK for front- and back-facing polygons. + + + + + mode + + + Specifies how polygons will be rasterized. + Accepted values are + GL_POINT, + GL_LINE, and + GL_FILL. + The initial value is GL_FILL for both front- and back-facing polygons. + + + + + + Description + + glPolygonMode controls the interpretation of polygons for rasterization. + face describes which polygons mode applies to: + front-facing polygons (GL_FRONT), + back-facing polygons (GL_BACK), + or both (GL_FRONT_AND_BACK). + The polygon mode affects only the final rasterization of polygons. + In particular, + a polygon's vertices are lit and + the polygon is clipped and possibly culled before these modes are applied. + + + Three modes are defined and can be specified in mode: + + + + GL_POINT + + + Polygon vertices that are marked as the start of a boundary edge + are drawn as points. + Point attributes such as + GL_POINT_SIZE and + GL_POINT_SMOOTH control + the rasterization of the points. + Polygon rasterization attributes other than GL_POLYGON_MODE have no effect. + + + + + GL_LINE + + + Boundary edges of the polygon are drawn as line segments. + They are treated as connected line segments for line stippling; + the line stipple counter and pattern are not reset between segments + (see glLineStipple). + Line attributes such as + GL_LINE_WIDTH and + GL_LINE_SMOOTH control + the rasterization of the lines. + Polygon rasterization attributes other than GL_POLYGON_MODE have no effect. + + + + + GL_FILL + + + The interior of the polygon is filled. + Polygon attributes such as + GL_POLYGON_STIPPLE and + GL_POLYGON_SMOOTH control the rasterization of the polygon. + + + + + + Examples + + To draw a surface with filled back-facing polygons + and outlined front-facing polygons, + call + +glPolygonMode(GL_FRONT, GL_LINE); + + + + Notes + + Vertices are marked as boundary or nonboundary with an edge flag. + Edge flags are generated internally by the GL when it decomposes + polygons; they can be set explicitly using glEdgeFlag. + + + Errors + + GL_INVALID_ENUM is generated if either face or mode is not + an accepted value. + + + GL_INVALID_OPERATION is generated if glPolygonMode + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_POLYGON_MODE + + + See Also + + glBegin, + glEdgeFlag, + glLineStipple, + glLineWidth, + glPointSize, + glPolygonStipple + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glPolygonOffset.xml b/Source/Bind/Specifications/Docs/GL2/glPolygonOffset.xml new file mode 100644 index 00000000..d43edf84 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glPolygonOffset.xml @@ -0,0 +1,139 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glPolygonOffset + 3G + + + glPolygonOffset + set the scale and units used to calculate depth values + + C Specification + + + void glPolygonOffset + GLfloat factor + GLfloat units + + + + + Parameters + + + factor + + + Specifies a scale factor that is used to create a variable + depth offset for each polygon. The initial value is 0. + + + + + units + + + Is multiplied by an implementation-specific value to + create a constant depth offset. The initial value is 0. + + + + + + Description + + When GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, or + GL_POLYGON_OFFSET_POINT is enabled, each + fragment's depth value will be offset after it is interpolated + from the depth values of the appropriate vertices. + The value of the offset is + + + + + factor + × + DZ + + + + + r + × + units + + + , + where + + + DZ + + is a measurement of the change in depth relative to the screen + area of the polygon, and + r + is the smallest value that is guaranteed to + produce a resolvable offset for a given implementation. + The offset is added before the depth test is performed and before + the value is written into the depth buffer. + + + glPolygonOffset is useful for rendering hidden-line images, for applying decals + to surfaces, and for rendering solids with highlighted edges. + + + Notes + + glPolygonOffset is available only if the GL version is 1.1 or greater. + + + glPolygonOffset has no effect on depth coordinates placed in the + feedback buffer. + + + glPolygonOffset has no effect on selection. + + + Errors + + GL_INVALID_OPERATION is generated if glPolygonOffset is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glIsEnabled with argument + GL_POLYGON_OFFSET_FILL, + GL_POLYGON_OFFSET_LINE, + or GL_POLYGON_OFFSET_POINT. + + + glGet with argument GL_POLYGON_OFFSET_FACTOR or + GL_POLYGON_OFFSET_UNITS. + + + See Also + + glDepthFunc, + glEnable, + glGet, + glIsEnabled + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glPolygonStipple.xml b/Source/Bind/Specifications/Docs/GL2/glPolygonStipple.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPolygonStipple.xml rename to Source/Bind/Specifications/Docs/GL2/glPolygonStipple.xml diff --git a/Source/Bind/Specifications/Docs/glPrioritizeTextures.xml b/Source/Bind/Specifications/Docs/GL2/glPrioritizeTextures.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPrioritizeTextures.xml rename to Source/Bind/Specifications/Docs/GL2/glPrioritizeTextures.xml diff --git a/Source/Bind/Specifications/Docs/glPushAttrib.xml b/Source/Bind/Specifications/Docs/GL2/glPushAttrib.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPushAttrib.xml rename to Source/Bind/Specifications/Docs/GL2/glPushAttrib.xml diff --git a/Source/Bind/Specifications/Docs/glPushClientAttrib.xml b/Source/Bind/Specifications/Docs/GL2/glPushClientAttrib.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPushClientAttrib.xml rename to Source/Bind/Specifications/Docs/GL2/glPushClientAttrib.xml diff --git a/Source/Bind/Specifications/Docs/glPushMatrix.xml b/Source/Bind/Specifications/Docs/GL2/glPushMatrix.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPushMatrix.xml rename to Source/Bind/Specifications/Docs/GL2/glPushMatrix.xml diff --git a/Source/Bind/Specifications/Docs/glPushName.xml b/Source/Bind/Specifications/Docs/GL2/glPushName.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glPushName.xml rename to Source/Bind/Specifications/Docs/GL2/glPushName.xml diff --git a/Source/Bind/Specifications/Docs/glRasterPos.xml b/Source/Bind/Specifications/Docs/GL2/glRasterPos.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glRasterPos.xml rename to Source/Bind/Specifications/Docs/GL2/glRasterPos.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glReadBuffer.xml b/Source/Bind/Specifications/Docs/GL2/glReadBuffer.xml new file mode 100644 index 00000000..c867bef2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glReadBuffer.xml @@ -0,0 +1,120 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glReadBuffer + 3G + + + glReadBuffer + select a color buffer source for pixels + + C Specification + + + void glReadBuffer + GLenum mode + + + + Parameters + + + mode + + + Specifies a color buffer. + Accepted values are + GL_FRONT_LEFT, + GL_FRONT_RIGHT, + GL_BACK_LEFT, + GL_BACK_RIGHT, + GL_FRONT, + GL_BACK, + GL_LEFT, + GL_RIGHT, and + GL_AUXi, + where i is between 0 and the value of GL_AUX_BUFFERS minus 1. + + + + + + Description + + glReadBuffer specifies a color buffer as the source for subsequent + glReadPixels, glCopyTexImage1D, glCopyTexImage2D, + glCopyTexSubImage1D, glCopyTexSubImage2D, + glCopyTexSubImage3D, and + glCopyPixels commands. + mode accepts one of twelve or more predefined values. + (GL_AUX0 through GL_AUX3 are always defined.) + In a fully configured system, + GL_FRONT, + GL_LEFT, and + GL_FRONT_LEFT all name the front left buffer, + GL_FRONT_RIGHT and + GL_RIGHT name the front right buffer, and + GL_BACK_LEFT and + GL_BACK name the back left buffer. + + + Nonstereo double-buffered configurations have only a front left and a + back left buffer. + Single-buffered configurations have a front left and a front right + buffer if stereo, and only a front left buffer if nonstereo. + It is an error to specify a nonexistent buffer to glReadBuffer. + + + mode is initially GL_FRONT in single-buffered configurations + and GL_BACK in double-buffered configurations. + + + Errors + + GL_INVALID_ENUM is generated if mode is not one of the twelve + (or more) accepted values. + + + GL_INVALID_OPERATION is generated if mode specifies a buffer + that does not exist. + + + GL_INVALID_OPERATION is generated if glReadBuffer + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_READ_BUFFER + + + See Also + + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawBuffer, + glReadPixels + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glReadPixels.xml b/Source/Bind/Specifications/Docs/GL2/glReadPixels.xml new file mode 100644 index 00000000..296244f2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glReadPixels.xml @@ -0,0 +1,859 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glReadPixels + 3G + + + glReadPixels + read a block of pixels from the frame buffer + + C Specification + + + void glReadPixels + GLint x + GLint y + GLsizei width + GLsizei height + GLenum format + GLenum type + GLvoid * data + + + + + Parameters + + + x + y + + + Specify the window coordinates of the first pixel + that is read from the frame buffer. + This location is the lower left corner of a rectangular block of pixels. + + + + + width + height + + + Specify the dimensions of the pixel rectangle. + width and height of one correspond to a single pixel. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_COLOR_INDEX, + GL_STENCIL_INDEX, + GL_DEPTH_COMPONENT, + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + Must be one of + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_BITMAP, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_FLOAT, + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV. + + + + + data + + + Returns the pixel data. + + + + + + Description + + glReadPixels returns pixel data from the frame buffer, + starting with the pixel whose lower left corner + is at location (x, y), + into client memory starting at location data. + Several parameters control the processing of the pixel data before + it is placed into client memory. + These parameters are set with three commands: + glPixelStore, + glPixelTransfer, and + glPixelMap. + This reference page describes the effects on glReadPixels of most, + but not all of the parameters specified by these three commands. + + + If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target + (see glBindBuffer) while a block of pixels is + requested, data is treated as a byte offset into the buffer object's data store + rather than a pointer to client memory. + + + When the ARB_imaging extension is supported, the pixel data may + be processed by additional operations including color table lookup, + color matrix transformations, convolutions, histograms, and minimum and + maximum pixel value computations. + + + glReadPixels returns values from each pixel with lower left corner at + + + + + x + + + i + + + y + + + j + + + + for + + + + 0 + <= + i + < + width + + + and + + + + 0 + <= + j + < + height + + . + This pixel is said to be the + ith + pixel in the + jth + row. + Pixels are returned in row order from the lowest to the highest row, + left to right in each row. + + + format specifies the format for the returned pixel values; + accepted values are: + + + + GL_COLOR_INDEX + + + Color indices are read from the color buffer + selected by glReadBuffer. + Each index is converted to fixed point, + shifted left or right depending on the value and sign of GL_INDEX_SHIFT, + and added to GL_INDEX_OFFSET. + If GL_MAP_COLOR is GL_TRUE, + indices are replaced by their mappings in the table GL_PIXEL_MAP_I_TO_I. + + + + + GL_STENCIL_INDEX + + + Stencil values are read from the stencil buffer. + Each index is converted to fixed point, + shifted left or right depending on the value and sign of GL_INDEX_SHIFT, + and added to GL_INDEX_OFFSET. + If GL_MAP_STENCIL is GL_TRUE, + indices are replaced by their mappings in the table GL_PIXEL_MAP_S_TO_S. + + + + + GL_DEPTH_COMPONENT + + + Depth values are read from the depth buffer. + Each component is converted to floating point such that the minimum depth + value maps to 0 and the maximum value maps to 1. + Each component is then multiplied by GL_DEPTH_SCALE, + added to GL_DEPTH_BIAS, + and finally clamped to the range + + + + 0 + 1 + + . + + + + + GL_RED + + + + + GL_GREEN + + + + + GL_BLUE + + + + + GL_ALPHA + + + + + GL_RGB + + + + + GL_BGR + + + + + GL_RGBA + + + + + GL_BGRA + + + + + GL_LUMINANCE + + + + + GL_LUMINANCE_ALPHA + + + Processing differs depending on whether color buffers store color indices + or RGBA color components. + If color indices are stored, + they are read from the color buffer selected by glReadBuffer. + Each index is converted to fixed point, + shifted left or right depending on the value and sign of GL_INDEX_SHIFT, + and added to GL_INDEX_OFFSET. + Indices are then replaced by the red, + green, + blue, + and alpha values obtained by indexing the tables + GL_PIXEL_MAP_I_TO_R, + GL_PIXEL_MAP_I_TO_G, + GL_PIXEL_MAP_I_TO_B, and + GL_PIXEL_MAP_I_TO_A. + Each table must be of size + + + 2 + n + + , + but + n + may be different for + different tables. + Before an index is used to look up a value in a table of + size + + + 2 + n + + , + it must be masked against + + + + 2 + n + + - + 1 + + . + + + If RGBA color components are stored in the color buffers, + they are read from the color buffer selected by glReadBuffer. + Each color component is converted to floating point such that zero intensity + maps to 0.0 and full intensity maps to 1.0. + Each component is then multiplied by GL_c_SCALE and + added to GL_c_BIAS, + where c is RED, GREEN, BLUE, or ALPHA. + Finally, + if GL_MAP_COLOR is GL_TRUE, + each component is clamped to the range + + + + 0 + 1 + + , + scaled to the size of its corresponding table, and is then + replaced by its mapping in the table + GL_PIXEL_MAP_c_TO_c, + where c is R, G, B, or A. + + + Unneeded data is then discarded. + For example, + GL_RED discards the green, blue, and alpha components, + while GL_RGB discards only the alpha component. + GL_LUMINANCE computes a single-component value as the sum of + the red, + green, + and blue components, + and GL_LUMINANCE_ALPHA does the same, + while keeping alpha as a second value. + The final values are clamped to the range + + + + 0 + 1 + + . + + + + + + The shift, + scale, + bias, + and lookup factors just described are all specified by + glPixelTransfer. + The lookup table contents themselves are specified by glPixelMap. + + + Finally, the indices or components + are converted to the proper format, + as specified by type. + If format is GL_COLOR_INDEX or GL_STENCIL_INDEX + and type is not GL_FLOAT, + each index is masked with the mask value given in the following table. + If type is GL_FLOAT, then each integer index is converted to + single-precision floating-point format. + + + If format is + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, or + GL_LUMINANCE_ALPHA and type is not GL_FLOAT, + each component is multiplied by the multiplier shown in the following table. + If type is GL_FLOAT, then each component is passed as is + (or converted to the client's single-precision floating-point format if + it is different from the one used by the GL). + + + + + + + + + + + + type + + + Index Mask + + + Component Conversion + + + + + + + GL_UNSIGNED_BYTE + + + + + + 2 + 8 + + - + 1 + + + + + + + + + + 2 + 8 + + - + 1 + + + + c + + + + + + + GL_BYTE + + + + + + 2 + 7 + + - + 1 + + + + + + + + + + + + 2 + 8 + + - + 1 + + + + c + - + 1 + + + 2 + + + + + + + GL_BITMAP + + + + + 1 + + + + + + 1 + + + + + + GL_UNSIGNED_SHORT + + + + + + 2 + 16 + + - + 1 + + + + + + + + + + 2 + 16 + + - + 1 + + + + c + + + + + + + GL_SHORT + + + + + + 2 + 15 + + - + 1 + + + + + + + + + + + + 2 + 16 + + - + 1 + + + + c + - + 1 + + + 2 + + + + + + + GL_UNSIGNED_INT + + + + + + 2 + 32 + + - + 1 + + + + + + + + + + 2 + 32 + + - + 1 + + + + c + + + + + + + GL_INT + + + + + + 2 + 31 + + - + 1 + + + + + + + + + + + + 2 + 32 + + - + 1 + + + + c + - + 1 + + + 2 + + + + + + + GL_FLOAT + + + none + + + c + + + + + + + Return values are placed in memory as follows. + If format is + GL_COLOR_INDEX, + GL_STENCIL_INDEX, + GL_DEPTH_COMPONENT, + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, or + GL_LUMINANCE, + a single value is returned and the data for the + ith + pixel in the + jth + row + is placed in location + + + + + j + + + width + + + i + + . + GL_RGB and GL_BGR return three values, + GL_RGBA and GL_BGRA return four values, + and GL_LUMINANCE_ALPHA returns two values for each pixel, + with all values corresponding to a single pixel occupying contiguous space + in data. + Storage parameters set by glPixelStore, + such as GL_PACK_LSB_FIRST and GL_PACK_SWAP_BYTES, + affect the way that data is written into memory. + See glPixelStore for a description. + + + Notes + + Values for pixels that lie outside the window + connected to the current GL context are undefined. + + + If an error is generated, + no change is made to the contents of data. + + + Errors + + GL_INVALID_ENUM is generated if format or type is not an + accepted value. + + + GL_INVALID_ENUM is generated if type is GL_BITMAP and format is + not GL_COLOR_INDEX or GL_STENCIL_INDEX. + + + GL_INVALID_VALUE is generated if either width or height is negative. + + + GL_INVALID_OPERATION is generated if format is GL_COLOR_INDEX + and the color buffers store RGBA color components. + + + GL_INVALID_OPERATION is generated if format is GL_STENCIL_INDEX + and there is no stencil buffer. + + + GL_INVALID_OPERATION is generated if format is GL_DEPTH_COMPONENT + and there is no depth buffer. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, or + GL_UNSIGNED_SHORT_5_6_5_REV + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV + and format is neither GL_RGBA nor GL_BGRA. + + + The formats GL_BGR, and GL_BGRA and types + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version + is 1.2 or greater. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer + object such that the memory writes required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_PACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + GL_INVALID_OPERATION is generated if glReadPixels + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_INDEX_MODE + + + glGet with argument GL_PIXEL_PACK_BUFFER_BINDING + + + See Also + + glCopyPixels, + glDrawPixels, + glPixelMap, + glPixelStore, + glPixelTransfer, + glReadBuffer + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glRect.xml b/Source/Bind/Specifications/Docs/GL2/glRect.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glRect.xml rename to Source/Bind/Specifications/Docs/GL2/glRect.xml diff --git a/Source/Bind/Specifications/Docs/glRenderMode.xml b/Source/Bind/Specifications/Docs/GL2/glRenderMode.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glRenderMode.xml rename to Source/Bind/Specifications/Docs/GL2/glRenderMode.xml diff --git a/Source/Bind/Specifications/Docs/glResetHistogram.xml b/Source/Bind/Specifications/Docs/GL2/glResetHistogram.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glResetHistogram.xml rename to Source/Bind/Specifications/Docs/GL2/glResetHistogram.xml diff --git a/Source/Bind/Specifications/Docs/glResetMinmax.xml b/Source/Bind/Specifications/Docs/GL2/glResetMinmax.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glResetMinmax.xml rename to Source/Bind/Specifications/Docs/GL2/glResetMinmax.xml diff --git a/Source/Bind/Specifications/Docs/glRotate.xml b/Source/Bind/Specifications/Docs/GL2/glRotate.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glRotate.xml rename to Source/Bind/Specifications/Docs/GL2/glRotate.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glSampleCoverage.xml b/Source/Bind/Specifications/Docs/GL2/glSampleCoverage.xml new file mode 100644 index 00000000..f79e44b1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glSampleCoverage.xml @@ -0,0 +1,131 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glSampleCoverage + 3G + + + glSampleCoverage + specify multisample coverage parameters + + C Specification + + + void glSampleCoverage + GLclampf value + GLboolean invert + + + + + Parameters + + + value + + + Specify a single floating-point sample coverage value. The value is + clamped to the range + + + + 0 + 1 + + . + The initial value is 1.0. + + + + + invert + + + Specify a single boolean value representing if the coverage masks should be + inverted. GL_TRUE and GL_FALSE are accepted. The initial value + is GL_FALSE. + + + + + + Description + + Multisampling samples a pixel multiple times at various + implementation-dependent subpixel locations to generate antialiasing + effects. Multisampling transparently antialiases points, lines, polygons, + bitmaps, and images if it is enabled. + + + value is used in constructing a temporary mask used in determining which + samples will be used in resolving the final fragment color. This mask is + bitwise-anded with the coverage mask generated from the multisampling + computation. If the invert flag is set, the temporary mask is inverted + (all bits flipped) and then the bitwise-and is computed. + + + If an implementation does not have any multisample buffers available, or + multisampling is disabled, rasterization occurs with only a single sample + computing a pixel's final RGB color. + + + Provided an implementation supports multisample buffers, and multisampling + is enabled, then a pixel's final color is generated by combining several + samples per pixel. Each sample contains color, depth, and stencil + information, allowing those operations to be performed on each sample. + + + Notes + + glSampleCoverage is available only if the GL version is 1.3 or greater. + + + Errors + + GL_INVALID_OPERATION is generated if glSampleCoverage is executed between the + execution of glBegin and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_SAMPLE_COVERAGE_VALUE + + + glGet with argument GL_SAMPLE_COVERAGE_INVERT + + + glIsEnabled with argument GL_MULTISAMPLE + + + glIsEnabled with argument GL_SAMPLE_ALPHA_TO_COVERAGE + + + glIsEnabled with argument GL_SAMPLE_ALPHA_TO_ONE + + + glIsEnabled with argument GL_SAMPLE_COVERAGE + + + See Also + + glEnable, + glPushAttrib + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glScale.xml b/Source/Bind/Specifications/Docs/GL2/glScale.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glScale.xml rename to Source/Bind/Specifications/Docs/GL2/glScale.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glScissor.xml b/Source/Bind/Specifications/Docs/GL2/glScissor.xml new file mode 100644 index 00000000..ee4d5280 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glScissor.xml @@ -0,0 +1,114 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glScissor + 3G + + + glScissor + define the scissor box + + C Specification + + + void glScissor + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + x + y + + + Specify the lower left corner of the scissor box. + Initially (0, 0). + + + + + width + height + + + Specify the width and height of the scissor box. + When a GL context is first attached to a window, + width and height are set to the dimensions of that + window. + + + + + + Description + + glScissor defines a rectangle, called the scissor box, + in window coordinates. + The first two arguments, + x and y, + specify the lower left corner of the box. + width and height specify the width and height of the box. + + + To enable and disable the scissor test, call + glEnable and glDisable with argument + GL_SCISSOR_TEST. The test is initially disabled. + While the test is enabled, only pixels that lie within the scissor box + can be modified by drawing commands. + Window coordinates have integer values at the shared corners of + frame buffer pixels. + glScissor(0,0,1,1) allows modification of only the lower left + pixel in the window, and glScissor(0,0,0,0) doesn't allow + modification of any pixels in the window. + + + When the scissor test is disabled, + it is as though the scissor box includes the entire window. + + + Errors + + GL_INVALID_VALUE is generated if either width or height is negative. + + + GL_INVALID_OPERATION is generated if glScissor + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_SCISSOR_BOX + + + glIsEnabled with argument GL_SCISSOR_TEST + + + See Also + + glEnable, + glViewport + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glSecondaryColor.xml b/Source/Bind/Specifications/Docs/GL2/glSecondaryColor.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glSecondaryColor.xml rename to Source/Bind/Specifications/Docs/GL2/glSecondaryColor.xml diff --git a/Source/Bind/Specifications/Docs/glSecondaryColorPointer.xml b/Source/Bind/Specifications/Docs/GL2/glSecondaryColorPointer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glSecondaryColorPointer.xml rename to Source/Bind/Specifications/Docs/GL2/glSecondaryColorPointer.xml diff --git a/Source/Bind/Specifications/Docs/glSelectBuffer.xml b/Source/Bind/Specifications/Docs/GL2/glSelectBuffer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glSelectBuffer.xml rename to Source/Bind/Specifications/Docs/GL2/glSelectBuffer.xml diff --git a/Source/Bind/Specifications/Docs/glSeparableFilter2D.xml b/Source/Bind/Specifications/Docs/GL2/glSeparableFilter2D.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glSeparableFilter2D.xml rename to Source/Bind/Specifications/Docs/GL2/glSeparableFilter2D.xml diff --git a/Source/Bind/Specifications/Docs/glShadeModel.xml b/Source/Bind/Specifications/Docs/GL2/glShadeModel.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glShadeModel.xml rename to Source/Bind/Specifications/Docs/GL2/glShadeModel.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glShaderSource.xml b/Source/Bind/Specifications/Docs/GL2/glShaderSource.xml new file mode 100644 index 00000000..740d3c9b --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glShaderSource.xml @@ -0,0 +1,127 @@ + + + + + glShaderSource + 3G + + + glShaderSource + Replaces the source code in a shader object + + C Specification + + + void glShaderSource + GLuint shader + GLsizei count + const GLchar **string + const GLint *length + + + + Parameters + + + shader + + Specifies the handle of the shader object + whose source code is to be replaced. + + + + count + + Specifies the number of elements in the + string and + length + arrays. + + + + string + + Specifies an array of pointers to strings + containing the source code to be loaded into the + shader. + + + + length + + Specifies an array of string lengths. + + + + + Description + glShaderSource sets the source code + in shader to the source code in the array + of strings specified by string. Any + source code previously stored in the shader object is completely + replaced. The number of strings in the array is specified by + count. If length + is NULL, each string is assumed to be null + terminated. If length is a value other + than NULL, it points to an array containing + a string length for each of the corresponding elements of + string. Each element in the + length array may contain the length of + the corresponding string (the null character is not counted as + part of the string length) or a value less than 0 to indicate + that the string is null terminated. The source code strings are + not scanned or parsed at this time; they are simply copied into + the specified shader object. + + Notes + glShaderSource is available only if + the GL version is 2.0 or greater. + + OpenGL copies the shader source code strings when + glShaderSource is called, so an application + may free its copy of the source code strings immediately after + the function returns. + + Errors + GL_INVALID_VALUE is generated if + shader is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + shader is not a shader object. + + GL_INVALID_VALUE is generated if + count is less than 0. + + GL_INVALID_OPERATION is generated if + glShaderSource is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetShader + with arguments shader and + GL_SHADER_SOURCE_LENGTH + + glGetShaderSource + with argument shader + + glIsShader + + See Also + glCompileShader, + glCreateShader, + glDeleteShader + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glStencilFunc.xml b/Source/Bind/Specifications/Docs/GL2/glStencilFunc.xml new file mode 100644 index 00000000..467b6f2f --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glStencilFunc.xml @@ -0,0 +1,299 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glStencilFunc + 3G + + + glStencilFunc + set front and back function and reference value for stencil testing + + + C Specification + + + void glStencilFunc + GLenum func + GLint ref + GLuint mask + + + + Parameters + + + func + + + Specifies the test function. + Eight symbolic constants are valid: + GL_NEVER, + GL_LESS, + GL_LEQUAL, + GL_GREATER, + GL_GEQUAL, + GL_EQUAL, + GL_NOTEQUAL, and + GL_ALWAYS. The initial value is GL_ALWAYS. + + + + + ref + + + Specifies the reference value for the stencil test. + ref is clamped to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. The + initial value is 0. + + + + + mask + + + Specifies a mask that is ANDed with both the reference value + and the stored stencil value when the test is done. The initial value + is all 1's. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + Stencil planes are first drawn into using GL drawing primitives, then + geometry and images are rendered using the stencil planes to mask out + portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the reference value + and the value in the stencil buffer. + To enable and disable the test, call glEnable and glDisable + with argument GL_STENCIL_TEST. + To specify actions based on the outcome of the stencil test, call + glStencilOp or + glStencilOpSeparate. + + + There can be two separate sets of func, ref, and + mask parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilFunc sets both front + and back stencil state to the same values. Use glStencilFuncSeparate + to set front and back stencil state to different values. + + + func is a symbolic constant that determines the stencil comparison function. + It accepts one of eight values, + shown in the following list. + ref is an integer reference value that is used in the stencil comparison. + It is clamped to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + mask is bitwise ANDed with both the reference value + and the stored stencil value, + with the ANDed values participating in the comparison. + + + If stencil represents the value stored in the corresponding + stencil buffer location, + the following list shows the effect of each comparison function + that can be specified by func. + Only if the comparison succeeds is the pixel passed through + to the next stage in the rasterization process + (see glStencilOp). + All tests treat stencil values as unsigned integers in the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + + + The following values are accepted by func: + + + + GL_NEVER + + + Always fails. + + + + + GL_LESS + + + Passes if ( ref & mask ) < ( stencil & mask ). + + + + + GL_LEQUAL + + + Passes if ( ref & mask ) <= ( stencil & mask ). + + + + + GL_GREATER + + + Passes if ( ref & mask ) > ( stencil & mask ). + + + + + GL_GEQUAL + + + Passes if ( ref & mask ) >= ( stencil & mask ). + + + + + GL_EQUAL + + + Passes if ( ref & mask ) = ( stencil & mask ). + + + + + GL_NOTEQUAL + + + Passes if ( ref & mask ) != ( stencil & mask ). + + + + + GL_ALWAYS + + + Always passes. + + + + + + Notes + + Initially, the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur and it is as if + the stencil test always passes. + + + glStencilFunc is the same as + calling glStencilFuncSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if func is not one of the eight + accepted values. + + + GL_INVALID_OPERATION is generated if glStencilFunc + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + See Also + + glAlphaFunc, + glBlendFunc, + glDepthFunc, + glEnable, + glLogicOp, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glStencilFuncSeparate.xml b/Source/Bind/Specifications/Docs/GL2/glStencilFuncSeparate.xml new file mode 100644 index 00000000..8a9c0fd0 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glStencilFuncSeparate.xml @@ -0,0 +1,312 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glStencilFuncSeparate + 3G + + + glStencilFuncSeparate + set front and/or back function and reference value for stencil testing + + + C Specification + + + void glStencilFuncSeparate + GLenum face + GLenum func + GLint ref + GLuint mask + + + + Parameters + + + face + + + Specifies whether front and/or back stencil state is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + func + + + Specifies the test function. + Eight symbolic constants are valid: + GL_NEVER, + GL_LESS, + GL_LEQUAL, + GL_GREATER, + GL_GEQUAL, + GL_EQUAL, + GL_NOTEQUAL, and + GL_ALWAYS. The initial value is GL_ALWAYS. + + + + + ref + + + Specifies the reference value for the stencil test. + ref is clamped to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. The + initial value is 0. + + + + + mask + + + Specifies a mask that is ANDed with both the reference value + and the stored stencil value when the test is done. The initial value + is all 1's. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the reference value + and the value in the stencil buffer. + To enable and disable the test, call glEnable and glDisable + with argument GL_STENCIL_TEST. + To specify actions based on the outcome of the stencil test, call + glStencilOp or + glStencilOpSeparate. + + + There can be two separate sets of func, ref, and + mask parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilFunc sets both front + and back stencil state to the same values, as if + glStencilFuncSeparate were called + with face set to GL_FRONT_AND_BACK. + + + func is a symbolic constant that determines the stencil comparison function. + It accepts one of eight values, + shown in the following list. + ref is an integer reference value that is used in the stencil comparison. + It is clamped to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + mask is bitwise ANDed with both the reference value + and the stored stencil value, + with the ANDed values participating in the comparison. + + + If stencil represents the value stored in the corresponding + stencil buffer location, + the following list shows the effect of each comparison function + that can be specified by func. + Only if the comparison succeeds is the pixel passed through + to the next stage in the rasterization process + (see glStencilOp). + All tests treat stencil values as unsigned integers in the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + + + The following values are accepted by func: + + + + GL_NEVER + + + Always fails. + + + + + GL_LESS + + + Passes if ( ref & mask ) < ( stencil & mask ). + + + + + GL_LEQUAL + + + Passes if ( ref & mask ) <= ( stencil & mask ). + + + + + GL_GREATER + + + Passes if ( ref & mask ) > ( stencil & mask ). + + + + + GL_GEQUAL + + + Passes if ( ref & mask ) >= ( stencil & mask ). + + + + + GL_EQUAL + + + Passes if ( ref & mask ) = ( stencil & mask ). + + + + + GL_NOTEQUAL + + + Passes if ( ref & mask ) != ( stencil & mask ). + + + + + GL_ALWAYS + + + Always passes. + + + + + + Notes + + glStencilFuncSeparate is available only if + the GL version is 2.0 or greater. + + + Initially, the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur and it is as if + the stencil test always passes. + + + Errors + + GL_INVALID_ENUM is generated if func is not one of the eight + accepted values. + + + GL_INVALID_OPERATION is generated if glStencilFuncSeparate + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + See Also + + glAlphaFunc, + glBlendFunc, + glDepthFunc, + glEnable, + glLogicOp, + glStencilFunc, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glStencilMask.xml b/Source/Bind/Specifications/Docs/GL2/glStencilMask.xml new file mode 100644 index 00000000..744631bd --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glStencilMask.xml @@ -0,0 +1,107 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glStencilMask + 3G + + + glStencilMask + control the front and back writing of individual bits in the stencil planes + + C Specification + + + void glStencilMask + GLuint mask + + + + + Parameters + + + mask + + + Specifies a bit mask to enable and disable writing of individual bits + in the stencil planes. + Initially, the mask is all 1's. + + + + + + Description + + glStencilMask controls the writing of individual bits in the stencil planes. + The least significant + n + bits of mask, + where + n + is the number of bits in the stencil buffer, + specify a mask. + Where a 1 appears in the mask, + it's possible to write to the corresponding bit in the stencil buffer. + Where a 0 appears, + the corresponding bit is write-protected. + Initially, all bits are enabled for writing. + + + There can be two separate mask writemasks; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilMask sets both front + and back stencil writemasks to the same values. Use glStencilMaskSeparate + to set front and back stencil writemasks to different values. + + + Notes + + glStencilMask is the same as + calling glStencilMaskSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_OPERATION is generated if glStencilMask + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + or GL_STENCIL_BITS + + + See Also + + glColorMask, + glDepthMask, + glIndexMask, + glStencilFunc, + glStencilFuncSeparate, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glStencilMaskSeparate.xml b/Source/Bind/Specifications/Docs/GL2/glStencilMaskSeparate.xml new file mode 100644 index 00000000..4616a766 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glStencilMaskSeparate.xml @@ -0,0 +1,120 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glStencilMaskSeparate + 3G + + + glStencilMaskSeparate + control the front and/or back writing of individual bits in the stencil planes + + C Specification + + + void glStencilMaskSeparate + GLenum face + GLuint mask + + + + + Parameters + + + face + + + Specifies whether the front and/or back stencil writemask is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + mask + + + Specifies a bit mask to enable and disable writing of individual bits + in the stencil planes. + Initially, the mask is all 1's. + + + + + + Description + + glStencilMaskSeparate controls the writing of individual bits in the stencil planes. + The least significant + n + bits of mask, + where + n + is the number of bits in the stencil buffer, + specify a mask. + Where a 1 appears in the mask, + it's possible to write to the corresponding bit in the stencil buffer. + Where a 0 appears, + the corresponding bit is write-protected. + Initially, all bits are enabled for writing. + + + There can be two separate mask writemasks; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilMask sets both front + and back stencil writemasks to the same values, as if + glStencilMaskSeparate were called + with face set to GL_FRONT_AND_BACK. + + + Notes + + glStencilMaskSeparate is available only if + the GL version is 2.0 or greater. + + + Errors + + GL_INVALID_OPERATION is generated if glStencilMaskSeparate + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + or GL_STENCIL_BITS + + + See Also + + glColorMask, + glDepthMask, + glIndexMask, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glStencilOp.xml b/Source/Bind/Specifications/Docs/GL2/glStencilOp.xml new file mode 100644 index 00000000..d9e4f1eb --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glStencilOp.xml @@ -0,0 +1,280 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glStencilOp + 3G + + + glStencilOp + set front and back stencil test actions + + + C Specification + + + void glStencilOp + GLenum sfail + GLenum dpfail + GLenum dppass + + + + Parameters + + + sfail + + + Specifies the action to take when the stencil test fails. + Eight symbolic constants are accepted: + GL_KEEP, + GL_ZERO, + GL_REPLACE, + GL_INCR, + GL_INCR_WRAP, + GL_DECR, + GL_DECR_WRAP, and + GL_INVERT. The initial value is GL_KEEP. + + + + + dpfail + + + Specifies the stencil action when the stencil test passes, + but the depth test fails. + dpfail accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + dppass + + + Specifies the stencil action when both the stencil test and the depth + test pass, or when the stencil test passes and either there is no + depth buffer or depth testing is not enabled. + dppass accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the value in the stencil buffer and a + reference value. To enable and disable the test, call glEnable + and glDisable with argument + GL_STENCIL_TEST; to control it, call + glStencilFunc or + glStencilFuncSeparate. + + + There can be two separate sets of sfail, dpfail, and + dppass parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilOp sets both front + and back stencil state to the same values. Use glStencilOpSeparate + to set front and back stencil state to different values. + + + glStencilOp takes three arguments that indicate what happens + to the stored stencil value while stenciling is enabled. + If the stencil test fails, + no change is made to the pixel's color or depth buffers, + and sfail specifies what happens to the stencil buffer contents. + The following eight actions are possible. + + + + GL_KEEP + + + Keeps the current value. + + + + + GL_ZERO + + + Sets the stencil buffer value to 0. + + + + + GL_REPLACE + + + Sets the stencil buffer value to ref, + as specified by glStencilFunc. + + + + + GL_INCR + + + Increments the current stencil buffer value. + Clamps to the maximum representable unsigned value. + + + + + GL_INCR_WRAP + + + Increments the current stencil buffer value. + Wraps stencil buffer value to zero when incrementing the maximum + representable unsigned value. + + + + + GL_DECR + + + Decrements the current stencil buffer value. + Clamps to 0. + + + + + GL_DECR_WRAP + + + Decrements the current stencil buffer value. + Wraps stencil buffer value to the maximum representable unsigned value when + decrementing a stencil buffer value of zero. + + + + + GL_INVERT + + + Bitwise inverts the current stencil buffer value. + + + + + + Stencil buffer values are treated as unsigned integers. + When incremented and decremented, + values are clamped to 0 and + + + + 2 + n + + - + 1 + + , + where + n + is the value returned by querying GL_STENCIL_BITS. + + + The other two arguments to glStencilOp specify stencil buffer actions + that depend on whether subsequent depth buffer tests succeed (dppass) + or fail (dpfail) (see + glDepthFunc). + The actions are specified using the same eight symbolic constants as sfail. + Note that dpfail is ignored when there is no depth buffer, + or when the depth buffer is not enabled. + In these cases, sfail and dppass specify stencil action when the + stencil test fails and passes, + respectively. + + + Notes + + GL_DECR_WRAP and GL_INCR_WRAP are available only if the GL + version is 1.4 or greater. + + + Initially the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur + and it is as if the stencil tests always pass, + regardless of any call to glStencilOp. + + + glStencilOp is the same as + calling glStencilOpSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if sfail, + dpfail, or dppass is any value other than the eight defined constant values. + + + GL_INVALID_OPERATION is generated if glStencilOp + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + See Also + + glAlphaFunc, + glBlendFunc, + glDepthFunc, + glEnable, + glLogicOp, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glStencilOpSeparate.xml b/Source/Bind/Specifications/Docs/GL2/glStencilOpSeparate.xml new file mode 100644 index 00000000..4be10590 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glStencilOpSeparate.xml @@ -0,0 +1,292 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glStencilOpSeparate + 3G + + + glStencilOpSeparate + set front and/or back stencil test actions + + + C Specification + + + void glStencilOpSeparate + GLenum face + GLenum sfail + GLenum dpfail + GLenum dppass + + + + Parameters + + + face + + + Specifies whether front and/or back stencil state is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + sfail + + + Specifies the action to take when the stencil test fails. + Eight symbolic constants are accepted: + GL_KEEP, + GL_ZERO, + GL_REPLACE, + GL_INCR, + GL_INCR_WRAP, + GL_DECR, + GL_DECR_WRAP, and + GL_INVERT. The initial value is GL_KEEP. + + + + + dpfail + + + Specifies the stencil action when the stencil test passes, + but the depth test fails. + dpfail accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + dppass + + + Specifies the stencil action when both the stencil test and the depth + test pass, or when the stencil test passes and either there is no + depth buffer or depth testing is not enabled. + dppass accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the value in the stencil buffer and a + reference value. To enable and disable the test, call glEnable + and glDisable with argument + GL_STENCIL_TEST; to control it, call + glStencilFunc or + glStencilFuncSeparate. + + + There can be two separate sets of sfail, dpfail, and + dppass parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilOp sets both front + and back stencil state to the same values, as if + glStencilOpSeparate were called + with face set to GL_FRONT_AND_BACK. + + + glStencilOpSeparate takes three arguments that indicate what happens + to the stored stencil value while stenciling is enabled. + If the stencil test fails, + no change is made to the pixel's color or depth buffers, + and sfail specifies what happens to the stencil buffer contents. + The following eight actions are possible. + + + + GL_KEEP + + + Keeps the current value. + + + + + GL_ZERO + + + Sets the stencil buffer value to 0. + + + + + GL_REPLACE + + + Sets the stencil buffer value to ref, + as specified by glStencilFunc. + + + + + GL_INCR + + + Increments the current stencil buffer value. + Clamps to the maximum representable unsigned value. + + + + + GL_INCR_WRAP + + + Increments the current stencil buffer value. + Wraps stencil buffer value to zero when incrementing the maximum + representable unsigned value. + + + + + GL_DECR + + + Decrements the current stencil buffer value. + Clamps to 0. + + + + + GL_DECR_WRAP + + + Decrements the current stencil buffer value. + Wraps stencil buffer value to the maximum representable unsigned value when + decrementing a stencil buffer value of zero. + + + + + GL_INVERT + + + Bitwise inverts the current stencil buffer value. + + + + + + Stencil buffer values are treated as unsigned integers. + When incremented and decremented, + values are clamped to 0 and + + + + 2 + n + + - + 1 + + , + where + n + is the value returned by querying GL_STENCIL_BITS. + + + The other two arguments to glStencilOpSeparate specify stencil buffer actions + that depend on whether subsequent depth buffer tests succeed (dppass) + or fail (dpfail) (see + glDepthFunc). + The actions are specified using the same eight symbolic constants as sfail. + Note that dpfail is ignored when there is no depth buffer, + or when the depth buffer is not enabled. + In these cases, sfail and dppass specify stencil action when the + stencil test fails and passes, + respectively. + + + Notes + + glStencilOpSeparate is available only if + the GL version is 2.0 or greater. + + + Initially the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur + and it is as if the stencil test always passes. + + + Errors + + GL_INVALID_ENUM is generated if face is any value + other than GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. + + + GL_INVALID_ENUM is generated if sfail, + dpfail, or dppass is any value other than the eight defined constant values. + + + GL_INVALID_OPERATION is generated if glStencilOpSeparate + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + See Also + + glAlphaFunc, + glBlendFunc, + glDepthFunc, + glEnable, + glLogicOp, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp + + + Copyright + + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glTexCoord.xml b/Source/Bind/Specifications/Docs/GL2/glTexCoord.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glTexCoord.xml rename to Source/Bind/Specifications/Docs/GL2/glTexCoord.xml diff --git a/Source/Bind/Specifications/Docs/glTexCoordPointer.xml b/Source/Bind/Specifications/Docs/GL2/glTexCoordPointer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glTexCoordPointer.xml rename to Source/Bind/Specifications/Docs/GL2/glTexCoordPointer.xml diff --git a/Source/Bind/Specifications/Docs/glTexEnv.xml b/Source/Bind/Specifications/Docs/GL2/glTexEnv.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glTexEnv.xml rename to Source/Bind/Specifications/Docs/GL2/glTexEnv.xml diff --git a/Source/Bind/Specifications/Docs/glTexGen.xml b/Source/Bind/Specifications/Docs/GL2/glTexGen.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glTexGen.xml rename to Source/Bind/Specifications/Docs/GL2/glTexGen.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glTexImage1D.xml b/Source/Bind/Specifications/Docs/GL2/glTexImage1D.xml new file mode 100644 index 00000000..14378ef5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glTexImage1D.xml @@ -0,0 +1,934 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexImage1D + 3G + + + glTexImage1D + specify a one-dimensional texture image + + C Specification + + + void glTexImage1D + GLenum target + GLint level + GLint internalFormat + GLsizei width + GLint border + GLenum format + GLenum type + const GLvoid * data + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalFormat + + + Specifies the number of color components in the texture. + Must be 1, 2, 3, or 4, or one of the following symbolic constants: + GL_ALPHA, + GL_ALPHA4, + GL_ALPHA8, + GL_ALPHA12, + GL_ALPHA16, + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_RGB, + GL_COMPRESSED_RGBA, + GL_DEPTH_COMPONENT, + GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, + GL_DEPTH_COMPONENT32, + GL_LUMINANCE, + GL_LUMINANCE4, + GL_LUMINANCE8, + GL_LUMINANCE12, + GL_LUMINANCE16, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE4_ALPHA4, + GL_LUMINANCE6_ALPHA2, + GL_LUMINANCE8_ALPHA8, + GL_LUMINANCE12_ALPHA4, + GL_LUMINANCE12_ALPHA12, + GL_LUMINANCE16_ALPHA16, + GL_INTENSITY, + GL_INTENSITY4, + GL_INTENSITY8, + GL_INTENSITY12, + GL_INTENSITY16, + GL_R3_G3_B2, + GL_RGB, + GL_RGB4, + GL_RGB5, + GL_RGB8, + GL_RGB10, + GL_RGB12, + GL_RGB16, + GL_RGBA, + GL_RGBA2, + GL_RGBA4, + GL_RGB5_A1, + GL_RGBA8, + GL_RGB10_A2, + GL_RGBA12, + GL_RGBA16, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, + GL_SLUMINANCE8_ALPHA8, + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, or + GL_SRGB8_ALPHA8. + + + + + width + + + Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All + implementations support texture images that are at least 64 texels + wide. The height of the 1D texture image is 1. + + + + + border + + + Specifies the width of the border. + Must be either 0 or 1. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_COLOR_INDEX, + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_BITMAP, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_FLOAT, + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is enabled. + To enable and disable one-dimensional texturing, call glEnable + and glDisable with argument GL_TEXTURE_1D. + + + Texture images are defined with glTexImage1D. + The arguments describe the parameters of the texture image, + such as width, + width of the border, + level-of-detail number + (see glTexParameter), + and the internal resolution and format used to store the image. + The last three arguments describe how the image is represented in + memory; they are identical to the pixel formats used for + glDrawPixels. + + + If target is GL_PROXY_TEXTURE_1D, no data is read from data, but + all of the texture image state is recalculated, checked for + consistency, and checked against the implementation's capabilities. + If the implementation cannot handle a texture of the + requested texture size, it sets all of the image state to 0, + but does not generate an error (see glGetError). To query for an + entire mipmap array, use an image array level greater than or equal to + 1. + + + If target is GL_TEXTURE_1D, + data is read from data as a sequence of signed or unsigned bytes, + shorts, + or longs, + or single-precision floating-point values, + depending on type. + These values are grouped into sets of one, + two, + three, + or four values, + depending on format, + to form elements. + If type is GL_BITMAP, + the data is considered as a string of unsigned bytes + (and format must be GL_COLOR_INDEX). + Each data byte is treated as eight 1-bit elements, + with bit ordering determined by GL_UNPACK_LSB_FIRST + (see glPixelStore). + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + The first element corresponds to the left end of the texture array. + Subsequent elements progress left-to-right through the remaining texels + in the texture array. + The final element corresponds to the right end of the texture array. + + + format determines the composition of each element in data. + It can assume one of these symbolic values: + + + + GL_COLOR_INDEX + + + Each element is a single value, + a color index. + The GL converts it to fixed point + (with an unspecified number of zero bits to the right of the binary point), + shifted left or right depending on the value and sign of GL_INDEX_SHIFT, + and added to GL_INDEX_OFFSET + (see glPixelTransfer). + The resulting index is converted to a set of color components + using the + GL_PIXEL_MAP_I_TO_R, + GL_PIXEL_MAP_I_TO_G, + GL_PIXEL_MAP_I_TO_B, and + GL_PIXEL_MAP_I_TO_A tables, + and clamped to the range [0,1]. + + + + + GL_RED + + + Each element is a single red component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for green and blue, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_GREEN + + + Each element is a single green component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red and blue, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_BLUE + + + Each element is a single blue component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red and green, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_ALPHA + + + Each element is a single alpha component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red, green, and blue. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_INTENSITY + + + Each element is a single intensity value. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the intensity value + three times for red, green, blue, and alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_RGB + + + + + GL_BGR + + + Each element is an RGB triple. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_RGBA + + + + + GL_BGRA + + + Each element contains all four components. + Each component is multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_LUMINANCE + + + Each element is a single luminance value. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the luminance value + three times for red, green, and blue and attaching 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_LUMINANCE_ALPHA + + + Each element is a luminance/alpha pair. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the luminance value + three times for red, green, and blue. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] (see glPixelTransfer). + + + + + GL_DEPTH_COMPONENT + + + Each element is a single depth value. + The GL converts it to floating point, multiplies by the signed scale factor + GL_DEPTH_SCALE, adds the signed bias GL_DEPTH_BIAS, + and clamps to the range [0,1] (see glPixelTransfer). + + + + + + Refer to the glDrawPixels reference page for a description of + the acceptable values for the type parameter. + + + 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 internalFormat. The GL will choose an internal + representation that closely approximates that requested by internalFormat, but + it may not match exactly. + (The representations specified by GL_LUMINANCE, + GL_LUMINANCE_ALPHA, GL_RGB, + and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4 + may also be used to specify the above representations.) + + + If the internalFormat parameter is one of the generic compressed formats, + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_RGB, or + GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. + + + If the internalFormat parameter is + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, + GL_SRGB8_ALPHA8, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, or + GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component + + c + s + + + to a linear component + + c + l + + + is: + + + + + + c + l + + = + + { + + + + + + + c + s + + 12.92 + + + + + + if + + + + c + s + + + 0.04045 + + + + + + + ( + + + + c + s + + + + 0.055 + + 1.055 + + ) + + 2.4 + + + + + + if + + + + c + s + + > + 0.04045 + + + + + + + + + + Assume + + c + s + + + is the sRGB component in the range [0,1]. + + + Use the GL_PROXY_TEXTURE_1D target to try out a resolution and + format. The implementation will + update and recompute its best match for the requested storage resolution + and format. To then query this state, call glGetTexLevelParameter. + If the texture cannot be accommodated, texture state is set to 0. + + + A one-component texture image uses only the red component of the RGBA + color from data. + A two-component image uses the R and A values. + A three-component image uses the R, G, and B values. + A four-component image uses all of the RGBA components. + + + Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA textures during texture filtering and application. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See glTexParameter for details on texture comparison. + + + Notes + + Texturing has no effect in color index mode. + + + If the ARB_imaging extension is supported, RGBA elements may + also be processed by the imaging pipeline. The following stages may be + applied to an RGBA color before color component clamping to the range + + + + 0 + 1 + + : + + + + 1. Color component replacement by the color table specified for + + + GL_COLOR_TABLE, if enabled. See glColorTable. + + + + + 2. One-dimensional convolution filtering, if enabled. See + + + glConvolutionFilter1D. + + + If a convolution filter changes the width of the texture (by + processing with a GL_CONVOLUTION_BORDER_MODE of GL_REDUCE, for + example), the width must + + + + 2 + n + + + + + 2 + + + border + + + + , + for some + integer + n, + after filtering. + + + + + 3. RGBA components may be multiplied by GL_POST_CONVOLUTION_c_SCALE, + + + and added to GL_POST_CONVOLUTION_c_BIAS, if enabled. See + glPixelTransfer. + + + + + 4. Color component replacement by the color table specified for + + + GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable. + + + + + 5. Transformation by the color matrix. + + + See glMatrixMode. + + + + + 6. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE, + + + and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See + glPixelTransfer. + + + + + 7. Color component replacement by the color table specified for + + + GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See glColorTable. + + + + + + The texture image can be represented by the same data formats + as the pixels in a glDrawPixels command, + except that GL_STENCIL_INDEX + cannot be used. + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + GL_PROXY_TEXTURE_1D may be used only if the GL version is 1.1 or greater. + + + Internal formats other than 1, 2, 3, or 4 may be + used only if the GL version is 1.1 or greater. + + + In GL version 1.1 or greater, + data may be a null pointer. In this case texture memory is + allocated to accommodate a texture of width width. + You can then download subtextures to initialize the + texture memory. The image is undefined if the program tries to apply + an uninitialized portion of the texture image to a primitive. + + + Formats GL_BGR, and GL_BGRA and types + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version + is 1.2 or greater. + + + When the ARB_multitexture extension is supported, or the GL version is 1.3 or greater, glTexImage1D + specifies the one-dimensional texture for the current texture unit, + specified with glActiveTexture. + + + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only + if the GL version is 1.4 or greater. + + + Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. + + + The + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, + GL_SRGB8_ALPHA8, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, and + GL_SLUMINANCE8_ALPHA8 + internal formats are only available if the GL version is 2.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_1D + or GL_PROXY_TEXTURE_1D. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. Format constants other than GL_STENCIL_INDEX + are accepted. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_ENUM is generated if type is GL_BITMAP and + format is not GL_COLOR_INDEX. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater than + + + + log + 2 + + + + max + + + , + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or + one of the accepted resolution and format symbolic constants. + + + GL_INVALID_VALUE is generated if width is less than 0 + or greater than 2 + GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width cannot be represented as + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer value of n. + + + GL_INVALID_VALUE is generated if border is not 0 or 1. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, or + GL_UNSIGNED_SHORT_5_6_5_REV + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV + and format is neither GL_RGBA nor GL_BGRA. + + + GL_INVALID_OPERATION is generated if format is + GL_DEPTH_COMPONENT and internalFormat is not + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32. + + + GL_INVALID_OPERATION is generated if internalFormat is + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32, and format is + not GL_DEPTH_COMPONENT. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + GL_INVALID_OPERATION is generated if glTexImage1D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_1D + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + See Also + + glActiveTexture, + glColorTable, + glCompressedTexImage1D, + glCompressedTexSubImage1D, + glConvolutionFilter1D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexSubImage1D, + glDrawPixels, + glGetCompressedTexImage, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glTexImage2D.xml b/Source/Bind/Specifications/Docs/GL2/glTexImage2D.xml new file mode 100644 index 00000000..b10abc5b --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glTexImage2D.xml @@ -0,0 +1,1007 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexImage2D + 3G + + + glTexImage2D + specify a two-dimensional texture image + + C Specification + + + void glTexImage2D + GLenum target + GLint level + GLint internalFormat + GLsizei width + GLsizei height + GLint border + GLenum format + GLenum type + const GLvoid * data + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or + GL_PROXY_TEXTURE_CUBE_MAP. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + internalFormat + + + Specifies the number of color components in the texture. + Must be 1, 2, 3, or 4, or one of the following symbolic constants: + GL_ALPHA, + GL_ALPHA4, + GL_ALPHA8, + GL_ALPHA12, + GL_ALPHA16, + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_RGB, + GL_COMPRESSED_RGBA, + GL_DEPTH_COMPONENT, + GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, + GL_DEPTH_COMPONENT32, + GL_LUMINANCE, + GL_LUMINANCE4, + GL_LUMINANCE8, + GL_LUMINANCE12, + GL_LUMINANCE16, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE4_ALPHA4, + GL_LUMINANCE6_ALPHA2, + GL_LUMINANCE8_ALPHA8, + GL_LUMINANCE12_ALPHA4, + GL_LUMINANCE12_ALPHA12, + GL_LUMINANCE16_ALPHA16, + GL_INTENSITY, + GL_INTENSITY4, + GL_INTENSITY8, + GL_INTENSITY12, + GL_INTENSITY16, + GL_R3_G3_B2, + GL_RGB, + GL_RGB4, + GL_RGB5, + GL_RGB8, + GL_RGB10, + GL_RGB12, + GL_RGB16, + GL_RGBA, + GL_RGBA2, + GL_RGBA4, + GL_RGB5_A1, + GL_RGBA8, + GL_RGB10_A2, + GL_RGBA12, + GL_RGBA16, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, + GL_SLUMINANCE8_ALPHA8, + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, or + GL_SRGB8_ALPHA8. + + + + + width + + + Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All + implementations support texture images that are at least 64 texels + wide. + + + + + height + + + Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + m + + + + + 2 + + + border + + + + + for some integer + m. + All + implementations support texture images that are at least 64 texels + high. + + + + + border + + + Specifies the width of the border. + Must be either 0 or 1. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_COLOR_INDEX, + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_BITMAP, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_FLOAT, + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_2D. To enable and disable texturing using cube-mapped texture, call glEnable and glDisable with argument GL_TEXTURE_CUBE_MAP. + + + To define texture images, call glTexImage2D. + The arguments describe the parameters of the texture image, + such as height, + width, + width of the border, + level-of-detail number + (see glTexParameter), + and number of color components provided. + The last three arguments describe how the image is represented in memory; + they are identical to the pixel formats used for glDrawPixels. + + + If target is GL_PROXY_TEXTURE_2D or GL_PROXY_TEXTURE_CUBE_MAP, no data is read from data, but + all of the texture image state is recalculated, checked for + consistency, and checked + against the implementation's capabilities. If the implementation cannot + handle a texture of the requested texture size, it sets + all of the image state to 0, + but does not generate an error (see glGetError). To query for an + entire mipmap array, use an image array level greater than or equal to + 1. + + + If target is GL_TEXTURE_2D, or one of the GL_TEXTURE_CUBE_MAP + targets, data is read from data as a sequence of signed or unsigned + bytes, shorts, or longs, or single-precision floating-point values, + depending on type. These values are grouped into sets of one, two, + three, or four values, depending on format, to form elements. If type + is GL_BITMAP, the data is considered as a string of unsigned bytes + (and format must be GL_COLOR_INDEX). + Each data byte is treated as eight 1-bit elements, + with bit ordering determined by GL_UNPACK_LSB_FIRST + (see glPixelStore). + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + 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. + + + format determines the composition of each element in data. + It can assume one of these symbolic values: + + + + GL_COLOR_INDEX + + + Each element is a single value, + a color index. + The GL converts it to fixed point + (with an unspecified number of zero bits to the right of the binary point), + shifted left or right depending on the value and sign of GL_INDEX_SHIFT, + and added to GL_INDEX_OFFSET + (see glPixelTransfer). + The resulting index is converted to a set of color components + using the + GL_PIXEL_MAP_I_TO_R, + GL_PIXEL_MAP_I_TO_G, + GL_PIXEL_MAP_I_TO_B, and + GL_PIXEL_MAP_I_TO_A tables, + and clamped to the range [0,1]. + + + + + GL_RED + + + Each element is a single red component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for green and blue, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_GREEN + + + Each element is a single green component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red and blue, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_BLUE + + + Each element is a single blue component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red and green, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_ALPHA + + + Each element is a single alpha component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red, green, and blue. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_INTENSITY + + + Each element is a single intensity value. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the intensity value + three times for red, green, blue, and alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_RGB + + + + + GL_BGR + + + Each element is an RGB triple. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_RGBA + + + + + GL_BGRA + + + Each element contains all four components. + Each component is multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_LUMINANCE + + + Each element is a single luminance value. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the luminance value + three times for red, green, and blue and attaching 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_LUMINANCE_ALPHA + + + Each element is a luminance/alpha pair. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the luminance value + three times for red, green, and blue. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] (see glPixelTransfer). + + + + + GL_DEPTH_COMPONENT + + + Each element is a single depth value. + The GL converts it to floating point, multiplies by the signed scale factor + GL_DEPTH_SCALE, adds the signed bias GL_DEPTH_BIAS, + and clamps to the range [0,1] (see glPixelTransfer). + + + + + + Refer to the glDrawPixels reference page for a description of + the acceptable values for the type parameter. + + + 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 internalFormat. The GL will choose an internal + representation that closely approximates that requested by internalFormat, but + it may not match exactly. + (The representations specified by GL_LUMINANCE, + GL_LUMINANCE_ALPHA, GL_RGB, + and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4 + may also be used to specify the above representations.) + + + If the internalFormat parameter is one of the generic compressed formats, + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_RGB, or + GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. + + + If the internalFormat parameter is + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, + GL_SRGB8_ALPHA8, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, or + GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component + + c + s + + + to a linear component + + c + l + + + is: + + + + + + c + l + + = + + { + + + + + + + c + s + + 12.92 + + + + + + if + + + + c + s + + + 0.04045 + + + + + + + ( + + + + c + s + + + + 0.055 + + 1.055 + + ) + + 2.4 + + + + + + if + + + + c + s + + > + 0.04045 + + + + + + + + + + Assume + + c + s + + + is the sRGB component in the range [0,1]. + + + Use the GL_PROXY_TEXTURE_2D or GL_PROXY_TEXTURE_CUBE_MAP target to try out a resolution and + format. The implementation will + update and recompute its best match for the requested storage resolution + and format. To then query this state, call glGetTexLevelParameter. + If the texture cannot be accommodated, texture state is set to 0. + + + A one-component texture image uses only the red component of the RGBA + color extracted from data. + A two-component image uses the R and A values. + A three-component image uses the R, G, and B values. + A four-component image uses all of the RGBA components. + + + Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA textures during texture filtering and application. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See glTexParameter for details on texture comparison. + + + Notes + + Texturing has no effect in color index mode. + + + If the ARB_imaging extension is supported, RGBA elements may + also be processed by the imaging pipeline. The following stages may be + applied to an RGBA color before color component clamping to the range + + + + 0 + 1 + + : + + + + 1. Color component replacement by the color table specified for + + + GL_COLOR_TABLE, if enabled. See glColorTable. + + + + + 2. Two-dimensional Convolution filtering, if enabled. + + + See glConvolutionFilter1D. + + + If a convolution filter changes the width of the texture (by + processing with a GL_CONVOLUTION_BORDER_MODE of GL_REDUCE, for + example), and the GL does not support non-power-of-two textures, the width must + + + + 2 + n + + + + + 2 + + + border + + + + , + for some + integer + n, + and height must be + + + + 2 + m + + + + + 2 + + + border + + + + , + for some + integer + m, + after filtering. + + + + + 3. RGBA components may be multiplied by GL_POST_CONVOLUTION_c_SCALE, + + + and added to GL_POST_CONVOLUTION_c_BIAS, if enabled. See + glPixelTransfer. + + + + + 4. Color component replacement by the color table specified for + + + GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable. + + + + + 5. Transformation by the color matrix. + + + See glMatrixMode. + + + + + 6. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE, + + + and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See + glPixelTransfer. + + + + + 7. Color component replacement by the color table specified for + + + GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See glColorTable. + + + + + + The texture image can be represented by the same data formats + as the pixels in a glDrawPixels command, + except that GL_STENCIL_INDEX + cannot be used. + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + glTexImage2D and GL_PROXY_TEXTURE_2D are available only if the GL + version is 1.1 or greater. + + + Internal formats other than 1, 2, 3, or 4 may be used only if the GL + version is 1.1 or greater. + + + In GL version 1.1 or greater, data may be a null pointer. + In this case, texture memory is + allocated to accommodate a texture of width width and height height. + 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. + + + Formats GL_BGR, and GL_BGRA and types + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version + is 1.2 or greater. + + + When the ARB_multitexture extension is supported or the GL version is 1.3 or greater, glTexImage2D + specifies the two-dimensional texture for the current texture unit, + specified with glActiveTexture. + + + GL_TEXTURE_CUBE_MAP and GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL + version is 1.3 or greater. + + + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only + if the GL version is 1.4 or greater. + + + Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. + + + The + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, + GL_SRGB8_ALPHA8, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, and + GL_SLUMINANCE8_ALPHA8 + internal formats are only available if the GL version is 2.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_PROXY_TEXTURE_2D, + GL_PROXY_TEXTURE_CUBE_MAP, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if target is one of the six cube map 2D image targets and the width and height parameters are not equal. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_ENUM is generated if type is GL_BITMAP and + format is not GL_COLOR_INDEX. + + + GL_INVALID_VALUE is generated if width or height is less than 0 + or greater than 2 + GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater than + + + + log + 2 + + + + max + + + , + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or one of the + accepted resolution and format symbolic constants. + + + GL_INVALID_VALUE is generated if width or height is less than 0 + or greater than 2 + GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width or height cannot be represented as + + + + 2 + k + + + + + 2 + + + border + + + + + for some + integer value of k. + + + GL_INVALID_VALUE is generated if border is not 0 or 1. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, or + GL_UNSIGNED_SHORT_5_6_5_REV + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV + and format is neither GL_RGBA nor GL_BGRA. + + + GL_INVALID_OPERATION is generated if target is not + GL_TEXTURE_2D or GL_PROXY_TEXTURE_2D and internalFormat is + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32. + + + GL_INVALID_OPERATION is generated if format is + GL_DEPTH_COMPONENT and internalFormat is not + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32. + + + GL_INVALID_OPERATION is generated if internalFormat is + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32, and format is + not GL_DEPTH_COMPONENT. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + GL_INVALID_OPERATION is generated if glTexImage2D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + See Also + + glActiveTexture, + glColorTable, + glConvolutionFilter2D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glSeparableFilter2D, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glTexImage3D.xml b/Source/Bind/Specifications/Docs/GL2/glTexImage3D.xml new file mode 100644 index 00000000..c70f9497 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glTexImage3D.xml @@ -0,0 +1,941 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexImage3D + 3G + + + glTexImage3D + specify a three-dimensional texture image + + C Specification + + + void glTexImage3D + GLenum target + GLint level + GLint internalFormat + GLsizei width + GLsizei height + GLsizei depth + GLint border + GLenum format + GLenum type + const GLvoid * data + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level + n + is the + + + n + th + + + mipmap reduction image. + + + + + internalFormat + + + Specifies the number of color components in the texture. + Must be 1, 2, 3, or 4, or one of the following symbolic constants: + GL_ALPHA, + GL_ALPHA4, + GL_ALPHA8, + GL_ALPHA12, + GL_ALPHA16, + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_RGB, + GL_COMPRESSED_RGBA, + GL_LUMINANCE, + GL_LUMINANCE4, + GL_LUMINANCE8, + GL_LUMINANCE12, + GL_LUMINANCE16, + GL_LUMINANCE_ALPHA, + GL_LUMINANCE4_ALPHA4, + GL_LUMINANCE6_ALPHA2, + GL_LUMINANCE8_ALPHA8, + GL_LUMINANCE12_ALPHA4, + GL_LUMINANCE12_ALPHA12, + GL_LUMINANCE16_ALPHA16, + GL_INTENSITY, + GL_INTENSITY4, + GL_INTENSITY8, + GL_INTENSITY12, + GL_INTENSITY16, + GL_R3_G3_B2, + GL_RGB, + GL_RGB4, + GL_RGB5, + GL_RGB8, + GL_RGB10, + GL_RGB12, + GL_RGB16, + GL_RGBA, + GL_RGBA2, + GL_RGBA4, + GL_RGB5_A1, + GL_RGBA8, + GL_RGB10_A2, + GL_RGBA12, + GL_RGBA16, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, + GL_SLUMINANCE8_ALPHA8, + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, or + GL_SRGB8_ALPHA8. + + + + + width + + + Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + n + + + + + 2 + + + border + + + + + for some integer + n. + All + implementations support 3D texture images that are at least 16 texels + wide. + + + + + height + + + Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + m + + + + + 2 + + + border + + + + + for some integer + m. + All + implementations support 3D texture images that are at least 16 texels + high. + + + + + depth + + + Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be + + + + 2 + k + + + + + 2 + + + border + + + + + for some integer + k. + All + implementations support 3D texture images that are at least 16 texels + deep. + + + + + border + + + Specifies the width of the border. + Must be either 0 or 1. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_COLOR_INDEX, + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_BITMAP, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_FLOAT, + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is enabled. + To enable and disable three-dimensional texturing, call glEnable + and glDisable with argument GL_TEXTURE_3D. + + + To define texture images, call glTexImage3D. + The arguments describe the parameters of the texture image, + such as height, + width, depth, + width of the border, + level-of-detail number + (see glTexParameter), + and number of color components provided. + The last three arguments describe how the image is represented in memory; + they are identical to the pixel formats used for glDrawPixels. + + + If target is GL_PROXY_TEXTURE_3D, no data is read from data, but + all of the texture image state is recalculated, checked for + consistency, and checked + against the implementation's capabilities. If the implementation cannot + handle a texture of the requested texture size, it sets + all of the image state to 0, + but does not generate an error (see glGetError). To query for an + entire mipmap array, use an image array level greater than or equal to + 1. + + + If target is GL_TEXTURE_3D, + data is read from data as a sequence of signed or unsigned bytes, + shorts, + or longs, + or single-precision floating-point values, + depending on type. + These values are grouped into sets of one, + two, + three, + or four values, + depending on format, + to form elements. + If type is GL_BITMAP, + the data is considered as a string of unsigned bytes (and + format must be GL_COLOR_INDEX). + Each data byte is treated as eight 1-bit elements, + with bit ordering determined by GL_UNPACK_LSB_FIRST + (see glPixelStore). + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + 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. + + + format determines the composition of each element in data. + It can assume one of these symbolic values: + + + + GL_COLOR_INDEX + + + Each element is a single value, + a color index. + The GL converts it to fixed point + (with an unspecified number of zero bits to the right of the binary point), + shifted left or right depending on the value and sign of GL_INDEX_SHIFT, + and added to GL_INDEX_OFFSET + (see glPixelTransfer). + The resulting index is converted to a set of color components + using the + GL_PIXEL_MAP_I_TO_R, + GL_PIXEL_MAP_I_TO_G, + GL_PIXEL_MAP_I_TO_B, and + GL_PIXEL_MAP_I_TO_A tables, + and clamped to the range [0,1]. + + + + + GL_RED + + + Each element is a single red component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for green and blue, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_GREEN + + + Each element is a single green component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red and blue, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_BLUE + + + Each element is a single blue component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red and green, and 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_ALPHA + + + Each element is a single alpha component. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 0 for red, green, and blue. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_INTENSITY + + + Each element is a single intensity value. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the intensity value + three times for red, green, blue, and alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_RGB + + + + + GL_BGR + + + Each element is an RGB triple. + The GL converts it to floating point and assembles it into an RGBA element + by attaching 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_RGBA + + + + + GL_BGRA + + + Each element contains all four components. + Each component is multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_LUMINANCE + + + Each element is a single luminance value. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the luminance value + three times for red, green, and blue and attaching 1 for alpha. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] + (see glPixelTransfer). + + + + + GL_LUMINANCE_ALPHA + + + Each element is a luminance/alpha pair. + The GL converts it to floating point, + then assembles it into an RGBA element by replicating the luminance value + three times for red, green, and blue. + Each component is then multiplied by the signed scale factor GL_c_SCALE, + added to the signed bias GL_c_BIAS, + and clamped to the range [0,1] (see glPixelTransfer). + + + + + + Refer to the glDrawPixels reference page for a description of + the acceptable values for the type parameter. + + + 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 internalFormat. The GL will choose an internal + representation that closely approximates that requested by internalFormat, but + it may not match exactly. + (The representations specified by GL_LUMINANCE, + GL_LUMINANCE_ALPHA, GL_RGB, + and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4 + may also be used to specify the above representations.) + + + If the internalFormat parameter is one of the generic compressed formats, + GL_COMPRESSED_ALPHA, + GL_COMPRESSED_INTENSITY, + GL_COMPRESSED_LUMINANCE, + GL_COMPRESSED_LUMINANCE_ALPHA, + GL_COMPRESSED_RGB, or + GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. + + + If the internalFormat parameter is + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, + GL_SRGB8_ALPHA8, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, or + GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component + + c + s + + + to a linear component + + c + l + + + is: + + + + + + c + l + + = + + { + + + + + + + c + s + + 12.92 + + + + + + if + + + + c + s + + + 0.04045 + + + + + + + ( + + + + c + s + + + + 0.055 + + 1.055 + + ) + + 2.4 + + + + + + if + + + + c + s + + > + 0.04045 + + + + + + + + + + Assume + + c + s + + + is the sRGB component in the range [0,1]. + + + Use the GL_PROXY_TEXTURE_3D target to try out a resolution and + format. The implementation will + update and recompute its best match for the requested storage resolution + and format. To then query this state, call glGetTexLevelParameter. + If the texture cannot be accommodated, texture state is set to 0. + + + A one-component texture image uses only the red component of the RGBA + color extracted from data. + A two-component image uses the R and A values. + A three-component image uses the R, G, and B values. + A four-component image uses all of the RGBA components. + + + Notes + + Texturing has no effect in color index mode. + + + The texture image can be represented by the same data formats + as the pixels in a glDrawPixels command, + except that GL_STENCIL_INDEX and GL_DEPTH_COMPONENT + cannot be used. + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + glTexImage3D is available only if the GL version is 1.2 or greater. + + + Internal formats other than 1, 2, 3, or 4 may be used only if the GL + version is 1.1 or greater. + + + data may be a null pointer. + In this case texture memory is + allocated to accommodate a texture of width width, height height, + and depth depth. + 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. + + + Formats GL_BGR, and GL_BGRA and types + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version + is 1.2 or greater. + + + For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexImage3D + specifies the three-dimensional texture for the current texture unit, + specified with glActiveTexture. + + + If the ARB_imaging extension is supported, RGBA elements may + also be processed by the imaging pipeline. The following stages may be + applied to an RGBA color before color component clamping to the range + + + + 0 + 1 + + : + + + + 1. Color component replacement by the color table specified for + + + GL_COLOR_TABLE, if enabled. See glColorTable. + + + + + 2. Color component replacement by the color table specified for + + + GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable. + + + + + 3. Transformation by the color matrix. See glMatrixMode. + + + + + 4. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE, + + + and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See + glPixelTransfer. + + + + + 5. Color component replacement by the color table specified for + + + GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See + glColorTable. + + + + + + Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. + + + The + GL_SRGB, + GL_SRGB8, + GL_SRGB_ALPHA, + GL_SRGB8_ALPHA8, + GL_SLUMINANCE, + GL_SLUMINANCE8, + GL_SLUMINANCE_ALPHA, and + GL_SLUMINANCE8_ALPHA8 + internal formats are only available if the GL version is 2.1 or greater. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D + or GL_PROXY_TEXTURE_3D. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. Format constants other than GL_STENCIL_INDEX and GL_DEPTH_COMPONENT + are accepted. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_ENUM is generated if type is GL_BITMAP and + format is not GL_COLOR_INDEX. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater than + + + + log + 2 + + + + max + + + , + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or one of the + accepted resolution and format symbolic constants. + + + GL_INVALID_VALUE is generated if width, height, or depth is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width, height, or depth cannot be represented as + + + + 2 + k + + + + + 2 + + + border + + + + + for some + integer value of k. + + + GL_INVALID_VALUE is generated if border is not 0 or 1. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, or + GL_UNSIGNED_SHORT_5_6_5_REV + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV + and format is neither GL_RGBA nor GL_BGRA. + + + GL_INVALID_OPERATION is generated if format or internalFormat is + GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, + GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + GL_INVALID_OPERATION is generated if glTexImage3D + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_3D + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + See Also + + glActiveTexture, + glColorTable, + glCompressedTexImage1D, + glCompressedTexImage2D, + glCompressedTexImage3D, + glCompressedTexSubImage1D, + glCompressedTexSubImage2D, + glCompressedTexSubImage3D, + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glGetCompressedTexImage, + glMatrixMode, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glTexParameter.xml b/Source/Bind/Specifications/Docs/GL2/glTexParameter.xml new file mode 100644 index 00000000..d7e857ef --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glTexParameter.xml @@ -0,0 +1,1264 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexParameter + 3G + + + glTexParameter + set texture parameters + + C Specification + + + void glTexParameterf + GLenum target + GLenum pname + GLfloat param + + + + + void glTexParameteri + GLenum target + GLenum pname + GLint param + + + + + Parameters + + + target + + + Specifies the target texture, + which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, + GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. + + + + + pname + + + Specifies the symbolic name of a single-valued texture parameter. + pname can be one of the following: + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_BASE_LEVEL, + GL_TEXTURE_MAX_LEVEL, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, + GL_TEXTURE_WRAP_R, + GL_TEXTURE_PRIORITY, + GL_TEXTURE_COMPARE_MODE, + GL_TEXTURE_COMPARE_FUNC, + GL_DEPTH_TEXTURE_MODE, or + GL_GENERATE_MIPMAP. + + + + + param + + + Specifies the value of pname. + + + + + + C Specification + + + void glTexParameterfv + GLenum target + GLenum pname + const GLfloat * params + + + + + void glTexParameteriv + GLenum target + GLenum pname + const GLint * params + + + + Parameters + + + target + + + Specifies the target texture, + which must be either GL_TEXTURE_1D, GL_TEXTURE_2D or + GL_TEXTURE_3D. + + + + + pname + + + Specifies the symbolic name of a texture parameter. + pname can be one of the following: + GL_TEXTURE_MIN_FILTER, + GL_TEXTURE_MAG_FILTER, + GL_TEXTURE_MIN_LOD, + GL_TEXTURE_MAX_LOD, + GL_TEXTURE_BASE_LEVEL, + GL_TEXTURE_MAX_LEVEL, + GL_TEXTURE_WRAP_S, + GL_TEXTURE_WRAP_T, + GL_TEXTURE_WRAP_R, + GL_TEXTURE_BORDER_COLOR, + GL_TEXTURE_PRIORITY, + GL_TEXTURE_COMPARE_MODE, + GL_TEXTURE_COMPARE_FUNC, + GL_DEPTH_TEXTURE_MODE, or + GL_GENERATE_MIPMAP. + + + + + params + + + Specifies a pointer to an array where the value or values of pname + are stored. + + + + + + Description + + Texture mapping is a technique that applies an image onto an object's surface + as if the image were a decal or cellophane shrink-wrap. + The image is created in texture space, + with an + (s, + t) + coordinate system. + A texture is a one- or two-dimensional image and a set of parameters + that determine how samples are derived from the image. + + + glTexParameter assigns the value or values in params to the texture parameter + specified as pname. + target defines the target texture, + either GL_TEXTURE_1D, GL_TEXTURE_2D, or GL_TEXTURE_3D. + The following symbols are accepted in pname: + + + + GL_TEXTURE_MIN_FILTER + + + The texture minifying function is used whenever the pixel being textured + maps to an area greater than one texture element. + There are six defined minifying functions. + Two of them use the nearest one or nearest four texture elements + to compute the texture value. + The other four use mipmaps. + + + A mipmap is an ordered set of arrays representing the same image + at progressively lower resolutions. + If the texture has dimensions + + + + 2 + n + + × + 2 + m + + + , + there are + + + + + max + + + n + m + + + + + 1 + + + mipmaps. + The first mipmap is the original texture, + with dimensions + + + + 2 + n + + × + 2 + m + + + . + Each subsequent mipmap has dimensions + + + + 2 + + + k + - + 1 + + + + × + 2 + + + l + - + 1 + + + + + , + where + + + + 2 + k + + × + 2 + l + + + + are the dimensions of the previous mipmap, + until either + + + + k + = + 0 + + + or + + + + l + = + 0 + + . + At that point, + subsequent mipmaps have dimension + + + + 1 + × + 2 + + + l + - + 1 + + + + + + or + + + + 2 + + + k + - + 1 + + + + × + 1 + + + until the final mipmap, + which has dimension + + + + 1 + × + 1 + + . + To define the mipmaps, call glTexImage1D, glTexImage2D, + glTexImage3D, + glCopyTexImage1D, or glCopyTexImage2D + with the level argument indicating the order of the mipmaps. + Level 0 is the original texture; + level + + + + max + + + n + m + + + + is the final + + + + 1 + × + 1 + + + mipmap. + + + params supplies a function for minifying the texture as one of the + following: + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the center of the pixel being textured. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the center of the pixel being textured. + These can include border texture elements, + depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, + and on the exact mapping. + + + + + GL_NEAREST_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element nearest to the center of the pixel) + to produce a texture value. + + + + + GL_LINEAR_MIPMAP_NEAREST + + + Chooses the mipmap that most closely matches the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest + to the center of the pixel) + to produce a texture value. + + + + + GL_NEAREST_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_NEAREST criterion + (the texture element nearest to the center of the pixel) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + GL_LINEAR_MIPMAP_LINEAR + + + Chooses the two mipmaps that most closely match the size of the pixel + being textured and uses the GL_LINEAR criterion + (a weighted average of the four texture elements that are closest + to the center of the pixel) + to produce a texture value from each mipmap. + The final texture value is a weighted average of those two values. + + + + + + + As more texture elements are sampled in the minification process, + fewer aliasing artifacts will be apparent. + While the GL_NEAREST and GL_LINEAR minification functions can be + faster than the other four, + they sample only one or four texture elements to determine the texture value + of the pixel being rendered and can produce moire patterns + or ragged transitions. + The initial value of GL_TEXTURE_MIN_FILTER is + GL_NEAREST_MIPMAP_LINEAR. + + + + + GL_TEXTURE_MAG_FILTER + + + The texture magnification function is used when the pixel being textured + maps to an area less than or equal to one texture element. + It sets the texture magnification function to either GL_NEAREST + or GL_LINEAR (see below). GL_NEAREST is generally faster + than GL_LINEAR, + but it can produce textured images with sharper edges + because the transition between texture elements is not as smooth. + The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR. + + + GL_NEAREST + + + Returns the value of the texture element that is nearest + (in Manhattan distance) + to the center of the pixel being textured. + + + + + GL_LINEAR + + + Returns the weighted average of the four texture elements + that are closest to the center of the pixel being textured. + These can include border texture elements, + depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, + and on the exact mapping. + + + + + + + + + + + + + + + GL_TEXTURE_MIN_LOD + + + Sets the minimum level-of-detail parameter. This floating-point value + limits the selection of highest resolution mipmap (lowest mipmap + level). The initial value is -1000. + + + + + + + + + GL_TEXTURE_MAX_LOD + + + Sets the maximum level-of-detail parameter. This floating-point value + limits the selection of the lowest resolution mipmap (highest mipmap + level). The initial value is 1000. + + + + + + + + + GL_TEXTURE_BASE_LEVEL + + + Specifies the index of the lowest defined mipmap level. This is an + integer value. The initial value is 0. + + + + + + + + + GL_TEXTURE_MAX_LEVEL + + + Sets the index of the highest defined mipmap level. This is an integer + value. The initial value is 1000. + + + + + + + + + GL_TEXTURE_WRAP_S + + + Sets the wrap parameter for texture coordinate + s + to either GL_CLAMP, + GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. GL_CLAMP causes + s + coordinates to be clamped to the + range [0,1] and is useful for preventing wrapping artifacts when mapping a + single image onto an object. GL_CLAMP_TO_BORDER causes the + s + coordinate to be clamped to the range + + + + + + + -1 + 2N + + + + + 1 + + + + + + 1 + 2N + + + + + + , + where + N + is the size of the texture in the direction of + clamping.GL_CLAMP_TO_EDGE causes + s + coordinates to be clamped to the + range + + + + + + + 1 + 2N + + + + + 1 + - + + + + 1 + 2N + + + + + + , + where + N + is the size + of the texture in the direction of clamping. GL_REPEAT causes the + integer part of the + s + coordinate to be ignored; the GL uses only the + fractional part, thereby creating a repeating pattern. + GL_MIRRORED_REPEAT causes the + s + coordinate to be set to the + fractional part of the texture coordinate if the integer part of + s + is + even; if the integer part of + s + is odd, then the + s + texture coordinate is + set to + + + + 1 + - + + frac + + + s + + + + , + where + + + + frac + + + s + + + + represents the fractional part of + s. + Border texture + elements are accessed only if wrapping is set to GL_CLAMP or GL_CLAMP_TO_BORDER. Initially, + GL_TEXTURE_WRAP_S is set to GL_REPEAT. + + + + + + + + + GL_TEXTURE_WRAP_T + + + Sets the wrap parameter for texture coordinate + t + to either GL_CLAMP, + GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT. + + + + + GL_TEXTURE_WRAP_R + + + Sets the wrap parameter for texture coordinate + r + to either GL_CLAMP, + GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or + GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. + Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT. + + + + + GL_TEXTURE_BORDER_COLOR + + + Sets a border color. params contains four values that comprise the RGBA + color of the texture border. Integer color components are interpreted + linearly such that the most positive integer maps to 1.0, and the most + negative integer maps to -1.0. The values are clamped to the range [0,1] + when they are specified. Initially, the border color is (0, 0, 0, 0). + + + + + GL_TEXTURE_PRIORITY + + + Specifies the texture residence priority of the currently bound texture. + Permissible values are in the range + + + + 0 + 1 + + . + See glPrioritizeTextures and glBindTexture for more information. + + + + + GL_TEXTURE_COMPARE_MODE + + + Specifies the texture comparison mode for currently bound depth textures. + That is, a texture whose internal format is GL_DEPTH_COMPONENT_*; see + glTexImage2D) + Permissible values are: + + + GL_COMPARE_R_TO_TEXTURE + + + Specifies that the interpolated and clamped + r + texture coordinate should + be compared to the value in the currently bound depth texture. See the + discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison + is evaluated. The result of the comparison is assigned to luminance, + intensity, or alpha (as specified by GL_DEPTH_TEXTURE_MODE). + + + + + GL_NONE + + + Specifies that the luminance, intensity, or alpha (as specified by + GL_DEPTH_TEXTURE_MODE) should be assigned the + appropriate value from the currently bound depth texture. + + + + + + + + + GL_TEXTURE_COMPARE_FUNC + + + Specifies the comparison operator used when GL_TEXTURE_COMPARE_MODE is + set to GL_COMPARE_R_TO_TEXTURE. Permissible values are: + + + + + + + + Texture Comparison Function + + + Computed result + + + + + + + GL_LEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + <= + + D + t + + + + + + + r + > + + D + t + + + + + + + + + + + + + + GL_GEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + >= + + D + t + + + + + + + r + < + + D + t + + + + + + + + + + + + + + GL_LESS + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + < + + D + t + + + + + + + r + >= + + D + t + + + + + + + + + + + + + + GL_GREATER + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + > + + D + t + + + + + + + r + <= + + D + t + + + + + + + + + + + + + + GL_EQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + = + + D + t + + + + + + + r + + + D + t + + + + + + + + + + + + + + GL_NOTEQUAL + + + + + + result + = + + + + + 1.0 + + + 0.0 + + + ⁢   + + + + r + + + D + t + + + + + + + r + = + + D + t + + + + + + + + + + + + + + GL_ALWAYS + + + + + + result + = + 1.0 + + + + + + + + GL_NEVER + + + + + + result + = + 0.0 + + + + + + + + + where r + is the current interpolated texture coordinate, and + + + D + t + + + is the depth texture value sampled from the currently bound depth texture. + result + is assigned to the either the luminance, intensity, or alpha (as + specified by GL_DEPTH_TEXTURE_MODE.) + + + + + GL_DEPTH_TEXTURE_MODE + + + Specifies a single symbolic constant indicating how depth values should be + treated during filtering and texture application. Accepted values are + GL_LUMINANCE, GL_INTENSITY, and GL_ALPHA. The initial value + is GL_LUMINANCE. + + + + + GL_GENERATE_MIPMAP + + + Specifies a boolean value that indicates if all levels of a mipmap array + should be automatically updated when any modification to the base level + mipmap is done. The initial value is GL_FALSE. + + + + + + Notes + + GL_TEXTURE_3D, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, + GL_CLAMP_TO_EDGE, GL_TEXTURE_BASE_LEVEL, and GL_TEXTURE_MAX_LEVEL are + available only if the GL version is 1.2 or greater. + + + GL_CLAMP_TO_BORDER is available only if the GL version is 1.3 or greater. + + + GL_MIRRORED_REPEAT, GL_TEXTURE_COMPARE_MODE, + GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and + GL_GENERATE_MIPMAP are available only if the GL version is 1.4 or + greater. + + + GL_TEXTURE_COMPARE_FUNC allows the following additional comparison modes only + if the GL version is 1.5 or greater: + GL_LESS, GL_GREATER, + GL_EQUAL, GL_NOTEQUAL, + GL_ALWAYS, and GL_NEVER. + + + Suppose that a program has enabled texturing (by calling glEnable with + argument GL_TEXTURE_1D, GL_TEXTURE_2D, or GL_TEXTURE_3D) and + has set GL_TEXTURE_MIN_FILTER to one of the functions that requires a + mipmap. If either the dimensions of the texture images currently defined + (with previous calls to glTexImage1D, glTexImage2D, + glTexImage3D, glCopyTexImage1D, or glCopyTexImage2D) do not + follow the proper sequence for mipmaps (described above), or there are + fewer texture images defined than are needed, or the set of texture images + have differing numbers of texture components, then it is as if texture + mapping were disabled. + + + Linear filtering accesses the four nearest texture elements only in 2D + textures. In 1D textures, linear filtering accesses the two nearest + texture elements. + + + For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexParameter + specifies the texture parameters for the active texture unit, specified + by calling glActiveTexture. + + + Errors + + GL_INVALID_ENUM is generated if target or pname is not + one of the accepted defined values. + + + GL_INVALID_ENUM is generated if params should have a defined + constant value (based on the value of pname) and does not. + + + GL_INVALID_OPERATION is generated if glTexParameter is executed between the + execution of glBegin and the corresponding execution of glEnd. + + + Associated Gets + + glGetTexParameter + + + glGetTexLevelParameter + + + See Also + + glActiveTexture, + glBindTexture, + glCopyPixels, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glPixelStore, + glPixelTransfer, + glPrioritizeTextures, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glTexSubImage1D.xml b/Source/Bind/Specifications/Docs/GL2/glTexSubImage1D.xml new file mode 100644 index 00000000..d83fe0da --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glTexSubImage1D.xml @@ -0,0 +1,367 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexSubImage1D + 3G + + + glTexSubImage1D + specify a one-dimensional texture subimage + + C Specification + + + void glTexSubImage1D + GLenum target + GLint level + GLint xoffset + GLsizei width + GLenum format + GLenum type + const GLvoid * data + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_1D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_COLOR_INDEX, + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_BITMAP, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_FLOAT, + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is enabled. + To enable or disable one-dimensional texturing, call glEnable + and glDisable with argument GL_TEXTURE_1D. + + + glTexSubImage1D redefines a contiguous subregion of an existing one-dimensional + texture image. + The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive. + This region may not include any texels outside the range of the + texture array as it was originally specified. + It is not an error to specify a subtexture with width of 0, but + such a specification has no effect. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glTexSubImage1D is available only if the GL version is 1.1 or greater. + + + Texturing has no effect in color index mode. + + + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + Formats GL_BGR, and GL_BGRA and types + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version + is 1.2 or greater. + + + For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexSubImage1D + specifies a one-dimensional subtexture for the current texture unit, + specified with glActiveTexture. + + + When the ARB_imaging extension is supported, the RGBA components + specified in data may be processed by the imaging pipeline. See + glTexImage1D for specific details. + + + Errors + + GL_INVALID_ENUM is generated if target is not one of the + allowable values. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_ENUM is generated if type is GL_BITMAP and + format is not GL_COLOR_INDEX. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + - + b + + + , + or if + + + + + + xoffset + + + width + + + > + + + w + - + b + + + + , + where + w + is the GL_TEXTURE_WIDTH, and + b + is + the width of the GL_TEXTURE_BORDER + of the texture image being modified. + Note that + w + includes twice the border width. + + + GL_INVALID_VALUE is generated if width is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage1D operation. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, or + GL_UNSIGNED_SHORT_5_6_5_REV + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV + and format is neither GL_RGBA nor GL_BGRA. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + GL_INVALID_OPERATION is generated if glTexSubImage1D is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_1D + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + See Also + + glActiveTexture, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage2D, + glTexSubImage3D + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glTexSubImage2D.xml b/Source/Bind/Specifications/Docs/GL2/glTexSubImage2D.xml new file mode 100644 index 00000000..09c0ccbd --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glTexSubImage2D.xml @@ -0,0 +1,442 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexSubImage2D + 3G + + + glTexSubImage2D + specify a two-dimensional texture subimage + + C Specification + + + void glTexSubImage2D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLsizei width + GLsizei height + GLenum format + GLenum type + const GLvoid * data + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_COLOR_INDEX, + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_BITMAP, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_FLOAT, + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is enabled. + To enable and disable two-dimensional texturing, call glEnable + and glDisable with argument GL_TEXTURE_2D. + + + glTexSubImage2D redefines a contiguous subregion of an existing two-dimensional + texture image. + The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive, + and y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive. + This region may not include any texels outside the range of the + texture array as it was originally specified. + It is not an error to specify a subtexture with zero width or height, but + such a specification has no effect. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glTexSubImage2D is available only if the GL version is 1.1 or greater. + + + Texturing has no effect in color index mode. + + + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + Formats GL_BGR, and GL_BGRA and types + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version + is 1.2 or greater. + + + For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexSubImage2D + specifies a two-dimensional subtexture for the current texture unit, + specified with glActiveTexture. + + + When the ARB_imaging extension is supported, the RGBA components + specified in data may be processed by the imaging pipeline. See + glTexImage1D for specific details. + + + Errors + + GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + GL_TEXTURE_CUBE_MAP_POSITIVE_X, + GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + GL_TEXTURE_CUBE_MAP_POSITIVE_Y, + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_ENUM is generated if type is GL_BITMAP and + format is not GL_COLOR_INDEX. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + - + b + + + , + + + + + + xoffset + + + width + + + > + + + w + - + b + + + + , + + + + yoffset + < + + - + b + + + , + or + + + + + + yoffset + + + height + + + > + + + h + - + b + + + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, and + b + is the border width + of the texture image being modified. + Note that + w + and + h + include twice the border width. + + + GL_INVALID_VALUE is generated if width or height is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage2D operation. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, or + GL_UNSIGNED_SHORT_5_6_5_REV + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV + and format is neither GL_RGBA nor GL_BGRA. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + GL_INVALID_OPERATION is generated if glTexSubImage2D is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_2D + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + See Also + + glActiveTexture, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glTexSubImage3D.xml b/Source/Bind/Specifications/Docs/GL2/glTexSubImage3D.xml new file mode 100644 index 00000000..aef91bdb --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glTexSubImage3D.xml @@ -0,0 +1,497 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glTexSubImage3D + 3G + + + glTexSubImage3D + specify a three-dimensional texture subimage + + C Specification + + + void glTexSubImage3D + GLenum target + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLenum format + GLenum type + const GLvoid * data + + + + + + + Parameters + + + target + + + Specifies the target texture. + Must be GL_TEXTURE_3D. + + + + + level + + + Specifies the level-of-detail number. + Level 0 is the base image level. + Level n is the nth mipmap reduction image. + + + + + xoffset + + + Specifies a texel offset in the x direction within the texture array. + + + + + yoffset + + + Specifies a texel offset in the y direction within the texture array. + + + + + zoffset + + + Specifies a texel offset in the z direction within the texture array. + + + + + width + + + Specifies the width of the texture subimage. + + + + + height + + + Specifies the height of the texture subimage. + + + + + depth + + + Specifies the depth of the texture subimage. + + + + + format + + + Specifies the format of the pixel data. + The following symbolic values are accepted: + GL_COLOR_INDEX, + GL_RED, + GL_GREEN, + GL_BLUE, + GL_ALPHA, + GL_RGB, + GL_BGR, + GL_RGBA, + GL_BGRA, + GL_LUMINANCE, and + GL_LUMINANCE_ALPHA. + + + + + type + + + Specifies the data type of the pixel data. + The following symbolic values are accepted: + GL_UNSIGNED_BYTE, + GL_BYTE, + GL_BITMAP, + GL_UNSIGNED_SHORT, + GL_SHORT, + GL_UNSIGNED_INT, + GL_INT, + GL_FLOAT, + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV. + + + + + data + + + Specifies a pointer to the image data in memory. + + + + + + Description + + Texturing maps a portion of a specified texture image + onto each graphical primitive for which texturing is enabled. + To enable and disable three-dimensional texturing, call glEnable + and glDisable with argument GL_TEXTURE_3D. + + + glTexSubImage3D redefines a contiguous subregion of an existing three-dimensional + texture image. + The texels referenced by data replace the portion of the + existing texture array with x indices xoffset and + + + + xoffset + + + width + - + 1 + + , + inclusive, + y indices yoffset and + + + + yoffset + + + height + - + 1 + + , + inclusive, + and z indices zoffset and + + + + zoffset + + + depth + - + 1 + + , + inclusive. + This region may not include any texels outside the range of the + texture array as it was originally specified. + It is not an error to specify a subtexture with zero width, height, or + depth but such a specification has no effect. + + + If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target + (see glBindBuffer) while a texture image is + specified, data is treated as a byte offset into the buffer object's data store. + + + Notes + + glTexSubImage3D is available only if the GL version is 1.2 or greater. + + + Texturing has no effect in color index mode. + + + glPixelStore and glPixelTransfer modes affect texture images + in exactly the way they affect glDrawPixels. + + + Formats GL_BGR, and GL_BGRA and types + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, + GL_UNSIGNED_SHORT_5_6_5_REV, + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, and + GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version + is 1.2 or greater. + + + For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexSubImage3D + specifies a three-dimensional subtexture for the current texture unit, + specified with glActiveTexture. + + + When the ARB_imaging extension is supported, the RGBA components + specified in data may be processed by the imaging pipeline. See + glTexImage3D for specific details. + + + Errors + + GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_3D. + + + GL_INVALID_ENUM is generated if format is not an accepted + format constant. + + + GL_INVALID_ENUM is generated if type is not a type constant. + + + GL_INVALID_ENUM is generated if type is GL_BITMAP and + format is not GL_COLOR_INDEX. + + + GL_INVALID_VALUE is generated if level is less than 0. + + + GL_INVALID_VALUE may be generated if level is greater + than + + + log + 2 + + + max, + where max is the returned value of GL_MAX_TEXTURE_SIZE. + + + GL_INVALID_VALUE is generated if + + + + xoffset + < + + - + b + + + , + + + + + + xoffset + + + width + + + > + + + w + - + b + + + + , + + + + yoffset + < + + - + b + + + , + or + + + + + + yoffset + + + height + + + > + + + h + - + b + + + + , + or + + + + zoffset + < + + - + b + + + , + or + + + + + + zoffset + + + depth + + + > + + + d + - + b + + + + , + where + w + is the GL_TEXTURE_WIDTH, + h + is the GL_TEXTURE_HEIGHT, + d + is the GL_TEXTURE_DEPTH + and + b + is the border width of the texture image being modified. + Note that + w, + h, + and + d + include twice the border width. + + + GL_INVALID_VALUE is generated if width, height, or depth + is less than 0. + + + GL_INVALID_OPERATION is generated if the texture array has not + been defined by a previous glTexImage3D operation. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_BYTE_3_3_2, + GL_UNSIGNED_BYTE_2_3_3_REV, + GL_UNSIGNED_SHORT_5_6_5, or + GL_UNSIGNED_SHORT_5_6_5_REV + and format is not GL_RGB. + + + GL_INVALID_OPERATION is generated if type is one of + GL_UNSIGNED_SHORT_4_4_4_4, + GL_UNSIGNED_SHORT_4_4_4_4_REV, + GL_UNSIGNED_SHORT_5_5_5_1, + GL_UNSIGNED_SHORT_1_5_5_5_REV, + GL_UNSIGNED_INT_8_8_8_8, + GL_UNSIGNED_INT_8_8_8_8_REV, + GL_UNSIGNED_INT_10_10_10_2, or + GL_UNSIGNED_INT_2_10_10_10_REV + and format is neither GL_RGBA nor GL_BGRA. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer + object such that the memory reads required would exceed the data store size. + + + GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the + GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible + into the number of bytes needed to store in memory a datum indicated by type. + + + GL_INVALID_OPERATION is generated if glTexSubImage3D is executed + between the execution of glBegin and the corresponding + execution of glEnd. + + + Associated Gets + + glGetTexImage + + + glIsEnabled with argument GL_TEXTURE_3D + + + glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING + + + See Also + + glActiveTexture, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glDrawPixels, + glPixelStore, + glPixelTransfer, + glTexEnv, + glTexGen, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexSubImage1D, + glTexSubImage2D, + glTexParameter + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glTranslate.xml b/Source/Bind/Specifications/Docs/GL2/glTranslate.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glTranslate.xml rename to Source/Bind/Specifications/Docs/GL2/glTranslate.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glUniform.xml b/Source/Bind/Specifications/Docs/GL2/glUniform.xml new file mode 100644 index 00000000..837e3a7a --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glUniform.xml @@ -0,0 +1,498 @@ + + + + + glUniform + 3G + + + glUniform + glUniform1f + glUniform2f + glUniform3f + glUniform4f + glUniform1i + glUniform2i + glUniform3i + glUniform4i + glUniform1fv + glUniform2fv + glUniform3fv + glUniform4fv + glUniform1iv + glUniform2iv + glUniform3iv + glUniform4iv + glUniformMatrix2fv + glUniformMatrix3fv + glUniformMatrix4fv + glUniformMatrix2x3fv + glUniformMatrix3x2fv + glUniformMatrix2x4fv + glUniformMatrix4x2fv + glUniformMatrix3x4fv + glUniformMatrix4x3fv + Specify the value of a uniform variable for the current program object + + C Specification + + + void glUniform1f + GLint location + GLfloat v0 + + + void glUniform2f + GLint location + GLfloat v0 + GLfloat v1 + + + void glUniform3f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glUniform4f + GLint location + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glUniform1i + GLint location + GLint v0 + + + void glUniform2i + GLint location + GLint v0 + GLint v1 + + + void glUniform3i + GLint location + GLint v0 + GLint v1 + GLint v2 + + + void glUniform4i + GLint location + GLint v0 + GLint v1 + GLint v2 + GLint v3 + + + + Parameters + + + location + + Specifies the location of the uniform variable + to be modified. + + + + + v0, + v1, + v2, + v3 + + + Specifies the new values to be used for the + specified uniform variable. + + + + + C Specification + + + void glUniform1fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform2fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform3fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform4fv + GLint location + GLsizei count + const GLfloat *value + + + void glUniform1iv + GLint location + GLsizei count + const GLint *value + + + void glUniform2iv + GLint location + GLsizei count + const GLint *value + + + void glUniform3iv + GLint location + GLsizei count + const GLint *value + + + void glUniform4iv + GLint location + GLsizei count + const GLint *value + + + + Parameters + + + location + + Specifies the location of the uniform value to + be modified. + + + + count + + Specifies the number of elements that are to + be modified. This should be 1 if the targeted + uniform variable is not an array, and 1 or more if it is + an array. + + + + value + + Specifies a pointer to an array of + count values that will be + used to update the specified uniform + variable. + + + + + C Specification + + + void glUniformMatrix2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix2x3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3x2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix2x4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4x2fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix3x4fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + void glUniformMatrix4x3fv + GLint location + GLsizei count + GLboolean transpose + const GLfloat *value + + + + Parameters + + + location + + Specifies the location of the uniform value to + be modified. + + + + count + + Specifies the number of matrices that are to + be modified. This should be 1 if the targeted + uniform variable is not an array of matrices, and 1 or more if it is + an array of matrices. + + + + transpose + + Specifies whether to transpose the matrix as + the values are loaded into the uniform + variable. + + + + value + + Specifies a pointer to an array of + count values that will be + used to update the specified uniform + variable. + + + + + Description + glUniform modifies the value of a + uniform variable or a uniform variable array. The location of + the uniform variable to be modified is specified by + location, which should be a value + returned by + glGetUniformLocation. + glUniform operates on the program object + that was made part of current state by calling + glUseProgram. + + The commands glUniform{1|2|3|4}{f|i} + are used to change the value of the uniform variable specified + by location using the values passed as + arguments. The number specified in the command should match the + number of components in the data type of the specified uniform + variable (e.g., 1 for float, int, bool; + 2 for vec2, ivec2, bvec2, etc.). The suffix + f indicates that floating-point values are + being passed; the suffix i indicates that + integer values are being passed, and this type should also match + the data type of the specified uniform variable. The + i variants of this function should be used + to provide values for uniform variables defined as int, ivec2, + ivec3, ivec4, or arrays of these. The f + variants should be used to provide values for uniform variables + of type float, vec2, vec3, vec4, or arrays of these. Either the + i or the f variants + may be used to provide values for uniform variables of type + bool, bvec2, bvec3, bvec4, or arrays of these. The uniform + variable will be set to false if the input value is 0 or 0.0f, + and it will be set to true otherwise. + + All active uniform variables defined in a program object + are initialized to 0 when the program object is linked + successfully. They retain the values assigned to them by a call + to glUniform until the next successful + link operation occurs on the program object, when they are once + again initialized to 0. + + The commands glUniform{1|2|3|4}{f|i}v + can be used to modify a single uniform variable or a uniform + variable array. These commands pass a count and a pointer to the + values to be loaded into a uniform variable or a uniform + variable array. A count of 1 should be used if modifying the + value of a single uniform variable, and a count of 1 or greater + can be used to modify an entire array or part of an array. When + loading n elements starting at an arbitrary + position m in a uniform variable array, + elements m + n - 1 in + the array will be replaced with the new values. If + m + n - 1 is + larger than the size of the uniform variable array, values for + all array elements beyond the end of the array will be ignored. + The number specified in the name of the command indicates the + number of components for each element in + value, and it should match the number of + components in the data type of the specified uniform variable + (e.g., 1 for float, int, bool; + 2 for vec2, ivec2, bvec2, etc.). The data + type specified in the name of the command must match the data + type for the specified uniform variable as described previously + for glUniform{1|2|3|4}{f|i}. + + For uniform variable arrays, each element of the array is + considered to be of the type indicated in the name of the + command (e.g., glUniform3f or + glUniform3fv can be used to load a uniform + variable array of type vec3). The number of elements of the + uniform variable array to be modified is specified by + count + + The commands + glUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv + are used to modify a matrix or an array of matrices. The numbers in the + command name are interpreted as the dimensionality of the matrix. + The number 2 indicates a 2 × 2 matrix + (i.e., 4 values), the number 3 indicates a + 3 × 3 matrix (i.e., 9 values), and the number + 4 indicates a 4 × 4 matrix (i.e., 16 + values). Non-square matrix dimensionality is explicit, with the first + number representing the number of columns and the second number + representing the number of rows. For example, + 2x4 indicates a 2 × 4 matrix with 2 columns + and 4 rows (i.e., 8 values). + If transpose is + GL_FALSE, each matrix is assumed to be + supplied in column major order. If + transpose is + GL_TRUE, each matrix is assumed to be + supplied in row major order. The count + argument indicates the number of matrices to be passed. A count + of 1 should be used if modifying the value of a single matrix, + and a count greater than 1 can be used to modify an array of + matrices. + + Notes + glUniform is available only if the GL + version is 2.0 or greater. + + glUniformMatrix{2x3|3x2|2x4|4x2|3x4|4x3}fv + is available only if the GL version is 2.1 or greater. + + glUniform1i and + glUniform1iv are the only two functions + that may be used to load uniform variables defined as sampler + types. Loading samplers with any other function will result in a + GL_INVALID_OPERATION error. + + If count is greater than 1 and the + indicated uniform variable is not an array, a + GL_INVALID_OPERATION error is generated and the + specified uniform variable will remain unchanged. + + Other than the preceding exceptions, if the type and size + of the uniform variable as defined in the shader do not match + the type and size specified in the name of the command used to + load its value, a GL_INVALID_OPERATION error will + be generated and the specified uniform variable will remain + unchanged. + + If location is a value other than + -1 and it does not represent a valid uniform variable location + in the current program object, an error will be generated, and + no changes will be made to the uniform variable storage of the + current program object. If location is + equal to -1, the data passed in will be silently ignored and the + specified uniform variable will not be changed. + + Errors + GL_INVALID_OPERATION is generated if there + is no current program object. + + GL_INVALID_OPERATION is generated if the + size of the uniform variable declared in the shader does not + match the size indicated by the glUniform + command. + + GL_INVALID_OPERATION is generated if one of + the integer variants of this function is used to load a uniform + variable of type float, vec2, vec3, vec4, or an array of these, + or if one of the floating-point variants of this function is + used to load a uniform variable of type int, ivec2, ivec3, or + ivec4, or an array of these. + + GL_INVALID_OPERATION is generated if + location is an invalid uniform location + for the current program object and + location is not equal to -1. + + GL_INVALID_VALUE is generated if + count is less than 0. + + GL_INVALID_OPERATION is generated if + count is greater than 1 and the indicated + uniform variable is not an array variable. + + GL_INVALID_OPERATION is generated if a + sampler is loaded using a command other than + glUniform1i and + glUniform1iv. + + GL_INVALID_OPERATION is generated if + glUniform is executed between the execution + of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveUniform + with the handle of a program object and the index of an active uniform variable + + glGetUniform + with the handle of a program object and the location of a + uniform variable + + glGetUniformLocation + with the handle of a program object and the name of a uniform + variable + + See Also + glLinkProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glUseProgram.xml b/Source/Bind/Specifications/Docs/GL2/glUseProgram.xml new file mode 100644 index 00000000..761be18e --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glUseProgram.xml @@ -0,0 +1,258 @@ + + + + + glUseProgram + 3G + + + glUseProgram + Installs a program object as part of current rendering state + + C Specification + + + void glUseProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object + whose executables are to be used as part of current + rendering state. + + + + + Description + glUseProgram installs the program + object specified by program as part of + current rendering state. One or more executables are created in + a program object by successfully attaching shader objects to it + with + glAttachShader, + successfully compiling the shader objects with + glCompileShader, + and successfully linking the program object with + glLinkProgram. + + + A program object will contain an executable that will run + on the vertex processor if it contains one or more shader + objects of type GL_VERTEX_SHADER that have + been successfully compiled and linked. Similarly, a program + object will contain an executable that will run on the fragment + processor if it contains one or more shader objects of type + GL_FRAGMENT_SHADER that have been + successfully compiled and linked. + + Successfully installing an executable on a programmable + processor will cause the corresponding fixed functionality of + OpenGL to be disabled. Specifically, if an executable is + installed on the vertex processor, the OpenGL fixed + functionality will be disabled as follows. + + + + The modelview matrix is not applied to vertex + coordinates. + + + The projection matrix is not applied to vertex + coordinates. + + + The texture matrices are not applied to texture + coordinates. + + + Normals are not transformed to eye + coordinates. + + + Normals are not rescaled or normalized. + + + Normalization of + GL_AUTO_NORMAL evaluated normals is + not performed. + + + Texture coordinates are not generated + automatically. + + + Per-vertex lighting is not performed. + + + Color material computations are not + performed. + + + Color index lighting is not performed. + + + This list also applies when setting the current + raster position. + + + + The executable that is installed on the vertex processor + is expected to implement any or all of the desired functionality + from the preceding list. Similarly, if an executable is + installed on the fragment processor, the OpenGL fixed + functionality will be disabled as follows. + + + + Texture environment and texture functions are not + applied. + + + Texture application is not applied. + + + Color sum is not applied. + + + Fog is not applied. + + + + Again, the fragment shader that is installed is expected + to implement any or all of the desired functionality from the + preceding list. + + While a program object is in use, applications are free to + modify attached shader objects, compile attached shader objects, + attach additional shader objects, and detach or delete shader + objects. None of these operations will affect the executables + that are part of the current state. However, relinking the + program object that is currently in use will install the program + object as part of the current rendering state if the link + operation was successful (see + glLinkProgram + ). If the program object currently in use is relinked + unsuccessfully, its link status will be set to + GL_FALSE, but the executables and + associated state will remain part of the current state until a + subsequent call to glUseProgram removes it + from use. After it is removed from use, it cannot be made part + of current state until it has been successfully relinked. + + If program contains shader objects + of type GL_VERTEX_SHADER but it does not + contain shader objects of type + GL_FRAGMENT_SHADER, an executable will be + installed on the vertex processor, but fixed functionality will + be used for fragment processing. Similarly, if + program contains shader objects of type + GL_FRAGMENT_SHADER but it does not contain + shader objects of type GL_VERTEX_SHADER, an + executable will be installed on the fragment processor, but + fixed functionality will be used for vertex processing. If + program is 0, the programmable processors + will be disabled, and fixed functionality will be used for both + vertex and fragment processing. + + Notes + glUseProgram is available only if the + GL version is 2.0 or greater. + + While a program object is in use, the state that controls + the disabled fixed functionality may also be updated using the + normal OpenGL calls. + + Like display lists and texture objects, the name space for + program objects may be shared across a set of contexts, as long + as the server sides of the contexts share the same address + space. If the name space is shared across contexts, any attached + objects and the data associated with those attached objects are + shared as well. + + Applications are responsible for providing the + synchronization across API calls when objects are accessed from + different execution threads. + + + Errors + GL_INVALID_VALUE is generated if + program is neither 0 nor a value + generated by OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + program could not be made part of current + state. + + GL_INVALID_OPERATION is generated if + glUseProgram is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with a valid program object and the index of an active attribute + variable + + glGetActiveUniform + with a valid program object and the index of an active uniform + variable + + glGetAttachedShaders + with a valid program object + + glGetAttribLocation + with a valid program object and the name of an attribute + variable + + glGetProgram + with a valid program object and the parameter to be queried + + glGetProgramInfoLog + with a valid program object + + glGetUniform + with a valid program object and the location of a uniform + variable + + glGetUniformLocation + with a valid program object and the name of a uniform + variable + + glIsProgram + + See Also + gllAttachShader, + glBindAttribLocation, + glCompileShader, + glCreateProgram, + glDeleteProgram, + glDetachShader, + glLinkProgram, + glUniform, + glValidateProgram, + glVertexAttrib + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glValidateProgram.xml b/Source/Bind/Specifications/Docs/GL2/glValidateProgram.xml new file mode 100644 index 00000000..6ef6e60f --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glValidateProgram.xml @@ -0,0 +1,142 @@ + + + + + glValidateProgram + 3G + + + glValidateProgram + Validates a program object + + C Specification + + + void glValidateProgram + GLuint program + + + + Parameters + + + program + + Specifies the handle of the program object to + be validated. + + + + + Description + glValidateProgram checks to see + whether the executables contained in + program can execute given the current + OpenGL state. The information generated by the validation + process will be stored in program's + information log. The validation information may consist of an + empty string, or it may be a string containing information about + how the current program object interacts with the rest of + current OpenGL state. This provides a way for OpenGL + implementers to convey more information about why the current + program is inefficient, suboptimal, failing to execute, and so + on. + + The status of the validation operation will be stored as + part of the program object's state. This value will be set to + GL_TRUE if the validation succeeded, and + GL_FALSE otherwise. It can be queried by + calling + glGetProgram + with arguments program and + GL_VALIDATE_STATUS. If validation is + successful, program is guaranteed to + execute given the current state. Otherwise, + program is guaranteed to not execute. + + This function is typically useful only during application + development. The informational string stored in the information + log is completely implementation dependent; therefore, an + application should not expect different OpenGL implementations + to produce identical information strings. + + Notes + glValidateProgram is available only + if the GL version is 2.0 or greater. + + This function mimics the validation operation that OpenGL + implementations must perform when rendering commands are issued + while programmable shaders are part of current state. The error + GL_INVALID_OPERATION will be generated by + glBegin, + glRasterPos, + or any command that performs an implicit call to + glBegin + if: + + + + any two active samplers in the current program + object are of different types, but refer to the same + texture image unit, + + + any active sampler in the current program object + refers to a texture image unit where fixed-function + fragment processing accesses a texture target that does + not match the sampler type, or + + + the sum of the number of active samplers in the + program and the number of texture image units enabled + for fixed-function fragment processing exceeds the + combined limit on the total number of texture image + units allowed. + + + + It may be difficult or cause a performance degradation for + applications to catch these errors when rendering commands are + issued. Therefore, applications are advised to make calls to + glValidateProgram to detect these issues + during application development. + + Errors + GL_INVALID_VALUE is generated if + program is not a value generated by + OpenGL. + + GL_INVALID_OPERATION is generated if + program is not a program object. + + GL_INVALID_OPERATION is generated if + glValidateProgram is executed between the + execution of + glBegin + and the corresponding execution of + glEnd. + + Associated Gets + glGetProgram + with arguments program and + GL_VALIDATE_STATUS + + glGetProgramInfoLog + with argument program + + glIsProgram + + See Also + glLinkProgram, + glUseProgram + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glVertex.xml b/Source/Bind/Specifications/Docs/GL2/glVertex.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glVertex.xml rename to Source/Bind/Specifications/Docs/GL2/glVertex.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glVertexAttrib.xml b/Source/Bind/Specifications/Docs/GL2/glVertexAttrib.xml new file mode 100644 index 00000000..c9f161b8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glVertexAttrib.xml @@ -0,0 +1,422 @@ + + + + + glVertexAttrib + 3G + + + glVertexAttrib + Specifies the value of a generic vertex attribute + + C Specification + + + void glVertexAttrib1f + GLuint index + GLfloat v0 + + + void glVertexAttrib1s + GLuint index + GLshort v0 + + + void glVertexAttrib1d + GLuint index + GLdouble v0 + + + void glVertexAttrib2f + GLuint index + GLfloat v0 + GLfloat v1 + + + void glVertexAttrib2s + GLuint index + GLshort v0 + GLshort v1 + + + void glVertexAttrib2d + GLuint index + GLdouble v0 + GLdouble v1 + + + void glVertexAttrib3f + GLuint index + GLfloat v0 + GLfloat v1 + GLfloat v2 + + + void glVertexAttrib3s + GLuint index + GLshort v0 + GLshort v1 + GLshort v2 + + + void glVertexAttrib3d + GLuint index + GLdouble v0 + GLdouble v1 + GLdouble v2 + + + void glVertexAttrib4f + GLuint index + GLfloat v0 + GLfloat v1 + GLfloat v2 + GLfloat v3 + + + void glVertexAttrib4s + GLuint index + GLshort v0 + GLshort v1 + GLshort v2 + GLshort v3 + + + void glVertexAttrib4d + GLuint index + GLdouble v0 + GLdouble v1 + GLdouble v2 + GLdouble v3 + + + void glVertexAttrib4Nub + GLuint index + GLubyte v0 + GLubyte v1 + GLubyte v2 + GLubyte v3 + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + + v0, + v1, + v2, + v3 + + + Specifies the new values to be used for the + specified vertex attribute. + + + + + C Specification + + + void glVertexAttrib1fv + GLuint index + const GLfloat *v + + + void glVertexAttrib1sv + GLuint index + const GLshort *v + + + void glVertexAttrib1dv + GLuint index + const GLdouble *v + + + void glVertexAttrib2fv + GLuint index + const GLfloat *v + + + void glVertexAttrib2sv + GLuint index + const GLshort *v + + + void glVertexAttrib2dv + GLuint index + const GLdouble *v + + + void glVertexAttrib3fv + GLuint index + const GLfloat *v + + + void glVertexAttrib3sv + GLuint index + const GLshort *v + + + void glVertexAttrib3dv + GLuint index + const GLdouble *v + + + void glVertexAttrib4fv + GLuint index + const GLfloat *v + + + void glVertexAttrib4sv + GLuint index + const GLshort *v + + + void glVertexAttrib4dv + GLuint index + const GLdouble *v + + + void glVertexAttrib4iv + GLuint index + const GLint *v + + + void glVertexAttrib4bv + GLuint index + const GLbyte *v + + + void glVertexAttrib4ubv + GLuint index + const GLubyte *v + + + void glVertexAttrib4usv + GLuint index + const GLushort *v + + + void glVertexAttrib4uiv + GLuint index + const GLuint *v + + + void glVertexAttrib4Nbv + GLuint index + const GLbyte *v + + + void glVertexAttrib4Nsv + GLuint index + const GLshort *v + + + void glVertexAttrib4Niv + GLuint index + const GLint *v + + + void glVertexAttrib4Nubv + GLuint index + const GLubyte *v + + + void glVertexAttrib4Nusv + GLuint index + const GLushort *v + + + void glVertexAttrib4Nuiv + GLuint index + const GLuint *v + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + v + + Specifies a pointer to an array of values to + be used for the generic vertex attribute. + + + + + Description + OpenGL defines a number of standard vertex attributes that + applications can modify with standard API entry points (color, + normal, texture coordinates, etc.). The + glVertexAttrib family of entry points + allows an application to pass generic vertex attributes in + numbered locations. + + Generic attributes are defined as four-component values + that are organized into an array. The first entry of this array + is numbered 0, and the size of the array is specified by the + implementation-dependent constant + GL_MAX_VERTEX_ATTRIBS. Individual elements + of this array can be modified with a + glVertexAttrib call that specifies the + index of the element to be modified and a value for that + element. + + These commands can be used to specify one, two, three, or + all four components of the generic vertex attribute specified by + index. A 1 in the + name of the command indicates that only one value is passed, and + it will be used to modify the first component of the generic + vertex attribute. The second and third components will be set to + 0, and the fourth component will be set to 1. Similarly, a + 2 in the name of the command indicates that + values are provided for the first two components, the third + component will be set to 0, and the fourth component will be set + to 1. A 3 in the name of the command + indicates that values are provided for the first three + components and the fourth component will be set to 1, whereas a + 4 in the name indicates that values are + provided for all four components. + + The letters s, + f, i, + d, ub, + us, and ui indicate + whether the arguments are of type short, float, int, double, + unsigned byte, unsigned short, or unsigned int. When + v is appended to the name, the commands can + take a pointer to an array of such values. The commands + containing N indicate that the arguments + will be passed as fixed-point values that are scaled to a + normalized range according to the component conversion rules + defined by the OpenGL specification. Signed values are + understood to represent fixed-point values in the range [-1,1], + and unsigned values are understood to represent fixed-point + values in the range [0,1]. + + OpenGL Shading Language attribute variables are allowed to + be of type mat2, mat3, or mat4. Attributes of these types may be + loaded using the glVertexAttrib entry + points. Matrices must be loaded into successive generic + attribute slots in column major order, with one column of the + matrix in each generic attribute slot. + + A user-defined attribute variable declared in a vertex + shader can be bound to a generic attribute index by calling + glBindAttribLocation. + This allows an application to use more descriptive variable + names in a vertex shader. A subsequent change to the specified + generic vertex attribute will be immediately reflected as a + change to the corresponding attribute variable in the vertex + shader. + + The binding between a generic vertex attribute index and a + user-defined attribute variable in a vertex shader is part of + the state of a program object, but the current value of the + generic vertex attribute is not. The value of each generic + vertex attribute is part of current state, just like standard + vertex attributes, and it is maintained even if a different + program object is used. + + An application may freely modify generic vertex attributes + that are not bound to a named vertex shader attribute variable. + These values are simply maintained as part of current state and + will not be accessed by the vertex shader. If a generic vertex + attribute bound to an attribute variable in a vertex shader is + not updated while the vertex shader is executing, the vertex + shader will repeatedly use the current value for the generic + vertex attribute. + + The generic vertex attribute with index 0 is the same as + the vertex position attribute previously defined by OpenGL. A + glVertex2, + glVertex3, + or + glVertex4 + command is completely equivalent to the corresponding + glVertexAttrib command with an index + argument of 0. A vertex shader can access generic vertex + attribute 0 by using the built-in attribute variable + gl_Vertex. There are no current values + for generic vertex attribute 0. This is the only generic vertex + attribute with this property; calls to set other standard vertex + attributes can be freely mixed with calls to set any of the + other generic vertex attributes. + + Notes + glVertexAttrib is available only if + the GL version is 2.0 or greater. + + Generic vertex attributes can be updated at any time. In + particular, glVertexAttrib can be called + between a call to + glBegin + and the corresponding call to + glEnd. + + It is possible for an application to bind more than one + attribute name to the same generic vertex attribute index. This + is referred to as aliasing, and it is allowed only if just one + of the aliased attribute variables is active in the vertex + shader, or if no path through the vertex shader consumes more + than one of the attributes aliased to the same location. OpenGL + implementations are not required to do error checking to detect + aliasing, they are allowed to assume that aliasing will not + occur, and they are allowed to employ optimizations that work + only in the absence of aliasing. + + There is no provision for binding standard vertex + attributes; therefore, it is not possible to alias generic + attributes with standard attributes. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + Associated Gets + glGet + with the argument GL_CURRENT_PROGRAM + + glGetActiveAttrib + with argument program and the index of an active + attribute variable + + glGetAttribLocation + with argument program and an attribute + variable name + + glGetVertexAttrib + with arguments GL_CURRENT_VERTEX_ATTRIB and + index + + See Also + glBindAttribLocation, + glVertex, + glVertexAttribPointer + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL2/glVertexAttribPointer.xml b/Source/Bind/Specifications/Docs/GL2/glVertexAttribPointer.xml new file mode 100644 index 00000000..7f9949b9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glVertexAttribPointer.xml @@ -0,0 +1,241 @@ + + + + + glVertexAttribPointer + 3G + + + glVertexAttribPointer + define an array of generic vertex attribute data + + C Specification + + + void glVertexAttribPointer + GLuint index + GLint size + GLenum type + GLboolean normalized + GLsizei stride + const GLvoid * pointer + + + + Parameters + + + index + + Specifies the index of the generic vertex + attribute to be modified. + + + + size + + Specifies the number of components per + generic vertex attribute. Must + be 1, 2, 3, or 4. The initial value is 4. + + + + type + + Specifies the data type of each component in + the array. Symbolic constants + GL_BYTE, + GL_UNSIGNED_BYTE, + GL_SHORT, + GL_UNSIGNED_SHORT, + GL_INT, + GL_UNSIGNED_INT, + GL_FLOAT, or + GL_DOUBLE are + accepted. The initial value is GL_FLOAT. + + + + normalized + + Specifies whether fixed-point data values + should be normalized (GL_TRUE) + or converted directly as fixed-point values + (GL_FALSE) when they are + accessed. + + + + stride + + Specifies the byte offset between consecutive + generic vertex attributes. If stride + is 0, the generic vertex attributes are + understood to be tightly packed in the + array. The initial value is 0. + + + + pointer + + Specifies a pointer to the first component of + the first generic vertex attribute in the array. The initial value is 0. + + + + + Description + glVertexAttribPointer specifies the + location and data format of the array of generic vertex attributes at index index + to use when rendering. size + specifies the number of components per attribute and must be 1, + 2, 3, or 4. type specifies the data type + of each component, and stride specifies + the byte stride from one attribute to the next, allowing vertices and + attributes to be packed into a single array or + stored in separate arrays. + If set to GL_TRUE, + normalized indicates that values stored + in an integer format are to be mapped to the range [-1,1] (for + signed values) or [0,1] (for unsigned values) when they are + accessed and converted to floating point. Otherwise, values will + be converted to floats directly without normalization. + + If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target + (see glBindBuffer) while a generic vertex attribute array is + specified, pointer is treated as a byte offset into the buffer object's data store. + Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as generic vertex attribute array + client-side state (GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) for index index. + + When a generic vertex attribute array is specified, + size, type, + normalized, + stride, and + pointer are saved as client-side + state, in addition to the current vertex array buffer object binding. + + To enable and disable a generic vertex attribute array, + call + glEnableVertexAttribArray + and + glDisableVertexAttribArray + with index. If enabled, the generic + vertex attribute array is used when + glArrayElement, + glDrawArrays, + glMultiDrawArrays, + glDrawElements, + glMultiDrawElements, or + glDrawRangeElements + is called. + + Notes + glVertexAttribPointer is available + only if the GL version is 2.0 or greater. + + Each generic vertex attribute array is initially disabled + and isn't accessed when + glArrayElement, glDrawElements, glDrawRangeElements, + glDrawArrays, glMultiDrawArrays, or glMultiDrawElements + is called. + + Execution of glVertexAttribPointer is + not allowed between the execution of + glBegin + and the corresponding execution of + glEnd, + but an error may or may not be generated. If no error is + generated, the operation is undefined. + + glVertexAttribPointer is typically + implemented on the client side. + + Generic vertex attribute array parameters are client-side + state and are therefore not saved or restored by + glPushAttrib + and + glPopAttrib. + Use + glPushClientAttrib + and + glPopClientAttrib + instead. + + Errors + GL_INVALID_VALUE is generated if + index is greater than or equal to + GL_MAX_VERTEX_ATTRIBS. + + GL_INVALID_VALUE is generated if + size is not 1, 2, 3, or 4. + + GL_INVALID_ENUM is generated if + type is not an accepted value. + + GL_INVALID_VALUE is generated if + stride is negative. + + Associated Gets + glGet + with argument GL_MAX_VERTEX_ATTRIBS + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_SIZE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_TYPE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_NORMALIZED + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_STRIDE + + glGetVertexAttrib + with arguments index and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING + + glGet with argument + GL_ARRAY_BUFFER_BINDING + + glGetVertexAttribPointerv + with arguments index and + GL_VERTEX_ATTRIB_ARRAY_POINTER + + See Also + glArrayElement, + glBindAttribLocation, + glBindBuffer, + glColorPointer, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glDrawRangeElements, + glEnableVertexAttribArray, + glEdgeFlagPointer, + glFogCoordPointer, + glIndexPointer, + glInterleavedArrays, + glMultiDrawArrays, + glMultiDrawElements, + glNormalPointer, + glPopClientAttrib, + glPushClientAttrib, + glSecondaryColorPointer, + glTexCoordPointer, + glVertexAttrib, + glVertexPointer + + + Copyright + + Copyright 2003-2005 3Dlabs Inc. Ltd. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glVertexPointer.xml b/Source/Bind/Specifications/Docs/GL2/glVertexPointer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glVertexPointer.xml rename to Source/Bind/Specifications/Docs/GL2/glVertexPointer.xml diff --git a/Source/Bind/Specifications/Docs/GL2/glViewport.xml b/Source/Bind/Specifications/Docs/GL2/glViewport.xml new file mode 100644 index 00000000..225dbe10 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL2/glViewport.xml @@ -0,0 +1,193 @@ + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + glViewport + 3G + + + glViewport + set the viewport + + C Specification + + + void glViewport + GLint x + GLint y + GLsizei width + GLsizei height + + + + + Parameters + + + x + y + + + Specify the lower left corner of the viewport rectangle, + in pixels. The initial value is (0,0). + + + + + width + height + + + Specify the width and height + of the viewport. + When a GL context is first attached to a window, + width and height are set to the dimensions of that + window. + + + + + + Description + + glViewport specifies the affine transformation of + x + and + y + from + normalized device coordinates to window coordinates. + Let + + + + x + nd + + y + nd + + + + be normalized device coordinates. + Then the window coordinates + + + + x + w + + y + w + + + + are computed as follows: + + + + + + x + w + + = + + + + x + nd + + + + 1 + + + + + + width + 2 + + + + + x + + + + + + + + + y + w + + = + + + + y + nd + + + + 1 + + + + + + height + 2 + + + + + y + + + + + + Viewport width and height are silently clamped + to a range that depends on the implementation. + To query this range, call glGet with argument + GL_MAX_VIEWPORT_DIMS. + + + Errors + + GL_INVALID_VALUE is generated if either width or height is negative. + + + GL_INVALID_OPERATION is generated if glViewport + is executed between the execution of glBegin + and the corresponding execution of glEnd. + + + Associated Gets + + glGet with argument GL_VIEWPORT + + + glGet with argument GL_MAX_VIEWPORT_DIMS + + + See Also + + glDepthRange + + + Copyright + + Copyright 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glWindowPos.xml b/Source/Bind/Specifications/Docs/GL2/glWindowPos.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glWindowPos.xml rename to Source/Bind/Specifications/Docs/GL2/glWindowPos.xml diff --git a/Source/Bind/Specifications/Docs/glXChooseFBConfig.xml b/Source/Bind/Specifications/Docs/GL2/glXChooseFBConfig.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXChooseFBConfig.xml rename to Source/Bind/Specifications/Docs/GL2/glXChooseFBConfig.xml diff --git a/Source/Bind/Specifications/Docs/glXChooseVisual.xml b/Source/Bind/Specifications/Docs/GL2/glXChooseVisual.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXChooseVisual.xml rename to Source/Bind/Specifications/Docs/GL2/glXChooseVisual.xml diff --git a/Source/Bind/Specifications/Docs/glXCopyContext.xml b/Source/Bind/Specifications/Docs/GL2/glXCopyContext.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXCopyContext.xml rename to Source/Bind/Specifications/Docs/GL2/glXCopyContext.xml diff --git a/Source/Bind/Specifications/Docs/glXCreateContext.xml b/Source/Bind/Specifications/Docs/GL2/glXCreateContext.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXCreateContext.xml rename to Source/Bind/Specifications/Docs/GL2/glXCreateContext.xml diff --git a/Source/Bind/Specifications/Docs/glXCreateGLXPixmap.xml b/Source/Bind/Specifications/Docs/GL2/glXCreateGLXPixmap.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXCreateGLXPixmap.xml rename to Source/Bind/Specifications/Docs/GL2/glXCreateGLXPixmap.xml diff --git a/Source/Bind/Specifications/Docs/glXCreateNewContext.xml b/Source/Bind/Specifications/Docs/GL2/glXCreateNewContext.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXCreateNewContext.xml rename to Source/Bind/Specifications/Docs/GL2/glXCreateNewContext.xml diff --git a/Source/Bind/Specifications/Docs/glXCreatePbuffer.xml b/Source/Bind/Specifications/Docs/GL2/glXCreatePbuffer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXCreatePbuffer.xml rename to Source/Bind/Specifications/Docs/GL2/glXCreatePbuffer.xml diff --git a/Source/Bind/Specifications/Docs/glXCreatePixmap.xml b/Source/Bind/Specifications/Docs/GL2/glXCreatePixmap.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXCreatePixmap.xml rename to Source/Bind/Specifications/Docs/GL2/glXCreatePixmap.xml diff --git a/Source/Bind/Specifications/Docs/glXCreateWindow.xml b/Source/Bind/Specifications/Docs/GL2/glXCreateWindow.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXCreateWindow.xml rename to Source/Bind/Specifications/Docs/GL2/glXCreateWindow.xml diff --git a/Source/Bind/Specifications/Docs/glXDestroyContext.xml b/Source/Bind/Specifications/Docs/GL2/glXDestroyContext.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXDestroyContext.xml rename to Source/Bind/Specifications/Docs/GL2/glXDestroyContext.xml diff --git a/Source/Bind/Specifications/Docs/glXDestroyGLXPixmap.xml b/Source/Bind/Specifications/Docs/GL2/glXDestroyGLXPixmap.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXDestroyGLXPixmap.xml rename to Source/Bind/Specifications/Docs/GL2/glXDestroyGLXPixmap.xml diff --git a/Source/Bind/Specifications/Docs/glXDestroyPbuffer.xml b/Source/Bind/Specifications/Docs/GL2/glXDestroyPbuffer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXDestroyPbuffer.xml rename to Source/Bind/Specifications/Docs/GL2/glXDestroyPbuffer.xml diff --git a/Source/Bind/Specifications/Docs/glXDestroyPixmap.xml b/Source/Bind/Specifications/Docs/GL2/glXDestroyPixmap.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXDestroyPixmap.xml rename to Source/Bind/Specifications/Docs/GL2/glXDestroyPixmap.xml diff --git a/Source/Bind/Specifications/Docs/glXDestroyWindow.xml b/Source/Bind/Specifications/Docs/GL2/glXDestroyWindow.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXDestroyWindow.xml rename to Source/Bind/Specifications/Docs/GL2/glXDestroyWindow.xml diff --git a/Source/Bind/Specifications/Docs/glXFreeContextEXT.xml b/Source/Bind/Specifications/Docs/GL2/glXFreeContextEXT.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXFreeContextEXT.xml rename to Source/Bind/Specifications/Docs/GL2/glXFreeContextEXT.xml diff --git a/Source/Bind/Specifications/Docs/glXGetClientString.xml b/Source/Bind/Specifications/Docs/GL2/glXGetClientString.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetClientString.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetClientString.xml diff --git a/Source/Bind/Specifications/Docs/glXGetConfig.xml b/Source/Bind/Specifications/Docs/GL2/glXGetConfig.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetConfig.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetConfig.xml diff --git a/Source/Bind/Specifications/Docs/glXGetContextIDEXT.xml b/Source/Bind/Specifications/Docs/GL2/glXGetContextIDEXT.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetContextIDEXT.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetContextIDEXT.xml diff --git a/Source/Bind/Specifications/Docs/glXGetCurrentContext.xml b/Source/Bind/Specifications/Docs/GL2/glXGetCurrentContext.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetCurrentContext.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetCurrentContext.xml diff --git a/Source/Bind/Specifications/Docs/glXGetCurrentDisplay.xml b/Source/Bind/Specifications/Docs/GL2/glXGetCurrentDisplay.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetCurrentDisplay.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetCurrentDisplay.xml diff --git a/Source/Bind/Specifications/Docs/glXGetCurrentDrawable.xml b/Source/Bind/Specifications/Docs/GL2/glXGetCurrentDrawable.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetCurrentDrawable.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetCurrentDrawable.xml diff --git a/Source/Bind/Specifications/Docs/glXGetCurrentReadDrawable.xml b/Source/Bind/Specifications/Docs/GL2/glXGetCurrentReadDrawable.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetCurrentReadDrawable.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetCurrentReadDrawable.xml diff --git a/Source/Bind/Specifications/Docs/glXGetFBConfigAttrib.xml b/Source/Bind/Specifications/Docs/GL2/glXGetFBConfigAttrib.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetFBConfigAttrib.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetFBConfigAttrib.xml diff --git a/Source/Bind/Specifications/Docs/glXGetFBConfigs.xml b/Source/Bind/Specifications/Docs/GL2/glXGetFBConfigs.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetFBConfigs.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetFBConfigs.xml diff --git a/Source/Bind/Specifications/Docs/glXGetProcAddress.xml b/Source/Bind/Specifications/Docs/GL2/glXGetProcAddress.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetProcAddress.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetProcAddress.xml diff --git a/Source/Bind/Specifications/Docs/glXGetSelectedEvent.xml b/Source/Bind/Specifications/Docs/GL2/glXGetSelectedEvent.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetSelectedEvent.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetSelectedEvent.xml diff --git a/Source/Bind/Specifications/Docs/glXGetVisualFromFBConfig.xml b/Source/Bind/Specifications/Docs/GL2/glXGetVisualFromFBConfig.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXGetVisualFromFBConfig.xml rename to Source/Bind/Specifications/Docs/GL2/glXGetVisualFromFBConfig.xml diff --git a/Source/Bind/Specifications/Docs/glXImportContextEXT.xml b/Source/Bind/Specifications/Docs/GL2/glXImportContextEXT.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXImportContextEXT.xml rename to Source/Bind/Specifications/Docs/GL2/glXImportContextEXT.xml diff --git a/Source/Bind/Specifications/Docs/glXIntro.xml b/Source/Bind/Specifications/Docs/GL2/glXIntro.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXIntro.xml rename to Source/Bind/Specifications/Docs/GL2/glXIntro.xml diff --git a/Source/Bind/Specifications/Docs/glXIsDirect.xml b/Source/Bind/Specifications/Docs/GL2/glXIsDirect.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXIsDirect.xml rename to Source/Bind/Specifications/Docs/GL2/glXIsDirect.xml diff --git a/Source/Bind/Specifications/Docs/glXMakeContextCurrent.xml b/Source/Bind/Specifications/Docs/GL2/glXMakeContextCurrent.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXMakeContextCurrent.xml rename to Source/Bind/Specifications/Docs/GL2/glXMakeContextCurrent.xml diff --git a/Source/Bind/Specifications/Docs/glXMakeCurrent.xml b/Source/Bind/Specifications/Docs/GL2/glXMakeCurrent.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXMakeCurrent.xml rename to Source/Bind/Specifications/Docs/GL2/glXMakeCurrent.xml diff --git a/Source/Bind/Specifications/Docs/glXQueryContext.xml b/Source/Bind/Specifications/Docs/GL2/glXQueryContext.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXQueryContext.xml rename to Source/Bind/Specifications/Docs/GL2/glXQueryContext.xml diff --git a/Source/Bind/Specifications/Docs/glXQueryContextInfoEXT.xml b/Source/Bind/Specifications/Docs/GL2/glXQueryContextInfoEXT.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXQueryContextInfoEXT.xml rename to Source/Bind/Specifications/Docs/GL2/glXQueryContextInfoEXT.xml diff --git a/Source/Bind/Specifications/Docs/glXQueryDrawable.xml b/Source/Bind/Specifications/Docs/GL2/glXQueryDrawable.xml old mode 100644 new mode 100755 similarity index 100% rename from Source/Bind/Specifications/Docs/glXQueryDrawable.xml rename to Source/Bind/Specifications/Docs/GL2/glXQueryDrawable.xml diff --git a/Source/Bind/Specifications/Docs/glXQueryExtension.xml b/Source/Bind/Specifications/Docs/GL2/glXQueryExtension.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXQueryExtension.xml rename to Source/Bind/Specifications/Docs/GL2/glXQueryExtension.xml diff --git a/Source/Bind/Specifications/Docs/glXQueryExtensionsString.xml b/Source/Bind/Specifications/Docs/GL2/glXQueryExtensionsString.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXQueryExtensionsString.xml rename to Source/Bind/Specifications/Docs/GL2/glXQueryExtensionsString.xml diff --git a/Source/Bind/Specifications/Docs/glXQueryServerString.xml b/Source/Bind/Specifications/Docs/GL2/glXQueryServerString.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXQueryServerString.xml rename to Source/Bind/Specifications/Docs/GL2/glXQueryServerString.xml diff --git a/Source/Bind/Specifications/Docs/glXQueryVersion.xml b/Source/Bind/Specifications/Docs/GL2/glXQueryVersion.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXQueryVersion.xml rename to Source/Bind/Specifications/Docs/GL2/glXQueryVersion.xml diff --git a/Source/Bind/Specifications/Docs/glXSelectEvent.xml b/Source/Bind/Specifications/Docs/GL2/glXSelectEvent.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXSelectEvent.xml rename to Source/Bind/Specifications/Docs/GL2/glXSelectEvent.xml diff --git a/Source/Bind/Specifications/Docs/glXSwapBuffers.xml b/Source/Bind/Specifications/Docs/GL2/glXSwapBuffers.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXSwapBuffers.xml rename to Source/Bind/Specifications/Docs/GL2/glXSwapBuffers.xml diff --git a/Source/Bind/Specifications/Docs/glXUseXFont.xml b/Source/Bind/Specifications/Docs/GL2/glXUseXFont.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXUseXFont.xml rename to Source/Bind/Specifications/Docs/GL2/glXUseXFont.xml diff --git a/Source/Bind/Specifications/Docs/glXWaitGL.xml b/Source/Bind/Specifications/Docs/GL2/glXWaitGL.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXWaitGL.xml rename to Source/Bind/Specifications/Docs/GL2/glXWaitGL.xml diff --git a/Source/Bind/Specifications/Docs/glXWaitX.xml b/Source/Bind/Specifications/Docs/GL2/glXWaitX.xml similarity index 100% rename from Source/Bind/Specifications/Docs/glXWaitX.xml rename to Source/Bind/Specifications/Docs/GL2/glXWaitX.xml diff --git a/Source/Bind/Specifications/Docs/gluBeginCurve.xml b/Source/Bind/Specifications/Docs/GL2/gluBeginCurve.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBeginCurve.xml rename to Source/Bind/Specifications/Docs/GL2/gluBeginCurve.xml diff --git a/Source/Bind/Specifications/Docs/gluBeginPolygon.xml b/Source/Bind/Specifications/Docs/GL2/gluBeginPolygon.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBeginPolygon.xml rename to Source/Bind/Specifications/Docs/GL2/gluBeginPolygon.xml diff --git a/Source/Bind/Specifications/Docs/gluBeginSurface.xml b/Source/Bind/Specifications/Docs/GL2/gluBeginSurface.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBeginSurface.xml rename to Source/Bind/Specifications/Docs/GL2/gluBeginSurface.xml diff --git a/Source/Bind/Specifications/Docs/gluBeginTrim.xml b/Source/Bind/Specifications/Docs/GL2/gluBeginTrim.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBeginTrim.xml rename to Source/Bind/Specifications/Docs/GL2/gluBeginTrim.xml diff --git a/Source/Bind/Specifications/Docs/gluBuild1DMipmapLevels.xml b/Source/Bind/Specifications/Docs/GL2/gluBuild1DMipmapLevels.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBuild1DMipmapLevels.xml rename to Source/Bind/Specifications/Docs/GL2/gluBuild1DMipmapLevels.xml diff --git a/Source/Bind/Specifications/Docs/gluBuild1DMipmaps.xml b/Source/Bind/Specifications/Docs/GL2/gluBuild1DMipmaps.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBuild1DMipmaps.xml rename to Source/Bind/Specifications/Docs/GL2/gluBuild1DMipmaps.xml diff --git a/Source/Bind/Specifications/Docs/gluBuild2DMipmapLevels.xml b/Source/Bind/Specifications/Docs/GL2/gluBuild2DMipmapLevels.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBuild2DMipmapLevels.xml rename to Source/Bind/Specifications/Docs/GL2/gluBuild2DMipmapLevels.xml diff --git a/Source/Bind/Specifications/Docs/gluBuild2DMipmaps.xml b/Source/Bind/Specifications/Docs/GL2/gluBuild2DMipmaps.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBuild2DMipmaps.xml rename to Source/Bind/Specifications/Docs/GL2/gluBuild2DMipmaps.xml diff --git a/Source/Bind/Specifications/Docs/gluBuild3DMipmapLevels.xml b/Source/Bind/Specifications/Docs/GL2/gluBuild3DMipmapLevels.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBuild3DMipmapLevels.xml rename to Source/Bind/Specifications/Docs/GL2/gluBuild3DMipmapLevels.xml diff --git a/Source/Bind/Specifications/Docs/gluBuild3DMipmaps.xml b/Source/Bind/Specifications/Docs/GL2/gluBuild3DMipmaps.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluBuild3DMipmaps.xml rename to Source/Bind/Specifications/Docs/GL2/gluBuild3DMipmaps.xml diff --git a/Source/Bind/Specifications/Docs/gluCheckExtension.xml b/Source/Bind/Specifications/Docs/GL2/gluCheckExtension.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluCheckExtension.xml rename to Source/Bind/Specifications/Docs/GL2/gluCheckExtension.xml diff --git a/Source/Bind/Specifications/Docs/gluCylinder.xml b/Source/Bind/Specifications/Docs/GL2/gluCylinder.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluCylinder.xml rename to Source/Bind/Specifications/Docs/GL2/gluCylinder.xml diff --git a/Source/Bind/Specifications/Docs/gluDeleteNurbsRenderer.xml b/Source/Bind/Specifications/Docs/GL2/gluDeleteNurbsRenderer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluDeleteNurbsRenderer.xml rename to Source/Bind/Specifications/Docs/GL2/gluDeleteNurbsRenderer.xml diff --git a/Source/Bind/Specifications/Docs/gluDeleteQuadric.xml b/Source/Bind/Specifications/Docs/GL2/gluDeleteQuadric.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluDeleteQuadric.xml rename to Source/Bind/Specifications/Docs/GL2/gluDeleteQuadric.xml diff --git a/Source/Bind/Specifications/Docs/gluDeleteTess.xml b/Source/Bind/Specifications/Docs/GL2/gluDeleteTess.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluDeleteTess.xml rename to Source/Bind/Specifications/Docs/GL2/gluDeleteTess.xml diff --git a/Source/Bind/Specifications/Docs/gluDisk.xml b/Source/Bind/Specifications/Docs/GL2/gluDisk.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluDisk.xml rename to Source/Bind/Specifications/Docs/GL2/gluDisk.xml diff --git a/Source/Bind/Specifications/Docs/gluErrorString.xml b/Source/Bind/Specifications/Docs/GL2/gluErrorString.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluErrorString.xml rename to Source/Bind/Specifications/Docs/GL2/gluErrorString.xml diff --git a/Source/Bind/Specifications/Docs/gluGetNurbsProperty.xml b/Source/Bind/Specifications/Docs/GL2/gluGetNurbsProperty.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluGetNurbsProperty.xml rename to Source/Bind/Specifications/Docs/GL2/gluGetNurbsProperty.xml diff --git a/Source/Bind/Specifications/Docs/gluGetString.xml b/Source/Bind/Specifications/Docs/GL2/gluGetString.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluGetString.xml rename to Source/Bind/Specifications/Docs/GL2/gluGetString.xml diff --git a/Source/Bind/Specifications/Docs/gluGetTessProperty.xml b/Source/Bind/Specifications/Docs/GL2/gluGetTessProperty.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluGetTessProperty.xml rename to Source/Bind/Specifications/Docs/GL2/gluGetTessProperty.xml diff --git a/Source/Bind/Specifications/Docs/gluLoadSamplingMatrices.xml b/Source/Bind/Specifications/Docs/GL2/gluLoadSamplingMatrices.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluLoadSamplingMatrices.xml rename to Source/Bind/Specifications/Docs/GL2/gluLoadSamplingMatrices.xml diff --git a/Source/Bind/Specifications/Docs/gluLookAt.xml b/Source/Bind/Specifications/Docs/GL2/gluLookAt.xml similarity index 94% rename from Source/Bind/Specifications/Docs/gluLookAt.xml rename to Source/Bind/Specifications/Docs/GL2/gluLookAt.xml index 6b18f1c0..79a66944 100644 --- a/Source/Bind/Specifications/Docs/gluLookAt.xml +++ b/Source/Bind/Specifications/Docs/GL2/gluLookAt.xml @@ -70,7 +70,7 @@ Description gluLookAt creates a viewing matrix derived from an eye point, a reference - point indicating the center of the scene, and an UP vector. + point indicating the center of the scene, and an UP vector. The matrix @@ -79,17 +79,17 @@ When a typical projection matrix is used, the center of the scene therefore maps to the center of the viewport. Similarly, the direction described by the UP - vector projected onto the viewing plane is mapped to the positive y + vector projected onto the viewing plane is mapped to the positive y axis so that it points upward in the viewport. The UP vector must not be parallel to the line of sight from the eye point to the reference point. - Let + Let - + F = @@ -130,7 +130,7 @@ - Let UP be the vector + Let UP be the vector @@ -138,10 +138,10 @@ upY upZ - . + . - Then normalize as follows: + Then normalize as follows: @@ -180,7 +180,7 @@ - Finally, let + Finally, let @@ -195,14 +195,21 @@ , - and + and - + u = - s + + + s + + s + + + × f @@ -345,7 +352,7 @@ - and gluLookAt is equivalent to + and gluLookAt is equivalent to glMultMatrixf(M); glTranslated(-eyex, -eyey, -eyez); diff --git a/Source/Bind/Specifications/Docs/gluNewNurbsRenderer.xml b/Source/Bind/Specifications/Docs/GL2/gluNewNurbsRenderer.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNewNurbsRenderer.xml rename to Source/Bind/Specifications/Docs/GL2/gluNewNurbsRenderer.xml diff --git a/Source/Bind/Specifications/Docs/gluNewQuadric.xml b/Source/Bind/Specifications/Docs/GL2/gluNewQuadric.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNewQuadric.xml rename to Source/Bind/Specifications/Docs/GL2/gluNewQuadric.xml diff --git a/Source/Bind/Specifications/Docs/gluNewTess.xml b/Source/Bind/Specifications/Docs/GL2/gluNewTess.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNewTess.xml rename to Source/Bind/Specifications/Docs/GL2/gluNewTess.xml diff --git a/Source/Bind/Specifications/Docs/gluNextContour.xml b/Source/Bind/Specifications/Docs/GL2/gluNextContour.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNextContour.xml rename to Source/Bind/Specifications/Docs/GL2/gluNextContour.xml diff --git a/Source/Bind/Specifications/Docs/gluNurbsCallback.xml b/Source/Bind/Specifications/Docs/GL2/gluNurbsCallback.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNurbsCallback.xml rename to Source/Bind/Specifications/Docs/GL2/gluNurbsCallback.xml diff --git a/Source/Bind/Specifications/Docs/gluNurbsCallbackData.xml b/Source/Bind/Specifications/Docs/GL2/gluNurbsCallbackData.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNurbsCallbackData.xml rename to Source/Bind/Specifications/Docs/GL2/gluNurbsCallbackData.xml diff --git a/Source/Bind/Specifications/Docs/gluNurbsCallbackDataEXT.xml b/Source/Bind/Specifications/Docs/GL2/gluNurbsCallbackDataEXT.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNurbsCallbackDataEXT.xml rename to Source/Bind/Specifications/Docs/GL2/gluNurbsCallbackDataEXT.xml diff --git a/Source/Bind/Specifications/Docs/gluNurbsCurve.xml b/Source/Bind/Specifications/Docs/GL2/gluNurbsCurve.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNurbsCurve.xml rename to Source/Bind/Specifications/Docs/GL2/gluNurbsCurve.xml diff --git a/Source/Bind/Specifications/Docs/gluNurbsProperty.xml b/Source/Bind/Specifications/Docs/GL2/gluNurbsProperty.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNurbsProperty.xml rename to Source/Bind/Specifications/Docs/GL2/gluNurbsProperty.xml diff --git a/Source/Bind/Specifications/Docs/gluNurbsSurface.xml b/Source/Bind/Specifications/Docs/GL2/gluNurbsSurface.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluNurbsSurface.xml rename to Source/Bind/Specifications/Docs/GL2/gluNurbsSurface.xml diff --git a/Source/Bind/Specifications/Docs/gluOrtho2D.xml b/Source/Bind/Specifications/Docs/GL2/gluOrtho2D.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluOrtho2D.xml rename to Source/Bind/Specifications/Docs/GL2/gluOrtho2D.xml diff --git a/Source/Bind/Specifications/Docs/gluPartialDisk.xml b/Source/Bind/Specifications/Docs/GL2/gluPartialDisk.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluPartialDisk.xml rename to Source/Bind/Specifications/Docs/GL2/gluPartialDisk.xml diff --git a/Source/Bind/Specifications/Docs/gluPerspective.xml b/Source/Bind/Specifications/Docs/GL2/gluPerspective.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluPerspective.xml rename to Source/Bind/Specifications/Docs/GL2/gluPerspective.xml diff --git a/Source/Bind/Specifications/Docs/gluPickMatrix.xml b/Source/Bind/Specifications/Docs/GL2/gluPickMatrix.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluPickMatrix.xml rename to Source/Bind/Specifications/Docs/GL2/gluPickMatrix.xml diff --git a/Source/Bind/Specifications/Docs/gluProject.xml b/Source/Bind/Specifications/Docs/GL2/gluProject.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluProject.xml rename to Source/Bind/Specifications/Docs/GL2/gluProject.xml diff --git a/Source/Bind/Specifications/Docs/gluPwlCurve.xml b/Source/Bind/Specifications/Docs/GL2/gluPwlCurve.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluPwlCurve.xml rename to Source/Bind/Specifications/Docs/GL2/gluPwlCurve.xml diff --git a/Source/Bind/Specifications/Docs/gluQuadricCallback.xml b/Source/Bind/Specifications/Docs/GL2/gluQuadricCallback.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluQuadricCallback.xml rename to Source/Bind/Specifications/Docs/GL2/gluQuadricCallback.xml diff --git a/Source/Bind/Specifications/Docs/gluQuadricDrawStyle.xml b/Source/Bind/Specifications/Docs/GL2/gluQuadricDrawStyle.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluQuadricDrawStyle.xml rename to Source/Bind/Specifications/Docs/GL2/gluQuadricDrawStyle.xml diff --git a/Source/Bind/Specifications/Docs/gluQuadricNormals.xml b/Source/Bind/Specifications/Docs/GL2/gluQuadricNormals.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluQuadricNormals.xml rename to Source/Bind/Specifications/Docs/GL2/gluQuadricNormals.xml diff --git a/Source/Bind/Specifications/Docs/gluQuadricOrientation.xml b/Source/Bind/Specifications/Docs/GL2/gluQuadricOrientation.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluQuadricOrientation.xml rename to Source/Bind/Specifications/Docs/GL2/gluQuadricOrientation.xml diff --git a/Source/Bind/Specifications/Docs/gluQuadricTexture.xml b/Source/Bind/Specifications/Docs/GL2/gluQuadricTexture.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluQuadricTexture.xml rename to Source/Bind/Specifications/Docs/GL2/gluQuadricTexture.xml diff --git a/Source/Bind/Specifications/Docs/gluScaleImage.xml b/Source/Bind/Specifications/Docs/GL2/gluScaleImage.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluScaleImage.xml rename to Source/Bind/Specifications/Docs/GL2/gluScaleImage.xml diff --git a/Source/Bind/Specifications/Docs/gluSphere.xml b/Source/Bind/Specifications/Docs/GL2/gluSphere.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluSphere.xml rename to Source/Bind/Specifications/Docs/GL2/gluSphere.xml diff --git a/Source/Bind/Specifications/Docs/gluTessBeginContour.xml b/Source/Bind/Specifications/Docs/GL2/gluTessBeginContour.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluTessBeginContour.xml rename to Source/Bind/Specifications/Docs/GL2/gluTessBeginContour.xml diff --git a/Source/Bind/Specifications/Docs/gluTessBeginPolygon.xml b/Source/Bind/Specifications/Docs/GL2/gluTessBeginPolygon.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluTessBeginPolygon.xml rename to Source/Bind/Specifications/Docs/GL2/gluTessBeginPolygon.xml diff --git a/Source/Bind/Specifications/Docs/gluTessCallback.xml b/Source/Bind/Specifications/Docs/GL2/gluTessCallback.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluTessCallback.xml rename to Source/Bind/Specifications/Docs/GL2/gluTessCallback.xml diff --git a/Source/Bind/Specifications/Docs/gluTessEndPolygon.xml b/Source/Bind/Specifications/Docs/GL2/gluTessEndPolygon.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluTessEndPolygon.xml rename to Source/Bind/Specifications/Docs/GL2/gluTessEndPolygon.xml diff --git a/Source/Bind/Specifications/Docs/gluTessNormal.xml b/Source/Bind/Specifications/Docs/GL2/gluTessNormal.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluTessNormal.xml rename to Source/Bind/Specifications/Docs/GL2/gluTessNormal.xml diff --git a/Source/Bind/Specifications/Docs/gluTessProperty.xml b/Source/Bind/Specifications/Docs/GL2/gluTessProperty.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluTessProperty.xml rename to Source/Bind/Specifications/Docs/GL2/gluTessProperty.xml diff --git a/Source/Bind/Specifications/Docs/gluTessVertex.xml b/Source/Bind/Specifications/Docs/GL2/gluTessVertex.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluTessVertex.xml rename to Source/Bind/Specifications/Docs/GL2/gluTessVertex.xml diff --git a/Source/Bind/Specifications/Docs/gluUnProject.xml b/Source/Bind/Specifications/Docs/GL2/gluUnProject.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluUnProject.xml rename to Source/Bind/Specifications/Docs/GL2/gluUnProject.xml diff --git a/Source/Bind/Specifications/Docs/gluUnProject4.xml b/Source/Bind/Specifications/Docs/GL2/gluUnProject4.xml similarity index 100% rename from Source/Bind/Specifications/Docs/gluUnProject4.xml rename to Source/Bind/Specifications/Docs/GL2/gluUnProject4.xml diff --git a/Source/Bind/Specifications/Docs/glActiveShaderProgram.xml b/Source/Bind/Specifications/Docs/GL4/glActiveShaderProgram.xml similarity index 82% rename from Source/Bind/Specifications/Docs/glActiveShaderProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glActiveShaderProgram.xml index 65fed366..28acfdc4 100644 --- a/Source/Bind/Specifications/Docs/glActiveShaderProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glActiveShaderProgram.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glActiveShaderProgram 3G @@ -25,7 +26,7 @@ - Parameters + Parameters pipeline @@ -45,7 +46,7 @@ - Description + Description glActiveShaderProgram sets the linked program named by program to be the active program for the program pipeline object pipeline. The active @@ -53,7 +54,7 @@ when no program has been made current through a call to glUseProgram. - Errors + Errors GL_INVALID_OPERATION is generated if pipeline is not a name previously returned from a call to glGenProgramPipelines @@ -65,7 +66,7 @@ to a program object that has not been successfully linked. - See Also + See Also glGenProgramPipelines, glDeleteProgramPipelines, @@ -74,12 +75,12 @@ glUniform - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glActiveTexture.xml b/Source/Bind/Specifications/Docs/GL4/glActiveTexture.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glActiveTexture.xml rename to Source/Bind/Specifications/Docs/GL4/glActiveTexture.xml index 724dea3a..66a40553 100644 --- a/Source/Bind/Specifications/Docs/glActiveTexture.xml +++ b/Source/Bind/Specifications/Docs/GL4/glActiveTexture.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glActiveTexture 3G @@ -28,7 +29,7 @@ - Parameters + Parameters texture @@ -49,14 +50,14 @@ - Description + Description glActiveTexture selects which texture unit subsequent texture state calls will affect. The number of texture units an implementation supports is implementation dependent, but must be at least 80. - Errors + Errors GL_INVALID_ENUM is generated if texture is not one of @@ -66,12 +67,12 @@ one. - Associated Gets + Associated Gets glGet with argument GL_ACTIVE_TEXTURE, or GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. - See Also + See Also glGenTextures, glBindTexture, @@ -99,13 +100,13 @@ glTexParameter, - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glAttachShader.xml b/Source/Bind/Specifications/Docs/GL4/glAttachShader.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glAttachShader.xml rename to Source/Bind/Specifications/Docs/GL4/glAttachShader.xml index 947867ec..391a66fb 100644 --- a/Source/Bind/Specifications/Docs/glAttachShader.xml +++ b/Source/Bind/Specifications/Docs/GL4/glAttachShader.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glAttachShader 3G @@ -29,7 +30,7 @@ - Parameters + Parameters program @@ -47,7 +48,7 @@ - Description + Description In order to create a complete shader program, there must be a way to specify the list of things that will be linked together. Program objects provide this mechanism. Shaders that are to be linked @@ -74,7 +75,7 @@ is called to detach it from all program objects to which it is attached. - Errors + Errors GL_INVALID_VALUE is generated if either program or shader is not a value generated by OpenGL. @@ -90,7 +91,7 @@ program. - Associated Gets + Associated Gets glGetAttachedShaders with the handle of a valid program object @@ -108,7 +109,7 @@ glIsShader - See Also + See Also glCompileShader, glCreateShader, @@ -118,13 +119,13 @@ glShaderSource - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBeginConditionalRender.xml b/Source/Bind/Specifications/Docs/GL4/glBeginConditionalRender.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glBeginConditionalRender.xml rename to Source/Bind/Specifications/Docs/GL4/glBeginConditionalRender.xml index a50def0b..a3307463 100644 --- a/Source/Bind/Specifications/Docs/glBeginConditionalRender.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBeginConditionalRender.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBeginConditionalRender 3G @@ -31,7 +32,7 @@ - Parameters for <function>glBeginConditionalRender</function> + Parameters for <function>glBeginConditionalRender</function> id @@ -51,7 +52,7 @@ - Description + Description Conditional rendering is started using glBeginConditionalRender and ended using glEndConditionalRender. During conditional rendering, all vertex array commands, as well as glClear and @@ -76,7 +77,7 @@ without waiting for the query to complete. - Notes + Notes glBeginConditionalRender and glEndConditionalRender are available only if the GL version is 3.0 or greater. @@ -84,7 +85,7 @@ The GL_ANY_SAMPLES_PASSED query result is available only if the GL version is 3.3 or greater. - Errors + Errors GL_INVALID_VALUE is generated if id is not the name of an existing query object. @@ -103,19 +104,19 @@ GL_INVALID_OPERATION is generated if id is the name of a query currently in progress. - See Also + See Also glGenQueries, glDeleteQueries, glBeginQuery - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBeginQuery.xml b/Source/Bind/Specifications/Docs/GL4/glBeginQuery.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glBeginQuery.xml rename to Source/Bind/Specifications/Docs/GL4/glBeginQuery.xml index 289ae928..4431e788 100644 --- a/Source/Bind/Specifications/Docs/glBeginQuery.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBeginQuery.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBeginQuery 3G @@ -35,7 +36,7 @@ - Parameters for <function>glBeginQuery</function> + Parameters for <function>glBeginQuery</function> target @@ -60,7 +61,7 @@ - Parameters for <function>glEndQuery</function> + Parameters for <function>glEndQuery</function> target @@ -76,7 +77,7 @@ - Description + Description glBeginQuery and glEndQuery delimit the boundaries of a query object. query must be a name previously returned from a call to @@ -144,7 +145,7 @@ determine if the result is immediately available or if the rendering is not yet complete. - Notes + Notes If the query target's count exceeds the maximum value representable in the number of available bits, as reported by glGetQueryiv with target set to the @@ -169,7 +170,7 @@ The query target GL_ANY_SAMPLES_PASSED_CONSERVATIVE is available only of the GL version is 4.3 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted tokens. @@ -192,7 +193,7 @@ does not does not match target. - See Also + See Also glDeleteQueries, glGenQueries, @@ -201,13 +202,13 @@ glIsQuery - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBeginQueryIndexed.xml b/Source/Bind/Specifications/Docs/GL4/glBeginQueryIndexed.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glBeginQueryIndexed.xml rename to Source/Bind/Specifications/Docs/GL4/glBeginQueryIndexed.xml index 59c73115..a1553278 100644 --- a/Source/Bind/Specifications/Docs/glBeginQueryIndexed.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBeginQueryIndexed.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glBeginQueryIndexed, glEndQueryIndexed 3G @@ -33,7 +34,7 @@ - Parameters for <function>glBeginQueryIndexed</function> + Parameters for <function>glBeginQueryIndexed</function> target @@ -65,7 +66,7 @@ - Parameters for <function>glEndQueryIndexed</function> + Parameters for <function>glEndQueryIndexed</function> target @@ -88,7 +89,7 @@ - Description + Description glBeginQueryIndexed and glEndQueryIndexed delimit the boundaries of a query object. query must be a name previously returned from a call to @@ -166,7 +167,7 @@ determine if the result is immediately available or if the rendering is not yet complete. - Notes + Notes If the query target's count exceeds the maximum value representable in the number of available bits, as reported by glGetQueryiv with target set to the @@ -191,7 +192,7 @@ index set to zero, respectively. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted tokens. @@ -218,7 +219,7 @@ does not does not match target. - See Also + See Also glDeleteQueries, glBeginQuery, @@ -229,12 +230,12 @@ glIsQuery - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBeginTransformFeedback.xml b/Source/Bind/Specifications/Docs/GL4/glBeginTransformFeedback.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glBeginTransformFeedback.xml rename to Source/Bind/Specifications/Docs/GL4/glBeginTransformFeedback.xml index 99229622..c42930c9 100644 --- a/Source/Bind/Specifications/Docs/glBeginTransformFeedback.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBeginTransformFeedback.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBeginTransformFeedback 3G @@ -30,7 +31,7 @@ - Parameters for <function>glBeginTransformFeedback</function> + Parameters for <function>glBeginTransformFeedback</function> primitiveMode @@ -43,7 +44,7 @@ - Description + Description Transform feedback mode captures the values of varying variables written by the vertex shader (or, if active, the geometry shader). Transform feedback is said to be active after a call to glBeginTransformFeedback @@ -57,8 +58,8 @@ - - + + @@ -109,8 +110,8 @@ - - + + @@ -142,14 +143,14 @@ - Notes + Notes Geometry shaders, and the GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY, GL_LINES_ADJACENCY and GL_LINE_STRIP_ADJACENCY primtive modes are available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_OPERATION is generated if glBeginTransformFeedback is executed while transform feedback is active. @@ -177,12 +178,12 @@ no varying variables to record. - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindAttribLocation.xml b/Source/Bind/Specifications/Docs/GL4/glBindAttribLocation.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glBindAttribLocation.xml rename to Source/Bind/Specifications/Docs/GL4/glBindAttribLocation.xml index c90a99ba..49cae311 100644 --- a/Source/Bind/Specifications/Docs/glBindAttribLocation.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindAttribLocation.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBindAttribLocation 3G @@ -30,7 +31,7 @@ - Parameters + Parameters program @@ -57,7 +58,7 @@ - Description + Description glBindAttribLocation is used to associate a user-defined attribute variable in the program object specified by program with a @@ -106,7 +107,7 @@ Any attribute binding that occurs after the program object has been linked will not take effect until the next time the program object is linked. - Notes + Notes glBindAttribLocation can be called before any vertex shader objects are bound to the specified program object. It is also permissible to bind a generic @@ -148,7 +149,7 @@ and may be queried by calling glGetAttribLocation. - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. @@ -165,7 +166,7 @@ program is not a program object. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS @@ -178,20 +179,20 @@ glIsProgram - See Also + See Also glDisableVertexAttribArray, glEnableVertexAttribArray, glUseProgram, glVertexAttrib, glVertexAttribPointer - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindBuffer.xml b/Source/Bind/Specifications/Docs/GL4/glBindBuffer.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glBindBuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glBindBuffer.xml index 6de6030d..89274b18 100644 --- a/Source/Bind/Specifications/Docs/glBindBuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindBuffer.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBindBuffer 3G @@ -29,7 +30,7 @@ - Parameters + Parameters target @@ -64,7 +65,7 @@ - Description + Description glBindBuffer binds a buffer object to the specified buffer binding point. Calling glBindBuffer with target set to one of the accepted symbolic constants and buffer set to the name @@ -184,7 +185,7 @@ on its initial binding target. - Notes + Notes The GL_COPY_READ_BUFFER, GL_UNIFORM_BUFFER and GL_TEXTURE_BUFFER targets are available only if the GL version is 3.1 or greater. @@ -199,7 +200,7 @@ The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. @@ -209,7 +210,7 @@ from a call to glGenBuffers. - Associated Gets + Associated Gets glGet with argument GL_ARRAY_BUFFER_BINDING @@ -247,7 +248,7 @@ glGet with argument GL_UNIFORM_BUFFER_BINDING - See Also + See Also glGenBuffers, glBindBufferBase, @@ -259,13 +260,13 @@ glIsBuffer - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindBufferBase.xml b/Source/Bind/Specifications/Docs/GL4/glBindBufferBase.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glBindBufferBase.xml rename to Source/Bind/Specifications/Docs/GL4/glBindBufferBase.xml index 9c29e36c..a662afd1 100644 --- a/Source/Bind/Specifications/Docs/glBindBufferBase.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindBufferBase.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindBufferBase 3G @@ -26,7 +27,7 @@ - Parameters + Parameters target @@ -57,7 +58,7 @@ - Description + Description glBindBufferBase binds the buffer object buffer to the binding point at index index of the array of targets specified @@ -69,7 +70,7 @@ also binds buffer to the generic buffer binding point specified by target. - Notes + Notes Calling glBindBufferBase is equivalent to calling glBindBufferRange with offset @@ -82,7 +83,7 @@ The GL_SHADER_STORAGE_BUFFER target is available only if the GL version is 4.3 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_ATOMIC_COUNTER_BUFFER, @@ -98,7 +99,7 @@ not have an associated data store, or if the size of that store is zero. - See Also + See Also glGenBuffers, glDeleteBuffers, @@ -107,12 +108,12 @@ glMapBuffer, glUnmapBuffer, - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindBufferRange.xml b/Source/Bind/Specifications/Docs/GL4/glBindBufferRange.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glBindBufferRange.xml rename to Source/Bind/Specifications/Docs/GL4/glBindBufferRange.xml index 8050d732..a50a3ef0 100644 --- a/Source/Bind/Specifications/Docs/glBindBufferRange.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindBufferRange.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindBufferRange 3G @@ -28,7 +29,7 @@ - Parameters + Parameters target @@ -75,7 +76,7 @@ - Description + Description glBindBufferRange binds a range the buffer object buffer represented by offset and size to the @@ -93,7 +94,7 @@ can be read from the buffer object while used as an indexed target. - Notes + Notes The GL_ATOMIC_COUNTER_BUFFER target is available only if the GL version is 4.2 or greater. @@ -101,7 +102,7 @@ The GL_SHADER_STORAGE_BUFFER target is available only if the GL version is 4.3 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of GL_ATOMIC_COUNTER_BUFFER, @@ -122,7 +123,7 @@ target-specific alignmemt restrictions. - See Also + See Also glGenBuffers, glDeleteBuffers, @@ -132,12 +133,12 @@ glUnmapBuffer, - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindBuffersBase.xml b/Source/Bind/Specifications/Docs/GL4/glBindBuffersBase.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glBindBuffersBase.xml rename to Source/Bind/Specifications/Docs/GL4/glBindBuffersBase.xml index 203c738a..dd1e21c3 100644 --- a/Source/Bind/Specifications/Docs/glBindBuffersBase.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindBuffersBase.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glBindBuffersBase 3G @@ -27,7 +28,7 @@ - Parameters + Parameters target @@ -66,7 +67,7 @@ - Description + Description glBindBuffersBase binds a set of count buffer objects whose names are given in the array buffers to the count consecutive binding @@ -76,24 +77,20 @@ Assuming no errors are generated, it is equivalent to the following pseudo-code, which calls glBindBufferBase: - for (i = 0; i < count; i++) { + if (buffers != NULL) { glBindBufferBase(target, first + i, buffers[i]); - } - else - { + } else { glBindBufferBase(target, first + i, 0); } - }]]> + } - Notes + Notes glBindBuffersBase is available only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_ATOMIC_COUNTER_BUFFER, @@ -109,7 +106,7 @@ zero or the name of an existing buffer object. - See Also + See Also glGenBuffers, glDeleteBuffers, @@ -120,12 +117,12 @@ glMapBuffer, glUnmapBuffer - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindBuffersRange.xml b/Source/Bind/Specifications/Docs/GL4/glBindBuffersRange.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glBindBuffersRange.xml rename to Source/Bind/Specifications/Docs/GL4/glBindBuffersRange.xml index 7332746a..8d620f06 100644 --- a/Source/Bind/Specifications/Docs/glBindBuffersRange.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindBuffersRange.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glBindBuffersRange 3G @@ -29,7 +30,7 @@ - Parameters + Parameters target @@ -68,7 +69,7 @@ - Description + Description glBindBuffersRange binds a set of count ranges from buffer objects whose names are given in the array buffers to the count consecutive binding @@ -80,24 +81,20 @@ buffers that are currently bound to the referenced binding points. Assuming no errors are generated, it is equivalent to the following pseudo-code, which calls glBindBufferRange: - for (i = 0; i < count; i++) { + if (buffers != NULL) { glBindBufferRange(target, first + i, buffers[i], offsets[i], sizes[i]); - } - else - { + } else { glBindBufferBase(target, first + i, 0); } - }]]> + } - Notes + Notes glBindBuffersBase is available only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_ATOMIC_COUNTER_BUFFER, @@ -122,7 +119,7 @@ parameters for the specified target. - See Also + See Also glGenBuffers, glDeleteBuffers, @@ -133,12 +130,12 @@ glMapBuffer, glUnmapBuffer - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindFragDataLocation.xml b/Source/Bind/Specifications/Docs/GL4/glBindFragDataLocation.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glBindFragDataLocation.xml rename to Source/Bind/Specifications/Docs/GL4/glBindFragDataLocation.xml index 9413d021..d4c2e901 100644 --- a/Source/Bind/Specifications/Docs/glBindFragDataLocation.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindFragDataLocation.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindFragDataLocation 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -54,7 +55,7 @@ - Description + Description glBindFragDataLocation explicitly specifies the binding of the user-defined varying out variable name to fragment shader color number colorNumber for program @@ -86,14 +87,14 @@ - Notes + Notes Varying out varyings may have indexed locations assigned explicitly in the shader text using a location layout qualifier. If a shader statically assigns a location to a varying out variable in the shader text, that location is used and any location assigned with glBindFragDataLocation is ignored. - Errors + Errors GL_INVALID_VALUE is generated if colorNumber is greater than or equal to GL_MAX_DRAW_BUFFERS. @@ -104,24 +105,24 @@ GL_INVALID_OPERATION is generated if program is not the name of a program object. - Associated Gets + Associated Gets glGetFragDataLocation with a valid program object and the the name of a user-defined varying out variable - See Also + See Also glCreateProgram, glGetFragDataLocation - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindFragDataLocationIndexed.xml b/Source/Bind/Specifications/Docs/GL4/glBindFragDataLocationIndexed.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glBindFragDataLocationIndexed.xml rename to Source/Bind/Specifications/Docs/GL4/glBindFragDataLocationIndexed.xml index 4cc3db02..cab2c454 100644 --- a/Source/Bind/Specifications/Docs/glBindFragDataLocationIndexed.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindFragDataLocationIndexed.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindFragDataLocationIndexed 3G @@ -27,7 +28,7 @@ - Parameters + Parameters program @@ -63,7 +64,7 @@ - Description + Description glBindFragDataLocationIndexed specifies that the varying out variable name in program should be bound to fragment color colorNumber when the program is next @@ -100,14 +101,14 @@ - Notes + Notes Varying out varyings may have locations assigned explicitly in the shader text using a location layout qualifier. If a shader statically assigns a location to a varying out variable in the shader text, that location is used and any location assigned with glBindFragDataLocation is ignored. - Errors + Errors GL_INVALID_VALUE is generated if colorNumber is greater than or equal to GL_MAX_DRAW_BUFFERS. @@ -125,7 +126,7 @@ GL_INVALID_OPERATION is generated if program is not the name of a program object. - Associated Gets + Associated Gets glGetFragDataLocation with a valid program object and the the name of a user-defined varying out variable @@ -135,7 +136,7 @@ and the the name of a user-defined varying out variable - See Also + See Also glCreateProgram, glLinkProgram @@ -144,12 +145,12 @@ glBindFragDataLocation - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindFramebuffer.xml b/Source/Bind/Specifications/Docs/GL4/glBindFramebuffer.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glBindFramebuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glBindFramebuffer.xml index f694271a..7bb4c80b 100644 --- a/Source/Bind/Specifications/Docs/glBindFramebuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindFramebuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindFramebuffer 3G @@ -25,7 +26,7 @@ - Parameters + Parameters target @@ -45,7 +46,7 @@ - Description + Description glBindFramebuffer binds the framebuffer object with name framebuffer to the framebuffer target specified by target. target must be either GL_DRAW_FRAMEBUFFER, @@ -58,7 +59,7 @@ binding of a framebuffer object to target. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. @@ -68,7 +69,7 @@ previously returned from a call to glGenFramebuffers. - See Also + See Also glGenFramebuffers, glDeleteFramebuffers, @@ -82,12 +83,12 @@ glIsFramebuffer - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindImageTexture.xml b/Source/Bind/Specifications/Docs/GL4/glBindImageTexture.xml similarity index 95% rename from Source/Bind/Specifications/Docs/glBindImageTexture.xml rename to Source/Bind/Specifications/Docs/GL4/glBindImageTexture.xml index faff5d70..30a0752f 100644 --- a/Source/Bind/Specifications/Docs/glBindImageTexture.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindImageTexture.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glBindImageTexture 3G @@ -30,7 +31,7 @@ - Parameters + Parameters unit @@ -90,7 +91,7 @@ - Description + Description glBindImageTexture binds a single level of a texture to an image unit for the purpose of reading and writing it from shaders. unit specifies the zero-based index of the image @@ -306,12 +307,12 @@ and GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS, specifying matches by size and class, respectively. - Notes + Notes The glBindImageTexture is available only if the GL version is 4.2 or greater. - Errors + Errors GL_INVALID_VALUE is generated if unit greater than or equal to the value of GL_MAX_IMAGE_UNITS. @@ -329,7 +330,7 @@ is not one of the supported tokens. - Associated Gets + Associated Gets glGet with argument GL_IMAGE_BINDING_NAME. @@ -349,7 +350,7 @@ glGet with argument GL_IMAGE_BINDING_FORMAT. - See Also + See Also glGenTextures, glTexImage1D, @@ -361,12 +362,12 @@ glBindTexture - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindImageTextures.xml b/Source/Bind/Specifications/Docs/GL4/glBindImageTextures.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glBindImageTextures.xml rename to Source/Bind/Specifications/Docs/GL4/glBindImageTextures.xml index 4cfa5eeb..7940b22e 100644 --- a/Source/Bind/Specifications/Docs/glBindImageTextures.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindImageTextures.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glBindImageTextures 3G @@ -26,7 +27,7 @@ - Parameters + Parameters first @@ -54,7 +55,7 @@ - Description + Description glBindImageTextures binds images from an array of existing texture objects to a specified number of consecutive image units. count specifies the number of texture @@ -77,13 +78,13 @@ glBindImageTextures is equivalent to the following pseudo code: - for (i = 0; i < count; i++) { if (textures == NULL || textures[i] = 0) { glBindImageTexture(first + i, 0, 0, GL_FALSE, 0, GL_READ_ONLY, GL_R8); } else { glBindImageTexture(first + i, textures[i], 0, GL_TRUE, 0, GL_READ_WRITE, lookupInternalFormat(textures[i])); } - }]]> + } Each entry in textures will be checked individually and if found to be invalid, the state for that image unit will not be changed and an error will be @@ -91,7 +92,7 @@ be updated. - Notes + Notes glBindImageTextures is available only if the GL version is 4.4 or higher. @@ -102,7 +103,7 @@ via a call to glBindTexture. - Errors + Errors GL_INVALID_OPERATION is generated if first + count is greater than the number of image units supported by the implementation. @@ -120,7 +121,7 @@ of the level zero texture image of any texture in textures is zero. - Associated Gets + Associated Gets glGet with argument GL_TEXTURE_BINDING_1D, GL_TEXTURE_BINDING_2D, GL_TEXTURE_BINDING_3D, GL_TEXTURE_BINDING_1D_ARRAY, @@ -131,7 +132,7 @@ or GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY. - See Also + See Also glBindTexture, glBindTextures, @@ -149,12 +150,12 @@ glTexParameter - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindProgramPipeline.xml b/Source/Bind/Specifications/Docs/GL4/glBindProgramPipeline.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glBindProgramPipeline.xml rename to Source/Bind/Specifications/Docs/GL4/glBindProgramPipeline.xml index 0938c97e..1a5afadc 100644 --- a/Source/Bind/Specifications/Docs/glBindProgramPipeline.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindProgramPipeline.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindProgramPipeline 3G @@ -24,7 +25,7 @@ - Parameters + Parameters pipeline @@ -36,7 +37,7 @@ - Description + Description glBindProgramPipeline binds a program pipeline object to the current context. pipeline must be a name previously returned from a call @@ -55,7 +56,7 @@ pipeline object is used for rendering, individual shader executables are taken from its program objects. - Errors + Errors GL_INVALID_OPERATION is generated if pipeline is not zero or a name previously returned from a call to glGenProgramPipelines @@ -63,7 +64,7 @@ glDeleteProgramPipelines. - See Also + See Also glCreateShader, glCreateProgram, @@ -74,12 +75,12 @@ glIsProgramPipeline - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindRenderbuffer.xml b/Source/Bind/Specifications/Docs/GL4/glBindRenderbuffer.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glBindRenderbuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glBindRenderbuffer.xml index 37307d93..23441916 100644 --- a/Source/Bind/Specifications/Docs/glBindRenderbuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindRenderbuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindRenderbuffer 3G @@ -25,7 +26,7 @@ - Parameters + Parameters target @@ -45,7 +46,7 @@ - Description + Description glBindRenderbuffer binds the renderbuffer object with name renderbuffer to the renderbuffer target specified by target. target must be GL_RENDERBUFFER. renderbuffer @@ -53,7 +54,7 @@ or zero to break the existing binding of a renderbuffer object to target. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. @@ -62,7 +63,7 @@ previously returned from a call to glGenRenderbuffers. - See Also + See Also glGenRenderbuffers, glDeleteRenderbuffers, @@ -71,12 +72,12 @@ glIsRenderbuffer - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindSampler.xml b/Source/Bind/Specifications/Docs/GL4/glBindSampler.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glBindSampler.xml rename to Source/Bind/Specifications/Docs/GL4/glBindSampler.xml index 3f93816f..c97de244 100644 --- a/Source/Bind/Specifications/Docs/glBindSampler.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindSampler.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindSampler 3G @@ -25,7 +26,7 @@ - Parameters + Parameters unit @@ -45,7 +46,7 @@ - Description + Description glBindSampler binds sampler to the texture unit at index unit. sampler must be zero or the name of a sampler object previously returned from a call to @@ -59,12 +60,12 @@ sampler object may be bound to multiple texture units simultaneously. - Notes + Notes glBindSampler is available only if the GL version is 3.3 or higher. - Errors + Errors GL_INVALID_VALUE is generated if unit is greater than or equal to the value of GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. @@ -75,12 +76,12 @@ been deleted by a call to glDeleteSamplers. - Associated Gets + Associated Gets glGet with argument GL_SAMPLER_BINDING - See Also + See Also glGenSamplers, glDeleteSamplers, @@ -92,12 +93,12 @@ glDeleteTextures - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindSamplers.xml b/Source/Bind/Specifications/Docs/GL4/glBindSamplers.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glBindSamplers.xml rename to Source/Bind/Specifications/Docs/GL4/glBindSamplers.xml index 2d2319f3..8e9b5e4f 100644 --- a/Source/Bind/Specifications/Docs/glBindSamplers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindSamplers.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glBindSamplers 3G @@ -26,7 +27,7 @@ - Parameters + Parameters first @@ -54,7 +55,7 @@ - Description + Description glBindSamplers binds samplers from an array of existing sampler objects to a specified number of consecutive sampler units. count specifies the number of sampler @@ -73,13 +74,13 @@ glBindSamplers is equivalent to the following pseudo code: - for (i = 0; i < count; i++) { if (samplers == NULL) { glBindSampler(first + i, 0); } else { glBindSampler(first + i, samplers[i]); } - }]]> + } Each entry in samplers will be checked individually and if found to be invalid, the state for that sampler unit will not be changed and an error will be @@ -87,12 +88,12 @@ be updated. - Notes + Notes glBindSamplers is available only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_OPERATION is generated if first + count is greater than the number of sampler units supported by the implementation. @@ -102,12 +103,12 @@ not zero or the name of an existing sampler object. - Associated Gets + Associated Gets glGet with argument GL_SAMPLER_BINDING - See Also + See Also glGenSamplers, glBindSampler, @@ -120,12 +121,12 @@ glDeleteTextures - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindTexture.xml b/Source/Bind/Specifications/Docs/GL4/glBindTexture.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glBindTexture.xml rename to Source/Bind/Specifications/Docs/GL4/glBindTexture.xml index 7764261f..e83e9111 100644 --- a/Source/Bind/Specifications/Docs/glBindTexture.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindTexture.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBindTexture 3G @@ -29,7 +30,7 @@ - Parameters + Parameters target @@ -61,7 +62,7 @@ - Description + Description glBindTexture lets you create or use a named texture. Calling glBindTexture with target set to @@ -127,13 +128,13 @@ glTexImage3D or another similar function. - Notes + Notes The GL_TEXTURE_2D_MULTISAMPLE and GL_TEXTURE_2D_MULTISAMPLE_ARRAY targets are available only if the GL version is 3.2 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. @@ -147,7 +148,7 @@ that doesn't match that of target. - Associated Gets + Associated Gets glGet with argument GL_TEXTURE_BINDING_1D, GL_TEXTURE_BINDING_2D, GL_TEXTURE_BINDING_3D, GL_TEXTURE_BINDING_1D_ARRAY, @@ -158,7 +159,7 @@ or GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY. - See Also + See Also glDeleteTextures, glGenTextures, @@ -174,13 +175,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glBindTextures.xml b/Source/Bind/Specifications/Docs/GL4/glBindTextures.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glBindTextures.xml rename to Source/Bind/Specifications/Docs/GL4/glBindTextures.xml index b4893930..c860b2d2 100644 --- a/Source/Bind/Specifications/Docs/glBindTextures.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindTextures.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glBindTextures 3G @@ -26,7 +27,7 @@ - Parameters + Parameters first @@ -54,7 +55,7 @@ - Description + Description glBindTextures binds an array of existing texture objects to a specified number of consecutive texture units. count specifies the number of texture @@ -72,7 +73,7 @@ With the exception that the active texture selector maintains its current value, glBindTextures is equivalent to the following pseudo code: - for (i = 0; i < count; i++) { GLuint texture; if (textures == NULL) { texture = 0; @@ -88,7 +89,7 @@ glBindTexture(target, 0); } } - }]]> + } Each entry in textures will be checked individually and if found to be invalid, the state for that texture unit will not be changed and an error will be @@ -96,7 +97,7 @@ be updated. - Notes + Notes glBindTextures is available only if the GL version is 4.4 or higher. @@ -107,7 +108,7 @@ via a call to glBindTexture. - Errors + Errors GL_INVALID_OPERATION is generated if first + count is greater than the number of texture image units supported by the implementation. @@ -117,7 +118,7 @@ not zero or the name of an existing texture object. - Associated Gets + Associated Gets glGet with argument GL_TEXTURE_BINDING_1D, GL_TEXTURE_BINDING_2D, GL_TEXTURE_BINDING_3D, GL_TEXTURE_BINDING_1D_ARRAY, @@ -128,7 +129,7 @@ or GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY. - See Also + See Also glBindTexture, glDeleteTextures, @@ -145,12 +146,12 @@ glTexParameter - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindTransformFeedback.xml b/Source/Bind/Specifications/Docs/GL4/glBindTransformFeedback.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glBindTransformFeedback.xml rename to Source/Bind/Specifications/Docs/GL4/glBindTransformFeedback.xml index 6133373f..6032fcde 100644 --- a/Source/Bind/Specifications/Docs/glBindTransformFeedback.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindTransformFeedback.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glBindTransformFeedback 3G @@ -25,7 +26,7 @@ - Parameters + Parameters target @@ -46,7 +47,7 @@ - Description + Description glBindTransformFeedback binds the transform feedback object with name id to the current GL state. id must be a name previously returned from a call to @@ -69,7 +70,7 @@ object. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TRANSFORM_FEEDBACK. @@ -84,12 +85,12 @@ if such a name has been deleted by glDeleteTransformFeedbacks. - Associated Gets + Associated Gets glGet with argument GL_TRANSFORM_FEEDBACK_BINDING - See Also + See Also glGenTransformFeedbacks, glDeleteTransformFeedbacks, @@ -100,12 +101,12 @@ glEndTransformFeedback - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindVertexArray.xml b/Source/Bind/Specifications/Docs/GL4/glBindVertexArray.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glBindVertexArray.xml rename to Source/Bind/Specifications/Docs/GL4/glBindVertexArray.xml index 67597c6b..15616ddd 100644 --- a/Source/Bind/Specifications/Docs/glBindVertexArray.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindVertexArray.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBindVertexArray 3G @@ -24,7 +25,7 @@ - Parameters + Parameters array @@ -36,7 +37,7 @@ - Description + Description glBindVertexArray binds the vertex array object with name array. array is the name of a vertex array object previously returned from a call to glGenVertexArrays, @@ -47,13 +48,13 @@ is successful no change is made to the state of the vertex array object, and any previous vertex array object binding is broken. - Errors + Errors GL_INVALID_OPERATION is generated if array is not zero or the name of a vertex array object previously returned from a call to glGenVertexArrays. - See Also + See Also glGenVertexArrays, glDeleteVertexArrays @@ -61,12 +62,12 @@ glEnableVertexAttribArray - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindVertexBuffer.xml b/Source/Bind/Specifications/Docs/GL4/glBindVertexBuffer.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glBindVertexBuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glBindVertexBuffer.xml index 67338f8b..478b4860 100644 --- a/Source/Bind/Specifications/Docs/glBindVertexBuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindVertexBuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glBindVertexBuffer 3G @@ -27,7 +28,7 @@ - Parameters + Parameters bindingindex @@ -63,7 +64,7 @@ - Description + Description glBindVertexBuffer binds the buffer named buffer to the vertex buffer binding point whose index is given by bindingindex. @@ -75,7 +76,7 @@ is zero, then any buffer currently bound to the specified binding point is unbound. - Errors + Errors GL_INVAILD_VALUE is generated if bindingindex is greater than or equal to the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. @@ -92,12 +93,12 @@ GL_INVALID_OPERATION is generated if no vertex array object is bound. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIB_BINDINGS. - See Also + See Also glVertexAttribBinding, glVertexAttribFormat, @@ -105,12 +106,12 @@ glVertexBindingDivisor. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBindVertexBuffers.xml b/Source/Bind/Specifications/Docs/GL4/glBindVertexBuffers.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glBindVertexBuffers.xml rename to Source/Bind/Specifications/Docs/GL4/glBindVertexBuffers.xml index c4a2da8e..0484f5c3 100644 --- a/Source/Bind/Specifications/Docs/glBindVertexBuffers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBindVertexBuffers.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glBindVertexBuffers 3G @@ -28,7 +29,7 @@ - Parameters + Parameters first @@ -72,7 +73,7 @@ - Description + Description glBindVertexBuffers binds storage from an array of existing buffer objects to a specified number of consecutive vertex buffer binding points units. count specifies the number of buffer @@ -99,13 +100,13 @@ glBindVertexBuffers is equivalent to the following pseudo code: - for (i = 0; i < count; i++) { if (buffers == NULL) { glBindVertexBuffer(first + i, 0, 0, 16); } else { glBindVertexBuffer(first + i, buffers[i], offsets[i], strides[i]); } - }]]> + } Each entry in buffers will be checked individually and if found to be invalid, the state for that vertex buffer binding point will not be changed and an error will be @@ -113,12 +114,12 @@ be updated. - Notes + Notes glBindVertexBuffers is available only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_OPERATION is generated if first + count is greater than the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. @@ -132,7 +133,7 @@ is negative, or if a value is stride is greater than the value of GL_MAX_VERTEX_ATTRIB_STRIDE. - See Also + See Also glGenBuffers, glBindBuffer, @@ -140,12 +141,12 @@ glDeleteTextures - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBlendColor.xml b/Source/Bind/Specifications/Docs/GL4/glBlendColor.xml similarity index 77% rename from Source/Bind/Specifications/Docs/glBlendColor.xml rename to Source/Bind/Specifications/Docs/GL4/glBlendColor.xml index 3214e7eb..02c8106a 100644 --- a/Source/Bind/Specifications/Docs/glBlendColor.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBlendColor.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBlendColor 3G @@ -31,7 +32,7 @@ - Parameters + Parameters red @@ -46,11 +47,11 @@ - Description + Description The GL_BLEND_COLOR may be used to calculate the source and destination blending factors. The color components are clamped to the range - + 0 @@ -62,7 +63,7 @@ Initially the GL_BLEND_COLOR is set to (0, 0, 0, 0). - Notes + Notes The type of the red, green, blue, @@ -73,12 +74,12 @@ page. - Associated Gets + Associated Gets glGet with an argument of GL_BLEND_COLOR - See Also + See Also glBlendEquation, glBlendFunc, @@ -86,13 +87,13 @@ removedTypes - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glBlendEquation.xml b/Source/Bind/Specifications/Docs/GL4/glBlendEquation.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glBlendEquation.xml rename to Source/Bind/Specifications/Docs/GL4/glBlendEquation.xml index 409092a1..e3d11dd7 100644 --- a/Source/Bind/Specifications/Docs/glBlendEquation.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBlendEquation.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBlendEquation 3G @@ -33,7 +34,7 @@ - Parameters + Parameters buf @@ -56,7 +57,7 @@ - Description + Description The blend equations determine how a new pixel (the ''source'' color) is combined with a pixel already in the framebuffer (the ''destination'' @@ -75,7 +76,7 @@ In the equations that follow, source and destination color components are referred to as - + R @@ -93,7 +94,7 @@ and - + R @@ -112,7 +113,7 @@ , respectively. The result color is referred to as - + R @@ -130,7 +131,7 @@ . The source and destination blend factors are denoted - + s @@ -148,7 +149,7 @@ and - + d @@ -168,7 +169,7 @@ respectively. For these equations all color components are understood to have values in the range - + 0 @@ -178,9 +179,9 @@ - - - + + + @@ -200,7 +201,7 @@ GL_FUNC_ADD - + Rr @@ -224,7 +225,7 @@ - + Gr @@ -248,7 +249,7 @@ - + Br @@ -274,7 +275,7 @@ - + Ar @@ -305,7 +306,7 @@ GL_FUNC_SUBTRACT - + Rr @@ -329,7 +330,7 @@ - + Gr @@ -353,7 +354,7 @@ - + Br @@ -379,7 +380,7 @@ - + Ar @@ -410,7 +411,7 @@ GL_FUNC_REVERSE_SUBTRACT - + Rr @@ -434,7 +435,7 @@ - + Gr @@ -458,7 +459,7 @@ - + Br @@ -484,7 +485,7 @@ - + Ar @@ -515,7 +516,7 @@ GL_MIN - + Rr @@ -538,7 +539,7 @@ - + Gr @@ -561,7 +562,7 @@ - + Br @@ -586,7 +587,7 @@ - + Ar @@ -616,7 +617,7 @@ GL_MAX - + Rr @@ -639,7 +640,7 @@ - + Gr @@ -662,7 +663,7 @@ - + Br @@ -687,7 +688,7 @@ - + Ar @@ -718,7 +719,7 @@ The results of these equations are clamped to the range - + 0 @@ -739,13 +740,13 @@ - Notes + Notes The GL_MIN, and GL_MAX equations do not use the source or destination factors, only the source and destination colors. - Errors + Errors GL_INVALID_ENUM is generated if mode is not one of GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, @@ -756,7 +757,7 @@ than or equal to the value of GL_MAX_DRAW_BUFFERS. - Associated Gets + Associated Gets glGet with an argument of GL_BLEND_EQUATION_RGB @@ -764,20 +765,20 @@ glGet with an argument of GL_BLEND_EQUATION_ALPHA - See Also + See Also glBlendColor, glBlendFunc glBlendFuncSeparate - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glBlendEquationSeparate.xml b/Source/Bind/Specifications/Docs/GL4/glBlendEquationSeparate.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glBlendEquationSeparate.xml rename to Source/Bind/Specifications/Docs/GL4/glBlendEquationSeparate.xml index 769fa19f..8d2cfb9c 100644 --- a/Source/Bind/Specifications/Docs/glBlendEquationSeparate.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBlendEquationSeparate.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBlendEquationSeparate 3G @@ -35,7 +36,7 @@ - Parameters + Parameters buf @@ -68,7 +69,7 @@ - Description + Description The blend equations determines how a new pixel (the ''source'' color) is combined with a pixel already in the framebuffer (the ''destination'' @@ -87,7 +88,7 @@ In the equations that follow, source and destination color components are referred to as - + R @@ -105,7 +106,7 @@ and - + R @@ -124,7 +125,7 @@ , respectively. The result color is referred to as - + R @@ -142,7 +143,7 @@ . The source and destination blend factors are denoted - + s @@ -160,7 +161,7 @@ and - + d @@ -180,7 +181,7 @@ respectively. For these equations all color components are understood to have values in the range - + 0 @@ -190,9 +191,9 @@ - - - + + + @@ -212,7 +213,7 @@ GL_FUNC_ADD - + Rr @@ -236,7 +237,7 @@ - + Gr @@ -260,7 +261,7 @@ - + Br @@ -286,7 +287,7 @@ - + Ar @@ -317,7 +318,7 @@ GL_FUNC_SUBTRACT - + Rr @@ -341,7 +342,7 @@ - + Gr @@ -365,7 +366,7 @@ - + Br @@ -391,7 +392,7 @@ - + Ar @@ -422,7 +423,7 @@ GL_FUNC_REVERSE_SUBTRACT - + Rr @@ -446,7 +447,7 @@ - + Gr @@ -470,7 +471,7 @@ - + Br @@ -496,7 +497,7 @@ - + Ar @@ -527,7 +528,7 @@ GL_MIN - + Rr @@ -550,7 +551,7 @@ - + Gr @@ -573,7 +574,7 @@ - + Br @@ -598,7 +599,7 @@ - + Ar @@ -628,7 +629,7 @@ GL_MAX - + Rr @@ -651,7 +652,7 @@ - + Gr @@ -674,7 +675,7 @@ - + Br @@ -699,7 +700,7 @@ - + Ar @@ -730,7 +731,7 @@ The results of these equations are clamped to the range - + 0 @@ -751,13 +752,13 @@ - Notes + Notes The GL_MIN, and GL_MAX equations do not use the source or destination factors, only the source and destination colors. - Errors + Errors GL_INVALID_ENUM is generated if either modeRGB or modeAlpha is not one of GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, @@ -768,7 +769,7 @@ than or equal to the value of GL_MAX_DRAW_BUFFERS. - Associated Gets + Associated Gets glGet with an argument of GL_BLEND_EQUATION_RGB @@ -776,7 +777,7 @@ glGet with an argument of GL_BLEND_EQUATION_ALPHA - See Also + See Also glGetString, glBlendColor, @@ -784,13 +785,13 @@ glBlendFuncSeparate - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBlendFunc.xml b/Source/Bind/Specifications/Docs/GL4/glBlendFunc.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glBlendFunc.xml rename to Source/Bind/Specifications/Docs/GL4/glBlendFunc.xml index be87e1fe..c8fb6969 100644 --- a/Source/Bind/Specifications/Docs/glBlendFunc.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBlendFunc.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBlendFunc 3G @@ -35,7 +36,7 @@ - Parameters + Parameters buf @@ -83,7 +84,7 @@ - Description + Description Pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values @@ -125,7 +126,7 @@ one each for red, green, blue, and alpha. In the table and in subsequent equations, first source, second source and destination color components are referred to as - + R @@ -142,7 +143,7 @@ , - + R @@ -160,7 +161,7 @@ and - + R @@ -178,7 +179,7 @@ , respectively. The color specified by glBlendColor is referred to as - + R @@ -196,7 +197,7 @@ . They are understood to have integer values between 0 and - + k @@ -216,7 +217,7 @@ where - + k @@ -239,7 +240,7 @@ and - + m @@ -263,7 +264,7 @@ Source and destination scale factors are referred to as - + s @@ -281,7 +282,7 @@ and - + d @@ -300,7 +301,7 @@ . The scale factors described in the table, denoted - + f @@ -319,7 +320,7 @@ , represent either source or destination factors. All scale factors have range - + 0 @@ -339,7 +340,7 @@ Parameter - + f @@ -365,7 +366,7 @@ GL_ZERO - + 0 @@ -381,7 +382,7 @@ GL_ONE - + 1 @@ -397,7 +398,7 @@ GL_SRC_COLOR - + @@ -441,7 +442,7 @@ GL_ONE_MINUS_SRC_COLOR - + @@ -494,7 +495,7 @@ GL_DST_COLOR - + @@ -538,7 +539,7 @@ GL_ONE_MINUS_DST_COLOR - + @@ -591,7 +592,7 @@ GL_SRC_ALPHA - + @@ -635,7 +636,7 @@ GL_ONE_MINUS_SRC_ALPHA - + @@ -688,7 +689,7 @@ GL_DST_ALPHA - + @@ -732,7 +733,7 @@ GL_ONE_MINUS_DST_ALPHA - + @@ -785,7 +786,7 @@ GL_CONSTANT_COLOR - + R @@ -809,7 +810,7 @@ GL_ONE_MINUS_CONSTANT_COLOR - + @@ -842,7 +843,7 @@ GL_CONSTANT_ALPHA - + A @@ -866,7 +867,7 @@ GL_ONE_MINUS_CONSTANT_ALPHA - + @@ -899,7 +900,7 @@ GL_SRC_ALPHA_SATURATE - + i @@ -915,7 +916,7 @@ GL_SRC1_COLOR - + @@ -959,7 +960,7 @@ GL_ONE_MINUS_SRC1_COLOR - + @@ -1012,7 +1013,7 @@ GL_SRC1_ALPHA - + @@ -1056,7 +1057,7 @@ GL_ONE_MINUS_SRC1_ALPHA - + @@ -1111,7 +1112,7 @@ In the table, - + i @@ -1147,7 +1148,7 @@ the system uses the following equations: - + R @@ -1182,7 +1183,7 @@ - + G @@ -1217,7 +1218,7 @@ - + B @@ -1252,7 +1253,7 @@ - + A @@ -1300,14 +1301,14 @@ when sfactor is GL_SRC_ALPHA, dfactor is GL_ONE_MINUS_SRC_ALPHA, and - + A s is equal to - + k A @@ -1316,7 +1317,7 @@ the equations reduce to simple replacement: - + R @@ -1328,7 +1329,7 @@ - + G @@ -1340,7 +1341,7 @@ - + B @@ -1352,7 +1353,7 @@ - + A @@ -1368,7 +1369,7 @@ - Examples + Examples @@ -1395,11 +1396,11 @@ store the accumulated coverage. - Notes + Notes Incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0 - ( + ( K A @@ -1422,7 +1423,7 @@ be lower than GL_MAX_DRAW_BUFFERS. - Errors + Errors GL_INVALID_ENUM is generated if either sfactor or dfactor is not an accepted value. @@ -1432,7 +1433,7 @@ than or equal to the value of GL_MAX_DRAW_BUFFERS. - Associated Gets + Associated Gets glGet with argument GL_BLEND_SRC_RGB @@ -1451,7 +1452,7 @@ - See Also + See Also glBlendColor, glBlendEquation, @@ -1463,13 +1464,13 @@ glStencilFunc - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glBlendFuncSeparate.xml b/Source/Bind/Specifications/Docs/GL4/glBlendFuncSeparate.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glBlendFuncSeparate.xml rename to Source/Bind/Specifications/Docs/GL4/glBlendFuncSeparate.xml index 5cd3dca4..f0913e63 100644 --- a/Source/Bind/Specifications/Docs/glBlendFuncSeparate.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBlendFuncSeparate.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBlendFuncSeparate 3G @@ -39,7 +40,7 @@ - Parameters + Parameters buf @@ -89,7 +90,7 @@ - Description + Description Pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values @@ -116,7 +117,7 @@ In the table and in subsequent equations, first source, second source and destination color components are referred to as - + R @@ -133,7 +134,7 @@ , - + R @@ -151,7 +152,7 @@ , and - + R @@ -169,7 +170,7 @@ , respectively. The color specified by glBlendColor is referred to as - + R @@ -187,7 +188,7 @@ . They are understood to have integer values between 0 and - + k @@ -207,7 +208,7 @@ where - + k @@ -230,7 +231,7 @@ and - + m @@ -254,7 +255,7 @@ Source and destination scale factors are referred to as - + s @@ -272,7 +273,7 @@ and - + d @@ -290,7 +291,7 @@ . All scale factors have range - + 0 @@ -302,9 +303,9 @@ - - - + + + @@ -322,7 +323,7 @@ GL_ZERO - + 0 @@ -332,7 +333,7 @@ - + 0 @@ -341,7 +342,7 @@ GL_ONE - + 1 @@ -351,7 +352,7 @@ - + 1 @@ -360,7 +361,7 @@ GL_SRC_COLOR - + @@ -391,7 +392,7 @@ - + A @@ -407,7 +408,7 @@ GL_ONE_MINUS_SRC_COLOR - + @@ -447,7 +448,7 @@ - + 1 @@ -467,7 +468,7 @@ GL_DST_COLOR - + @@ -498,7 +499,7 @@ - + A @@ -514,7 +515,7 @@ GL_ONE_MINUS_DST_COLOR - + @@ -553,7 +554,7 @@ - + 1 @@ -573,7 +574,7 @@ GL_SRC_ALPHA - + @@ -604,7 +605,7 @@ - + A @@ -620,7 +621,7 @@ GL_ONE_MINUS_SRC_ALPHA - + @@ -659,7 +660,7 @@ - + 1 @@ -679,7 +680,7 @@ GL_DST_ALPHA - + @@ -710,7 +711,7 @@ - + A @@ -726,7 +727,7 @@ GL_ONE_MINUS_DST_ALPHA - + @@ -765,7 +766,7 @@ - + 1 @@ -785,7 +786,7 @@ GL_CONSTANT_COLOR - + R @@ -801,7 +802,7 @@ - + A c @@ -812,7 +813,7 @@ GL_ONE_MINUS_CONSTANT_COLOR - + @@ -836,7 +837,7 @@ - + 1 @@ -851,7 +852,7 @@ GL_CONSTANT_ALPHA - + A @@ -867,7 +868,7 @@ - + A c @@ -878,7 +879,7 @@ GL_ONE_MINUS_CONSTANT_ALPHA - + @@ -902,7 +903,7 @@ - + 1 @@ -917,7 +918,7 @@ GL_SRC_ALPHA_SATURATE - + i @@ -927,7 +928,7 @@ - + 1 @@ -936,7 +937,7 @@ GL_SRC1_COLOR - + @@ -967,7 +968,7 @@ - + A @@ -983,7 +984,7 @@ GL_ONE_MINUS_SRC_COLOR - + @@ -1023,7 +1024,7 @@ - + 1 @@ -1043,7 +1044,7 @@ GL_SRC1_ALPHA - + @@ -1074,7 +1075,7 @@ - + A @@ -1090,7 +1091,7 @@ GL_ONE_MINUS_SRC_ALPHA - + @@ -1129,7 +1130,7 @@ - + 1 @@ -1153,7 +1154,7 @@ In the table, - + i @@ -1184,7 +1185,7 @@ the system uses the following equations: - + R @@ -1219,7 +1220,7 @@ - + G @@ -1254,7 +1255,7 @@ - + B @@ -1289,7 +1290,7 @@ - + A @@ -1332,7 +1333,7 @@ guaranteed not to modify its multiplicand, and a blend factor equal to 0 reduces its multiplicand to 0. For example, when srcRGB is GL_SRC_ALPHA, dstRGB is GL_ONE_MINUS_SRC_ALPHA, and - + A s @@ -1340,7 +1341,7 @@ is equal to - + k A @@ -1349,7 +1350,7 @@ the equations reduce to simple replacement: - + R @@ -1361,7 +1362,7 @@ - + G @@ -1373,7 +1374,7 @@ - + B @@ -1385,7 +1386,7 @@ - + A @@ -1401,11 +1402,11 @@ - Notes + Notes Incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0 - ( + ( K A @@ -1428,7 +1429,7 @@ be lower than GL_MAX_DRAW_BUFFERS. - Errors + Errors GL_INVALID_ENUM is generated if either srcRGB or dstRGB is not an accepted value. @@ -1438,7 +1439,7 @@ than or equal to the value of GL_MAX_DRAW_BUFFERS. - Associated Gets + Associated Gets glGet with argument GL_BLEND_SRC_RGB @@ -1457,7 +1458,7 @@ - See Also + See Also glBlendColor, glBlendFunc, @@ -1469,13 +1470,13 @@ glStencilFunc - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glBlitFramebuffer.xml b/Source/Bind/Specifications/Docs/GL4/glBlitFramebuffer.xml similarity index 92% rename from Source/Bind/Specifications/Docs/glBlitFramebuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glBlitFramebuffer.xml index a26d7680..7aee6168 100644 --- a/Source/Bind/Specifications/Docs/glBlitFramebuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBlitFramebuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glBlitFramebuffer 3G @@ -33,7 +34,7 @@ - Parameters + Parameters srcX0 @@ -76,7 +77,7 @@ - Description + Description glBlitFramebuffer transfers a rectangle of pixel values from one region of the read framebuffer to another region in the draw framebuffer. mask is the bitwise OR of a number of values indicating which buffers are @@ -114,7 +115,7 @@ is undefined. - Errors + Errors GL_INVALID_OPERATION is generated if mask contains any of the GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT and filter is not GL_NEAREST. @@ -157,7 +158,7 @@ or GL_READ_FRAMEBUFFER_BINDING are not framebuffer complete. - See Also + See Also glReadPixels glCheckFramebufferStatus, @@ -166,12 +167,12 @@ glDeleteFramebuffers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBufferData.xml b/Source/Bind/Specifications/Docs/GL4/glBufferData.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glBufferData.xml rename to Source/Bind/Specifications/Docs/GL4/glBufferData.xml index ede9fba9..dde59132 100644 --- a/Source/Bind/Specifications/Docs/glBufferData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBufferData.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBufferData 3G @@ -31,7 +32,7 @@ - Parameters + Parameters target @@ -86,7 +87,7 @@ - Description + Description glBufferData creates a new data store for the buffer object currently bound to target. Any pre-existing data store is deleted. The new data store is created with the @@ -161,7 +162,7 @@
- Notes + Notes If data is NULL, a data store of the specified size is still created, but its contents remain uninitialized and thus undefined. @@ -169,8 +170,8 @@ Clients must align data elements consistently with the requirements of the client platform, with an additional base-level requirement that an offset within a buffer to - a datum comprising N bytes be a - multiple of N. + a datum comprising N bytes be a + multiple of N. The GL_ATOMIC_COUNTER_BUFFER target is available only if the GL version @@ -184,7 +185,7 @@ The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted buffer targets. @@ -205,7 +206,7 @@ GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store with the specified size. - Associated Gets + Associated Gets glGetBufferSubData @@ -213,7 +214,7 @@ glGetBufferParameter with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE - See Also + See Also glBindBuffer, glBufferSubData, @@ -221,13 +222,13 @@ glUnmapBuffer - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glBufferStorage.xml b/Source/Bind/Specifications/Docs/GL4/glBufferStorage.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glBufferStorage.xml rename to Source/Bind/Specifications/Docs/GL4/glBufferStorage.xml index 6da05334..ec88ed6f 100644 --- a/Source/Bind/Specifications/Docs/glBufferStorage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBufferStorage.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glBufferStorage 3G @@ -27,7 +28,7 @@ - Parameters + Parameters target @@ -82,7 +83,7 @@ - Description + Description glBufferStorage creates a new immutable data store for the buffer object currently bound to target. The size of the data store is specified by size. If @@ -214,7 +215,7 @@ - Notes + Notes glBufferStorage is available only if the GL version is 4.4 or greater. @@ -223,7 +224,7 @@ but its contents remain uninitialized and thus undefined. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted buffer targets. @@ -255,7 +256,7 @@ bound to target is GL_TRUE. - Associated Gets + Associated Gets glGetBufferSubData @@ -263,7 +264,7 @@ glGetBufferParameter with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE - See Also + See Also glBindBuffer, glBufferSubData, @@ -271,12 +272,12 @@ glUnmapBuffer - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glBufferSubData.xml b/Source/Bind/Specifications/Docs/GL4/glBufferSubData.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glBufferSubData.xml rename to Source/Bind/Specifications/Docs/GL4/glBufferSubData.xml index 6c149941..8ab49a3d 100644 --- a/Source/Bind/Specifications/Docs/glBufferSubData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glBufferSubData.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glBufferSubData 3G @@ -31,7 +32,7 @@ - Parameters + Parameters target @@ -83,7 +84,7 @@ - Description + Description glBufferSubData redefines some or all of the data store for the buffer object currently bound to target. Data starting at byte offset offset and @@ -92,7 +93,7 @@ together define a range beyond the bounds of the buffer object's data store. - Notes + Notes When replacing the entire data store, consider using glBufferSubData rather than completely recreating the data store with glBufferData. This avoids the cost of @@ -107,8 +108,8 @@ Clients must align data elements consistent with the requirements of the client platform, with an additional base-level requirement that an offset within a buffer to - a datum comprising N bytes be a - multiple of N. + a datum comprising N bytes be a + multiple of N. The GL_ATOMIC_COUNTER_BUFFER target is available only if the GL version @@ -122,7 +123,7 @@ The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted buffer targets. @@ -139,12 +140,12 @@ GL_INVALID_OPERATION is generated if the buffer object being updated is mapped. - Associated Gets + Associated Gets glGetBufferSubData - See Also + See Also glBindBuffer, glBufferData, @@ -152,13 +153,13 @@ glUnmapBuffer - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glCheckFramebufferStatus.xml b/Source/Bind/Specifications/Docs/GL4/glCheckFramebufferStatus.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glCheckFramebufferStatus.xml rename to Source/Bind/Specifications/Docs/GL4/glCheckFramebufferStatus.xml index e4d187c6..df9f3fd6 100644 --- a/Source/Bind/Specifications/Docs/glCheckFramebufferStatus.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCheckFramebufferStatus.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glCheckFramebufferStatus 3G @@ -24,7 +25,7 @@ - Parameters + Parameters target @@ -36,7 +37,7 @@ - Description + Description glCheckFramebufferStatus queries the completeness status of the framebuffer object currently bound to target. target must be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. @@ -107,25 +108,25 @@ Additionally, if an error occurs, zero is returned. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER. - See Also + See Also glGenFramebuffers, glDeleteFramebuffers glBindFramebuffer - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glClampColor.xml b/Source/Bind/Specifications/Docs/GL4/glClampColor.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glClampColor.xml rename to Source/Bind/Specifications/Docs/GL4/glClampColor.xml index bbc1bdf6..c28b98da 100644 --- a/Source/Bind/Specifications/Docs/glClampColor.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClampColor.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glClampColor 3G @@ -25,7 +26,7 @@ - Parameters + Parameters target @@ -45,7 +46,7 @@ - Description + Description glClampColor controls color clamping that is performed during glReadPixels. target must be GL_CLAMP_READ_COLOR. If clamp is GL_TRUE, @@ -54,7 +55,7 @@ fixed point components and disabled otherwise. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_CLAMP_READ_COLOR. @@ -63,17 +64,17 @@ GL_INVALID_ENUM is generated if clamp is not GL_TRUE or GL_FALSE. - Associated Gets + Associated Gets glGet with argument GL_CLAMP_READ_COLOR. - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glClear.xml b/Source/Bind/Specifications/Docs/GL4/glClear.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glClear.xml rename to Source/Bind/Specifications/Docs/GL4/glClear.xml index 99fd2079..bc931a2c 100644 --- a/Source/Bind/Specifications/Docs/glClear.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClear.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glClear 3G @@ -28,7 +29,7 @@ - Parameters + Parameters mask @@ -44,7 +45,7 @@ - Description + Description glClear sets the bitplane area of the window to values previously selected by glClearColor, glClearDepth, and @@ -103,19 +104,19 @@ clear value for that buffer. - Notes + Notes If a buffer is not present, then a glClear directed at that buffer has no effect. - Errors + Errors GL_INVALID_VALUE is generated if any bit other than the three defined bits is set in mask. - Associated Gets + Associated Gets glGet with argument GL_DEPTH_CLEAR_VALUE @@ -126,7 +127,7 @@ glGet with argument GL_STENCIL_CLEAR_VALUE - See Also + See Also glClearColor, glClearDepth, @@ -138,13 +139,13 @@ glStencilMask - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glClearBuffer.xml b/Source/Bind/Specifications/Docs/GL4/glClearBuffer.xml similarity index 92% rename from Source/Bind/Specifications/Docs/glClearBuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glClearBuffer.xml index 97f76dc9..98326b75 100644 --- a/Source/Bind/Specifications/Docs/glClearBuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClearBuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glClearBuffer 3G @@ -51,7 +52,7 @@ - Parameters + Parameters buffer @@ -97,7 +98,7 @@ - Description + Description glClearBuffer* clears the specified buffer to the specified value(s). If buffer is GL_COLOR, a particular draw buffer GL_DRAW_BUFFERi is specified @@ -130,7 +131,7 @@ and the buffer being cleared is defined. However, this is not an error. - Errors + Errors GL_INVALID_ENUM is generated by glClearBufferif, glClearBufferfv and glClearBufferuiv if buffer is not GL_COLOR, @@ -151,7 +152,7 @@ GL_STENCIL or GL_DEPTH_STENCIL and drawBuffer is not zero. - See Also + See Also glClearColor, glClearDepth, @@ -159,12 +160,12 @@ glClear - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glClearBufferData.xml b/Source/Bind/Specifications/Docs/GL4/glClearBufferData.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glClearBufferData.xml rename to Source/Bind/Specifications/Docs/GL4/glClearBufferData.xml index 758f07a0..3e625a29 100644 --- a/Source/Bind/Specifications/Docs/glClearBufferData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClearBufferData.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glClearBufferData 3G @@ -28,7 +29,7 @@ - Parameters + Parameters target @@ -82,7 +83,7 @@ - Description + Description glClearBufferData fills the entirety of a buffer object's data store with data from client memory. Data, initially supplied in a format @@ -97,7 +98,7 @@ is filled with zeros. - Errors + Errors GL_INVALID_ENUM is generated if target not one of the generic buffer binding targets. @@ -112,17 +113,17 @@ mapped with glMapBufferRange or glMapBuffer. - See Also + See Also glClearBufferSubData. - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glClearBufferSubData.xml b/Source/Bind/Specifications/Docs/GL4/glClearBufferSubData.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glClearBufferSubData.xml rename to Source/Bind/Specifications/Docs/GL4/glClearBufferSubData.xml index fe31968a..3c8fd74e 100644 --- a/Source/Bind/Specifications/Docs/glClearBufferSubData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClearBufferSubData.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glClearBufferSubData 3G @@ -30,7 +31,7 @@ - Parameters + Parameters target @@ -92,7 +93,7 @@ - Description + Description glClearBufferSubData fills a specified region of a buffer object's data store with data from client memory. offset and size @@ -109,7 +110,7 @@ is filled with zeros. - Errors + Errors GL_INVALID_ENUM is generated if target not one of the generic buffer binding targets. @@ -133,17 +134,17 @@ mapped with glMapBufferRange or glMapBuffer. - See Also + See Also glClearBufferData. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glClearColor.xml b/Source/Bind/Specifications/Docs/GL4/glClearColor.xml similarity index 76% rename from Source/Bind/Specifications/Docs/glClearColor.xml rename to Source/Bind/Specifications/Docs/GL4/glClearColor.xml index b843aadc..fd9aeb1f 100644 --- a/Source/Bind/Specifications/Docs/glClearColor.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClearColor.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glClearColor 3G @@ -31,7 +32,7 @@ - Parameters + Parameters red @@ -48,14 +49,14 @@ - Description + Description glClearColor specifies the red, green, blue, and alpha values used by glClear to clear the color buffers. Values specified by glClearColor are clamped to the range - + 0 @@ -64,7 +65,7 @@ . - Notes + Notes The type of the red, green, blue, @@ -75,24 +76,24 @@ page. - Associated Gets + Associated Gets glGet with argument GL_COLOR_CLEAR_VALUE - See Also + See Also glClear, removedTypes - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glClearDepth.xml b/Source/Bind/Specifications/Docs/GL4/glClearDepth.xml similarity index 75% rename from Source/Bind/Specifications/Docs/glClearDepth.xml rename to Source/Bind/Specifications/Docs/GL4/glClearDepth.xml index a7fd4cb6..cb2ef457 100644 --- a/Source/Bind/Specifications/Docs/glClearDepth.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClearDepth.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glClearDepth 3G @@ -32,7 +33,7 @@ - Parameters + Parameters depth @@ -45,11 +46,11 @@ - Description + Description glClearDepth specifies the depth value used by glClear to clear the depth buffer. Values specified by glClearDepth are clamped to the range - + 0 @@ -58,7 +59,7 @@ . - Notes + Notes The type of the depth parameter was changed from GLclampf to GLfloat for @@ -70,24 +71,24 @@ page. - Associated Gets + Associated Gets glGet with argument GL_DEPTH_CLEAR_VALUE - See Also + See Also glClear, removedTypes - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/GL4/glClearStencil.xml b/Source/Bind/Specifications/Docs/GL4/glClearStencil.xml new file mode 100644 index 00000000..804e952f --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glClearStencil.xml @@ -0,0 +1,92 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glClearStencil + 3G + + + glClearStencil + specify the clear value for the stencil buffer + + C Specification + + + void glClearStencil + GLint s + + + + Parameters + + + s + + + Specifies the index used when the stencil buffer is cleared. + The initial value is 0. + + + + + + Description + + glClearStencil specifies the index used by glClear to clear the stencil buffer. + s is masked with + + + + 2 + m + + - + 1 + + , + where + m + is the number of bits in the stencil buffer. + + + Associated Gets + + glGet with argument GL_STENCIL_CLEAR_VALUE + + + glGet with argument GL_STENCIL_BITS + + + See Also + + glClear, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glClearTexImage.xml b/Source/Bind/Specifications/Docs/GL4/glClearTexImage.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glClearTexImage.xml rename to Source/Bind/Specifications/Docs/GL4/glClearTexImage.xml index 2ff0e071..a6a21b0b 100644 --- a/Source/Bind/Specifications/Docs/glClearTexImage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClearTexImage.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glClearTexImage 3G @@ -28,7 +29,7 @@ - Parameters + Parameters texture @@ -72,7 +73,7 @@ - Description + Description glClearTexImage fills all an image contained in a texture with an application supplied value. texture must be @@ -99,12 +100,12 @@ specified by data. - Notes + Notes glClearTexImage is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_OPERATION is generated if texture is zero or not the name of an existing texture object. @@ -144,12 +145,12 @@ has not previously been defined by a call to glTexImage* or glTexStorage*. - Associated Gets + Associated Gets glGetTexImage, glGetInternalformat - See Also + See Also glClearTexSubImage, glTexStorage1D, @@ -160,12 +161,12 @@ glTexImage3D - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glClearTexSubImage.xml b/Source/Bind/Specifications/Docs/GL4/glClearTexSubImage.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glClearTexSubImage.xml rename to Source/Bind/Specifications/Docs/GL4/glClearTexSubImage.xml index bcd39ef3..6bb08680 100644 --- a/Source/Bind/Specifications/Docs/glClearTexSubImage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClearTexSubImage.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glClearTexSubImage 3G @@ -34,7 +35,7 @@ - Parameters + Parameters texture @@ -126,7 +127,7 @@ - Description + Description glClearTexSubImage fills all or part of an image contained in a texture with an application supplied value. texture must be @@ -153,42 +154,42 @@ Negative values of xoffset, yoffset, and zoffset correspond to the coordinates of border texels. Taking - ws + ws , - hs + hs , - ds + ds , - wb + wb , - hb + hb , and - db + db to be the specified width, height, depth, and the border width, border height, and border depth of the texel array and taking - x + x , - y + y , - z + z , - w + w , - h + h , and - d + d to be the xoffset, yoffset, zoffset, width, height, and depth argument values, @@ -196,7 +197,7 @@ - + x < @@ -211,7 +212,7 @@ - + x + @@ -233,7 +234,7 @@ - + y < @@ -249,7 +250,7 @@ - + y + @@ -271,7 +272,7 @@ - + z < @@ -287,7 +288,7 @@ - + z + @@ -333,12 +334,12 @@ specified by data. - Notes + Notes glClearTexSubImage is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_OPERATION is generated if texture is zero or not the name of an existing texture object. @@ -379,12 +380,12 @@ defined texture image array (including border, if any). - Associated Gets + Associated Gets glGetTexImage, glGetInternalformat - See Also + See Also glClearTexImage, glTexStorage1D, @@ -395,12 +396,12 @@ glTexImage3D - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glClientWaitSync.xml b/Source/Bind/Specifications/Docs/GL4/glClientWaitSync.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glClientWaitSync.xml rename to Source/Bind/Specifications/Docs/GL4/glClientWaitSync.xml index 34063538..fd038f24 100644 --- a/Source/Bind/Specifications/Docs/glClientWaitSync.xml +++ b/Source/Bind/Specifications/Docs/GL4/glClientWaitSync.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glClientWaitSync 3G @@ -26,7 +27,7 @@ - Parameters + Parameters sync @@ -54,7 +55,7 @@ - Description + Description glClientWaitSync causes the client to block and wait for the sync object specified by sync to become signaled. If sync is signaled when glClientWaitSync is called, glClientWaitSync returns immediately, otherwise @@ -88,12 +89,12 @@ - Notes + Notes glClientWaitSync is available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_VALUE is generated if sync is not the name of an existing sync object. @@ -101,19 +102,19 @@ GL_INVALID_VALUE is generated if flags contains any unsupported flag. - See Also + See Also glFenceSync, glIsSync glWaitSync - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glColorMask.xml b/Source/Bind/Specifications/Docs/GL4/glColorMask.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glColorMask.xml rename to Source/Bind/Specifications/Docs/GL4/glColorMask.xml index a06e3e17..c0a30d30 100644 --- a/Source/Bind/Specifications/Docs/glColorMask.xml +++ b/Source/Bind/Specifications/Docs/GL4/glColorMask.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glColorMask 3G @@ -41,7 +42,7 @@ - Parameters + Parameters buf @@ -68,7 +69,7 @@ - Description + Description glColorMask and glColorMaski specify whether the individual color components in the frame buffer can or cannot be written. glColorMaski sets the mask for a specific draw buffer, whereas @@ -85,25 +86,25 @@ changes are either enabled or disabled for entire color components. - Associated Gets + Associated Gets glGet with argument GL_COLOR_WRITEMASK - See Also + See Also glClear, glDepthMask, glStencilMask - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCompileShader.xml b/Source/Bind/Specifications/Docs/GL4/glCompileShader.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glCompileShader.xml rename to Source/Bind/Specifications/Docs/GL4/glCompileShader.xml index 1f66e071..b7b61150 100644 --- a/Source/Bind/Specifications/Docs/glCompileShader.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCompileShader.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glCompileShader 3G @@ -28,7 +29,7 @@ - Parameters + Parameters shader @@ -39,7 +40,7 @@ - Description + Description glCompileShader compiles the source code strings that have been stored in the shader object specified by shader. @@ -60,7 +61,7 @@ information log by calling glGetShaderInfoLog. - Errors + Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. @@ -69,7 +70,7 @@ shader is not a shader object. - Associated Gets + Associated Gets glGetShaderInfoLog with argument shader @@ -78,18 +79,18 @@ GL_COMPILE_STATUS glIsShader - See Also + See Also glCreateShader, glLinkProgram, glShaderSource - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glCompressedTexImage1D.xml b/Source/Bind/Specifications/Docs/GL4/glCompressedTexImage1D.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glCompressedTexImage1D.xml rename to Source/Bind/Specifications/Docs/GL4/glCompressedTexImage1D.xml index 034a07b0..3f12d2cd 100644 --- a/Source/Bind/Specifications/Docs/glCompressedTexImage1D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCompressedTexImage1D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2011-2013 Khronos Group - + glCompressedTexImage1D 3G @@ -34,7 +35,7 @@ - Parameters + Parameters target @@ -98,7 +99,7 @@ - Description + Description Texturing allows elements of an image array to be read by shaders. @@ -131,32 +132,32 @@ These pixel storage modes operate in the same way as they do for glTexImage1D. In the following description, denote by - bs + bs , - bw + bw , - bh + bh , and - bd + bd the values of pixel storage modes GL_UNPACK_COMPRESSED_BLOCK_SIZE, GL_UNPACK_COMPRESSED_BLOCK_WIDTH, GL_UNPACK_COMPRESSED_BLOCK_HEIGHT, and GL_UNPACK_COMPRESSED_BLOCK_DEPTH, respectively. - bs + bs is the compressed block size in bytes; - bw + bw , - bh + bh , and - bd + bd are the compressed block width, height, and depth in pixels. @@ -167,21 +168,21 @@ are ignored for compressed images. To enable GL_UNPACK_SKIP_PIXELS and GL_UNPACK_ROW_LENGTH, - bs + bs and - bw + bw must both be non-zero. To also enable GL_UNPACK_SKIP_ROWS and GL_UNPACK_IMAGE_HEIGHT, - bh + bh must be non-zero. To also enable GL_UNPACK_SKIP_IMAGES, - bd + bd must be non-zero. All parameters must be consistent with the compressed format to produce the desired results. @@ -192,7 +193,7 @@ the value of GL_UNPACK_SKIP_PIXELS must be a multiple of - bw + bw @@ -203,14 +204,14 @@ - + b s - × - + × + width @@ -224,7 +225,7 @@ - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not a supported specific compressed internal formats, or is one of the generic @@ -263,7 +264,7 @@ specification defining the internal compression format. - Associated Gets + Associated Gets glGetCompressedTexImage @@ -284,7 +285,7 @@ and GL_TEXTURE_COMPRESSED_IMAGE_SIZE - See Also + See Also glActiveTexture, glCompressedTexImage2D, @@ -306,13 +307,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2011-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCompressedTexImage2D.xml b/Source/Bind/Specifications/Docs/GL4/glCompressedTexImage2D.xml similarity index 82% rename from Source/Bind/Specifications/Docs/glCompressedTexImage2D.xml rename to Source/Bind/Specifications/Docs/GL4/glCompressedTexImage2D.xml index 269be76d..c4d9177d 100644 --- a/Source/Bind/Specifications/Docs/glCompressedTexImage2D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCompressedTexImage2D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2011-2013 Khronos Group - + glCompressedTexImage2D 3G @@ -35,7 +36,7 @@ - Parameters + Parameters target @@ -117,7 +118,7 @@ - Description + Description Texturing allows elements of an image array to be read by shaders. @@ -161,31 +162,31 @@ These pixel storage modes operate in the same way as they do for glTexImage2D. In the following description, denote by - bs + bs , - bw + bw , - bh + bh , and - bd + bd , the values of pixel storage modes GL_UNPACK_COMPRESSED_BLOCK_SIZE, GL_UNPACK_COMPRESSED_BLOCK_WIDTH, GL_UNPACK_COMPRESSED_BLOCK_HEIGHT, and GL_UNPACK_COMPRESSED_BLOCK_DEPTH, respectively. - bs + bs is the compressed block size in bytes; - bw + bw , - bh + bh , and - bd + bd are the compressed block width, height, and depth in pixels. @@ -195,21 +196,21 @@ are ignored for compressed images. To enable GL_UNPACK_SKIP_PIXELS and GL_UNPACK_ROW_LENGTH, - bs + bs and - bw + bw must both be non-zero. To also enable GL_UNPACK_SKIP_ROWS and GL_UNPACK_IMAGE_HEIGHT, - bh + bh must be non-zero. To also enable GL_UNPACK_SKIP_IMAGES, - bd + bd must be non-zero. All parameters must be consistent with the compressed format to produce the desired results. @@ -222,7 +223,7 @@ GL_UNPACK_SKIP_PIXELS must be a multiple of - bw + bw ; @@ -232,7 +233,7 @@ GL_UNPACK_SKIP_ROWS must be a multiple of - bw + bw . @@ -243,14 +244,14 @@ - + b s - × - + × + width @@ -259,8 +260,8 @@ - × - + × + height @@ -274,7 +275,7 @@ - Notes + Notes The specific compressed internal formats GL_COMPRESSED_RGB8_ETC2, GL_COMPRESSED_SRGB8_ETC2, @@ -289,7 +290,7 @@ is 4.3 or higher. - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not one of the specific compressed internal formats: @@ -340,7 +341,7 @@ specification defining the internal compression format. - Associated Gets + Associated Gets glGetCompressedTexImage @@ -355,7 +356,7 @@ and GL_TEXTURE_COMPRESSED_IMAGE_SIZE - See Also + See Also glActiveTexture, glCompressedTexImage1D, @@ -376,13 +377,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2011-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCompressedTexImage3D.xml b/Source/Bind/Specifications/Docs/GL4/glCompressedTexImage3D.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glCompressedTexImage3D.xml rename to Source/Bind/Specifications/Docs/GL4/glCompressedTexImage3D.xml index 9dcb76ad..20ab8f21 100644 --- a/Source/Bind/Specifications/Docs/glCompressedTexImage3D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCompressedTexImage3D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2011-2013 Khronos Group - + glCompressedTexImage3D 3G @@ -36,7 +37,7 @@ - Parameters + Parameters target @@ -122,7 +123,7 @@ - Description + Description Texturing allows elements of an image array to be read by shaders. @@ -164,33 +165,33 @@ These pixel storage modes operate in the same way as they do for glTexImage1D. In the following description, denote by - bs + bs , - bw + bw , - bh + bh , and - bd + bd the values of pixel storage modes GL_UNPACK_COMPRESSED_BLOCK_SIZE, GL_UNPACK_COMPRESSED_BLOCK_WIDTH, GL_UNPACK_COMPRESSED_BLOCK_HEIGHT, and GL_UNPACK_COMPRESSED_BLOCK_DEPTH, respectively. - bs + bs is the compressed block size in bytes; - bw + bw , - bh + bh , and - bd + bd are the compressed block width, height, and depth in pixels. @@ -201,21 +202,21 @@ are ignored for compressed images. To enable GL_UNPACK_SKIP_PIXELS and GL_UNPACK_ROW_LENGTH, - bs + bs and - bw + bw must both be non-zero. To also enable GL_UNPACK_SKIP_ROWS and GL_UNPACK_IMAGE_HEIGHT, - bh + bh must be non-zero. To also enable GL_UNPACK_SKIP_IMAGES, - bd + bd must be non-zero. All parameters must be consistent with the compressed format to produce the desired results. @@ -226,7 +227,7 @@ the value of GL_UNPACK_SKIP_PIXELS must be a multiple of - bw + bw ; @@ -234,7 +235,7 @@ the value of GL_UNPACK_SKIP_ROWS must be a multiple of - bw + bw ; @@ -242,7 +243,7 @@ the value of GL_UNPACK_SKIP_IMAGES must be a multiple of - bw + bw . @@ -253,14 +254,14 @@ - + b s - × - + × + width @@ -269,8 +270,8 @@ - × - + × + height @@ -279,8 +280,8 @@ - × - + × + depth @@ -294,7 +295,7 @@ - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not one of the generic compressed internal formats: @@ -330,7 +331,7 @@ Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. - Associated Gets + Associated Gets glGetCompressedTexImage @@ -345,7 +346,7 @@ and GL_TEXTURE_COMPRESSED_IMAGE_SIZE - See Also + See Also glActiveTexture, glCompressedTexImage1D, @@ -366,13 +367,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2011-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCompressedTexSubImage1D.xml b/Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage1D.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glCompressedTexSubImage1D.xml rename to Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage1D.xml index 868aaeef..80e2b993 100644 --- a/Source/Bind/Specifications/Docs/glCompressedTexSubImage1D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage1D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glCompressedTexSubImage1D 3G @@ -34,7 +35,7 @@ - Parameters + Parameters target @@ -98,7 +99,7 @@ - Description + Description Texturing allows elements of an image array to be read by shaders. @@ -106,7 +107,7 @@ glCompressedTexSubImage1D redefines a contiguous subregion of an existing one-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and - + xoffset @@ -135,7 +136,7 @@ specified, data is treated as a byte offset into the buffer object's data store. - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not one of the generic compressed internal formats: @@ -171,7 +172,7 @@ specification defining the internal compression format. - Associated Gets + Associated Gets glGetCompressedTexImage @@ -186,7 +187,7 @@ and GL_TEXTURE_COMPRESSED_IMAGE_SIZE - See Also + See Also glActiveTexture, glCompressedTexImage1D, @@ -208,13 +209,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCompressedTexSubImage2D.xml b/Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage2D.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glCompressedTexSubImage2D.xml rename to Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage2D.xml index 82e79a50..d5eb133e 100644 --- a/Source/Bind/Specifications/Docs/glCompressedTexSubImage2D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage2D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glCompressedTexSubImage2D 3G @@ -36,7 +37,7 @@ - Parameters + Parameters target @@ -122,7 +123,7 @@ - Description + Description Texturing allows elements of an image array to be read by shaders. @@ -130,7 +131,7 @@ glCompressedTexSubImage2D redefines a contiguous subregion of an existing two-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and - + xoffset @@ -141,7 +142,7 @@ , and the y indices yoffset and - + yoffset @@ -171,7 +172,7 @@ specified, data is treated as a byte offset into the buffer object's data store. - Errors + Errors GL_INVALID_ENUM is generated if internalformat is of the generic compressed internal formats: GL_COMPRESSED_RED, @@ -206,7 +207,7 @@ specification defining the internal compression format. - Associated Gets + Associated Gets glGetCompressedTexImage @@ -221,7 +222,7 @@ and GL_TEXTURE_COMPRESSED_IMAGE_SIZE - See Also + See Also glActiveTexture, glCompressedTexImage1D, @@ -243,13 +244,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCompressedTexSubImage3D.xml b/Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage3D.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glCompressedTexSubImage3D.xml rename to Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage3D.xml index a384a0b1..fff9736f 100644 --- a/Source/Bind/Specifications/Docs/glCompressedTexSubImage3D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCompressedTexSubImage3D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glCompressedTexSubImage3D 3G @@ -38,7 +39,7 @@ - Parameters + Parameters target @@ -126,7 +127,7 @@ - Description + Description Texturing allows elements of an image array to be read by shaders. @@ -134,7 +135,7 @@ glCompressedTexSubImage3D redefines a contiguous subregion of an existing three-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and - + xoffset @@ -145,7 +146,7 @@ , and the y indices yoffset and - + yoffset @@ -156,7 +157,7 @@ , and the z indices zoffset and - + zoffset @@ -185,7 +186,7 @@ specified, data is treated as a byte offset into the buffer object's data store. - Errors + Errors GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_RED, @@ -220,7 +221,7 @@ specification defining the internal compression format. - Associated Gets + Associated Gets glGetCompressedTexImage @@ -235,7 +236,7 @@ and GL_TEXTURE_COMPRESSED_IMAGE_SIZE - See Also + See Also glActiveTexture, glCompressedTexImage1D, @@ -257,13 +258,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCopyBufferSubData.xml b/Source/Bind/Specifications/Docs/GL4/glCopyBufferSubData.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glCopyBufferSubData.xml rename to Source/Bind/Specifications/Docs/GL4/glCopyBufferSubData.xml index 07add68e..c85dd481 100644 --- a/Source/Bind/Specifications/Docs/glCopyBufferSubData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCopyBufferSubData.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010 Khronos Group - + glCopyBufferSubData 3G @@ -28,7 +29,7 @@ - Parameters + Parameters readtarget @@ -72,7 +73,7 @@ - Description + Description glCopyBufferSubData copies part of the data store attached to readtarget to the data store attached to writetarget. The number of basic machine units indicated by size @@ -98,7 +99,7 @@ and size must not overlap. - Notes + Notes The GL_DISPATCH_INDIRECT_BUFFER and GL_SHADER_STORAGE_BUFFER targets are available only if the GL version is 4.3 or greater. @@ -107,7 +108,7 @@ The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_VALUE is generated if any of readoffset, writeoffset or size is negative, if readoffset + size exceeds the @@ -128,7 +129,7 @@ is mapped. - See Also + See Also glGenBuffers, glBindBuffer, @@ -137,12 +138,12 @@ glGetBufferSubData - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glCopyImageSubData.xml b/Source/Bind/Specifications/Docs/GL4/glCopyImageSubData.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glCopyImageSubData.xml rename to Source/Bind/Specifications/Docs/GL4/glCopyImageSubData.xml index 59835f28..04b39226 100644 --- a/Source/Bind/Specifications/Docs/glCopyImageSubData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCopyImageSubData.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glCopyImageSubData 3G @@ -38,7 +39,7 @@ - Parameters + Parameters srcName @@ -154,7 +155,7 @@ - Description + Description glCopyImageSubData may be used to copy data from one image (i.e. texture or renderbuffer) to another. glCopyImageSubData @@ -256,9 +257,9 @@ Sized Internal Formats - - - + + + @@ -308,7 +309,7 @@
- Errors + Errors GL_INVALID_OPERATION is generated if the texel size of the uncompressed image is not equal to the block size of the @@ -347,22 +348,22 @@ constraints of the format. - Associated Gets + Associated Gets glGet with argument GL_MAX_COMPUTE_WORK_GROUP_COUNT - See Also + See Also glDispatchComputeIndirect. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/.
diff --git a/Source/Bind/Specifications/Docs/glCopyTexImage1D.xml b/Source/Bind/Specifications/Docs/GL4/glCopyTexImage1D.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glCopyTexImage1D.xml rename to Source/Bind/Specifications/Docs/GL4/glCopyTexImage1D.xml index b6c44b35..0400e860 100644 --- a/Source/Bind/Specifications/Docs/glCopyTexImage1D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCopyTexImage1D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glCopyTexImage1D 3G @@ -30,7 +31,7 @@ - Parameters + Parameters target @@ -122,14 +123,14 @@ - Description + Description glCopyTexImage1D defines a one-dimensional texture image with pixels from the current GL_READ_BUFFER. The screen-aligned pixel row with left corner at - + x @@ -137,7 +138,7 @@ and with a length of - + width defines the texture array @@ -149,7 +150,7 @@ glReadPixels had been called, but the process stops just before final conversion. At this point all pixel component values are clamped to the range - + 0 @@ -161,7 +162,7 @@ Pixel ordering is such that lower - x + x screen coordinates correspond to lower texture coordinates. @@ -178,7 +179,7 @@ When internalformat is one of the sRGB types, the GL does not automatically convert the source pixels to the sRGB color space. In this case, the glPixelMap function can be used to accomplish the conversion. - Notes + Notes 1, 2, 3, and 4 are not accepted values for internalformat. @@ -190,7 +191,7 @@ if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. @@ -200,7 +201,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log @@ -211,7 +212,7 @@ , where - max + max is the returned value of GL_MAX_TEXTURE_SIZE. @@ -231,12 +232,12 @@ buffer. - Associated Gets + Associated Gets glGetTexImage - See Also + See Also glCopyTexImage2D, glCopyTexSubImage1D, @@ -249,14 +250,14 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 + Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2012-2013 Khronos Group. + Copyright 2012-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCopyTexImage2D.xml b/Source/Bind/Specifications/Docs/GL4/glCopyTexImage2D.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glCopyTexImage2D.xml rename to Source/Bind/Specifications/Docs/GL4/glCopyTexImage2D.xml index 525eb5ed..e7c80480 100644 --- a/Source/Bind/Specifications/Docs/glCopyTexImage2D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCopyTexImage2D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glCopyTexImage2D 3G @@ -31,7 +32,7 @@ - Parameters + Parameters target @@ -136,7 +137,7 @@ - Description + Description glCopyTexImage2D defines a two-dimensional texture image, or cube-map texture image with pixels from the current @@ -145,11 +146,11 @@ The screen-aligned pixel rectangle with lower left corner at (x, y) and with a width of - + width and a height of - + height defines the texture array @@ -161,7 +162,7 @@ glReadPixels had been called, but the process stops just before final conversion. At this point all pixel component values are clamped to the range - + 0 @@ -173,14 +174,14 @@ Pixel ordering is such that lower - x + x and - y + y screen coordinates correspond to lower - s + s and - t + t texture coordinates. @@ -192,7 +193,7 @@ When internalformat is one of the sRGB types, the GL does not automatically convert the source pixels to the sRGB color space. In this case, the glPixelMap function can be used to accomplish the conversion. - Notes + Notes 1, 2, 3, and 4 are not accepted values for internalformat. @@ -204,7 +205,7 @@ if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, @@ -220,7 +221,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log @@ -231,7 +232,7 @@ , where - max + max is the returned value of GL_MAX_TEXTURE_SIZE. @@ -253,12 +254,12 @@ buffer. - Associated Gets + Associated Gets glGetTexImage - See Also + See Also glCopyTexImage1D, glCopyTexSubImage1D, @@ -271,14 +272,14 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 + Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2012-2013 Khronos Group. + Copyright 2012-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCopyTexSubImage1D.xml b/Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage1D.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glCopyTexSubImage1D.xml rename to Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage1D.xml index e0284253..cc9c7518 100644 --- a/Source/Bind/Specifications/Docs/glCopyTexSubImage1D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage1D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glCopyTexSubImage1D 3G @@ -29,7 +30,7 @@ - Parameters + Parameters target @@ -78,7 +79,7 @@ - Description + Description glCopyTexSubImage1D replaces a portion of a one-dimensional texture image with pixels from the current GL_READ_BUFFER (rather @@ -88,7 +89,7 @@ The screen-aligned pixel row with left corner at (x,\ y), and with length width replaces the portion of the texture array with x indices xoffset through - + xoffset @@ -107,7 +108,7 @@ glReadPixels had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range - + 0 @@ -129,12 +130,12 @@ array or to texel values outside the specified subregion. - Notes + Notes The glPixelStore mode affects texture images. - Errors + Errors GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_1D. @@ -147,7 +148,7 @@ GL_INVALID_VALUE may be generated if - + level @@ -167,7 +168,7 @@ GL_INVALID_VALUE is generated if - + xoffset @@ -176,7 +177,7 @@ , or - + @@ -191,19 +192,19 @@ , where - w + w is the GL_TEXTURE_WIDTH of the texture image being modified. - Associated Gets + Associated Gets glGetTexImage - See Also + See Also glCopyTexImage1D, glCopyTexImage2D, @@ -220,14 +221,14 @@ glTexSubImage3D - Copyright + Copyright - Copyright 1991-2006 + Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2012-2013 Khronos Group. + Copyright 2012-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCopyTexSubImage2D.xml b/Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage2D.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glCopyTexSubImage2D.xml rename to Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage2D.xml index 05d0bafb..c29bcad9 100644 --- a/Source/Bind/Specifications/Docs/glCopyTexSubImage2D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage2D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glCopyTexSubImage2D 3G @@ -31,7 +32,7 @@ - Parameters + Parameters target @@ -103,7 +104,7 @@ - Description + Description glCopyTexSubImage2D replaces a rectangular portion of a two-dimensional texture image, cube-map texture image or a linear portion of a number of slices of a one-dimensional array texture @@ -112,7 +113,7 @@ The screen-aligned pixel rectangle with lower left corner at - + x @@ -122,7 +123,7 @@ and with width width and height height replaces the portion of the texture array with x indices xoffset through - + xoffset @@ -133,7 +134,7 @@ , inclusive, and y indices yoffset through - + yoffset @@ -150,7 +151,7 @@ glReadPixels had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range - + 0 @@ -182,12 +183,12 @@ array or to texel values outside the specified subregion. - Notes + Notes glPixelStore modes affect texture images. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, @@ -207,7 +208,7 @@ GL_INVALID_VALUE may be generated if - + level @@ -224,12 +225,12 @@ , where - max + max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if - + xoffset @@ -237,7 +238,7 @@ 0 , - + @@ -251,7 +252,7 @@ w , - + yoffset @@ -260,7 +261,7 @@ , or - + @@ -275,19 +276,19 @@ , where - w + w is the GL_TEXTURE_WIDTH, - h + h is the GL_TEXTURE_HEIGHT and of the texture image being modified. - Associated Gets + Associated Gets glGetTexImage - See Also + See Also glCopyTexImage1D, glCopyTexImage2D, @@ -304,13 +305,13 @@ glTexSubImage3D - Copyright + Copyright - Copyright 1991-2006 - Silicon Graphics, Inc. Copyright 2012-2013 Khronos Group. + Copyright 1991-2006 + Silicon Graphics, Inc. Copyright 2012-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCopyTexSubImage3D.xml b/Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage3D.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glCopyTexSubImage3D.xml rename to Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage3D.xml index b9a94baa..df711779 100644 --- a/Source/Bind/Specifications/Docs/glCopyTexSubImage3D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCopyTexSubImage3D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glCopyTexSubImage3D 3G @@ -32,7 +33,7 @@ - Parameters + Parameters target @@ -105,7 +106,7 @@ - Description + Description glCopyTexSubImage3D replaces a rectangular portion of a three-dimensional or two-dimensional array texture image with pixels from the current GL_READ_BUFFER (rather @@ -116,7 +117,7 @@ (x, y) and with width width and height height replaces the portion of the texture array with x indices xoffset through - + xoffset @@ -127,7 +128,7 @@ , inclusive, and y indices yoffset through - + yoffset @@ -144,7 +145,7 @@ glReadPixels had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range - + 0 @@ -171,12 +172,12 @@ array or to texel values outside the specified subregion. - Notes + Notes glPixelStore modes affect texture images. - Errors + Errors GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_3D. @@ -189,7 +190,7 @@ GL_INVALID_VALUE may be generated if - + level @@ -206,14 +207,14 @@ , where - max + max is the returned value of GL_MAX_3D_TEXTURE_SIZE if target is GL_TEXTURE_3D or the returned value of GL_MAX_ARRAY_TEXTURE_LAYERS if target is GL_TEXTURE_2D_ARRAY. GL_INVALID_VALUE is generated if - + xoffset @@ -221,7 +222,7 @@ 0 , - + @@ -235,7 +236,7 @@ w , - + yoffset @@ -243,7 +244,7 @@ 0 , - + @@ -257,7 +258,7 @@ h , - + zoffset @@ -266,7 +267,7 @@ , or - + @@ -281,27 +282,27 @@ , where - w + w is the GL_TEXTURE_WIDTH, - h + h is the GL_TEXTURE_HEIGHT, - d + d is the GL_TEXTURE_DEPTH and of the texture image being modified. Note that - w, - h, + w, + h, and - d + d include twice the border width. - Associated Gets + Associated Gets glGetTexImage - See Also + See Also glCopyTexImage1D, glCopyTexImage2D, @@ -318,14 +319,14 @@ glTexSubImage3D - Copyright + Copyright - Copyright 1991-2006 + Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2012-2013 Khronos Group. + Copyright 2012-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glCreateProgram.xml b/Source/Bind/Specifications/Docs/GL4/glCreateProgram.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glCreateProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glCreateProgram.xml index e595cfef..5eac1873 100644 --- a/Source/Bind/Specifications/Docs/glCreateProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCreateProgram.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glCreateProgram 3G @@ -28,7 +29,7 @@ - Description + Description glCreateProgram creates an empty program object and returns a non-zero value by which it can be referenced. A program object is an object to which shader @@ -55,7 +56,7 @@ when it is no longer part of current rendering state for any context. - Notes + Notes Like buffer and texture objects, the name space for program objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address @@ -67,11 +68,11 @@ synchronization across API calls when objects are accessed from different execution threads. - Errors + Errors This function returns 0 if an error occurs creating the program object. - Associated Gets + Associated Gets glGet with the argument GL_CURRENT_PROGRAM @@ -106,7 +107,7 @@ glIsProgram - See Also + See Also glAttachShader, glBindAttribLocation, glCreateShader, @@ -117,13 +118,13 @@ glUseProgram, glValidateProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glCreateShader.xml b/Source/Bind/Specifications/Docs/GL4/glCreateShader.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glCreateShader.xml rename to Source/Bind/Specifications/Docs/GL4/glCreateShader.xml index df043a5e..3d5f6779 100644 --- a/Source/Bind/Specifications/Docs/glCreateShader.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCreateShader.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glCreateShader 3G @@ -28,7 +29,7 @@ - Parameters + Parameters shaderType @@ -44,7 +45,7 @@ - Description + Description glCreateShader creates an empty shader object and returns a non-zero value by which it can be referenced. A shader object is used to maintain the source code @@ -72,7 +73,7 @@ or GL_FRAGMENT_SHADER, depending on the value of shaderType. - Notes + Notes Like buffer and texture objects, the name space for shader objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address @@ -86,7 +87,7 @@ GL_COMPUTE_SHADER is available only if the GL version is 4.3 or higher. - Errors + Errors This function returns 0 if an error occurs creating the shader object. @@ -94,7 +95,7 @@ shaderType is not an accepted value. - Associated Gets + Associated Gets glGetShader with a valid shader object and the parameter to be queried @@ -106,7 +107,7 @@ glIsShader - See Also + See Also glAttachShader, glCompileShader, glDeleteShader, @@ -114,13 +115,13 @@ glShaderSource - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glCreateShaderProgram.xml b/Source/Bind/Specifications/Docs/GL4/glCreateShaderProgram.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glCreateShaderProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glCreateShaderProgram.xml index 1345a581..0cd5ae47 100644 --- a/Source/Bind/Specifications/Docs/glCreateShaderProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glCreateShaderProgram.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glCreateShaderProgram 3G @@ -26,7 +27,7 @@ - Parameters + Parameters type @@ -54,7 +55,7 @@ - Description + Description glCreateShaderProgram creates a program object containing compiled and linked shaders for a single stage specified by type. strings @@ -89,7 +90,7 @@ status set to GL_TRUE. - Errors + Errors GL_INVALID_ENUM is generated if if type is not an accepted shader type. @@ -105,7 +106,7 @@ commands. - See Also + See Also glCreateShader, glCreateProgram, @@ -113,12 +114,12 @@ glLinkProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glCullFace.xml b/Source/Bind/Specifications/Docs/GL4/glCullFace.xml new file mode 100644 index 00000000..de1fe1c9 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glCullFace.xml @@ -0,0 +1,100 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glCullFace + 3G + + + glCullFace + specify whether front- or back-facing facets can be culled + + C Specification + + + void glCullFace + GLenum mode + + + + Parameters + + + mode + + + Specifies whether front- or back-facing facets are candidates for culling. + Symbolic constants + GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK are accepted. + The initial value is GL_BACK. + + + + + + Description + + glCullFace specifies whether front- or back-facing facets are culled + (as specified by mode) when facet culling is enabled. Facet + culling is initially disabled. + To enable and disable facet culling, call the + glEnable and glDisable commands + with the argument GL_CULL_FACE. + Facets include triangles, + quadrilaterals, + polygons, and + rectangles. + + + glFrontFace specifies which of the clockwise and counterclockwise facets + are front-facing and back-facing. + See glFrontFace. + + + Notes + + If mode is GL_FRONT_AND_BACK, no facets are drawn, but other + primitives such as points and lines are drawn. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + Associated Gets + + glIsEnabled with argument GL_CULL_FACE + + + glGet with argument GL_CULL_FACE_MODE + + + See Also + + glEnable, + glFrontFace + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glDebugMessageCallback.xml b/Source/Bind/Specifications/Docs/GL4/glDebugMessageCallback.xml similarity index 76% rename from Source/Bind/Specifications/Docs/glDebugMessageCallback.xml rename to Source/Bind/Specifications/Docs/GL4/glDebugMessageCallback.xml index d44d576c..131c5e76 100644 --- a/Source/Bind/Specifications/Docs/glDebugMessageCallback.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDebugMessageCallback.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glDebugMessageCallback 3G @@ -25,7 +26,7 @@ - Parameters + Parameters callback @@ -45,19 +46,19 @@ - Description + Description glDebugMessageInsert sets the current debug output callback function to the function whose address is given in callback. The callback function should have the following prototype (in C), or be otherwise compatible with such a prototype: - + typedef void (APIENTRY *DEBUGPROC)(GLenum source, + GLenum type, + GLuint id, + GLenum severity, + GLsizei length, + const GLchar *message, + void *userParam); This function is defined to have the same calling convention as the GL API functions. In most cases this is defined as APIENTRY, although it will vary depending @@ -72,26 +73,26 @@ userParam parameter to the most recent call to glDebugMessageInsert. - Notes + Notes When the GL is in use remotely, the server may not be able to call functions in the client's address space. In such cases, the callback function may not be invoked and the user should retrieve debug messages from the context's debug message log by calling glGetDebugMessageLog. - See Also + See Also glDebugMessageControl, glDebugMessageInsert, glGetDebugMessageLog. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDebugMessageControl.xml b/Source/Bind/Specifications/Docs/GL4/glDebugMessageControl.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glDebugMessageControl.xml rename to Source/Bind/Specifications/Docs/GL4/glDebugMessageControl.xml index d20abb79..1c8810b7 100644 --- a/Source/Bind/Specifications/Docs/glDebugMessageControl.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDebugMessageControl.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glDebugMessageControl 3G @@ -29,7 +30,7 @@ - Parameters + Parameters source @@ -81,7 +82,7 @@ - Description + Description glDebugMessageControl controls the reporting of debug messages generated by a debug context. The parameters source, type and severity @@ -124,7 +125,7 @@ are enabled. Otherwise, those messages are disabled. - Notes + Notes Although debug messages may be enabled in a non-debug context, the quantity and detail of such messages may be substantially inferior to those in a debug context. In particular, a valid implementation of the debug message queue in a non-debug context @@ -135,7 +136,7 @@ are available only if the GL version is 4.3 or higher. - Errors + Errors GL_INVALID_VALUE is generated if count is negative. @@ -149,19 +150,19 @@ or if severity is not GL_DONT_CARE. - See Also + See Also glDebugMessageInsert, glDebugMessageCallback, glGetDebugMessageLog. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDebugMessageInsert.xml b/Source/Bind/Specifications/Docs/GL4/glDebugMessageInsert.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glDebugMessageInsert.xml rename to Source/Bind/Specifications/Docs/GL4/glDebugMessageInsert.xml index bed56172..7f1e3dde 100644 --- a/Source/Bind/Specifications/Docs/glDebugMessageInsert.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDebugMessageInsert.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glDebugMessageInsert 3G @@ -29,7 +30,7 @@ - Parameters + Parameters source @@ -81,7 +82,7 @@ - Description + Description glDebugMessageInsert inserts a user-supplied message into the debug output queue. source specifies the source that will be @@ -104,13 +105,13 @@ or equal to the implementation defined constant GL_MAX_DEBUG_MESSAGE_LENGTH. - Notes + Notes GL_DEBUG_TYPE_MARKER, GL_DEBUG_TYPE_PUSH_GROUP, GL_DEBUG_TYPE_POP_GROUP, and GL_DEBUG_SEVERITY_NOTIFICATION are available only if the GL version is 4.3 or higher. - Errors + Errors GL_INVALID_ENUM is generated if any of source, type or severity is not one of the accepted interface types. @@ -120,19 +121,19 @@ value of GL_MAX_DEBUG_MESSAGE_LENGTH. - See Also + See Also glDebugMessageControl, glDebugMessageCallback, glGetDebugMessageLog. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glDeleteBuffers.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteBuffers.xml new file mode 100644 index 00000000..a760cdd1 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteBuffers.xml @@ -0,0 +1,92 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2013 + Khronos Group + + + + glDeleteBuffers + 3G + + + glDeleteBuffers + delete named buffer objects + + C Specification + + + void glDeleteBuffers + GLsizei n + const GLuint * buffers + + + + Parameters + + + n + + + Specifies the number of buffer objects to be deleted. + + + + + buffers + + + Specifies an array of buffer objects to be deleted. + + + + + + Description + + glDeleteBuffers deletes n buffer objects named by the elements of the array buffers. + After a buffer object is deleted, it has no contents, + and its name is free for reuse (for example by glGenBuffers). + If a buffer object that is currently bound is deleted, the binding reverts + to 0 (the absence of any buffer object). + + + glDeleteBuffers silently ignores 0's and names that do not correspond to + existing buffer objects. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsBuffer + + + See Also + + glBindBuffer, + glGenBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glDeleteFramebuffers.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteFramebuffers.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glDeleteFramebuffers.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteFramebuffers.xml index 1f7c70ea..aec3e37a 100644 --- a/Source/Bind/Specifications/Docs/glDeleteFramebuffers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteFramebuffers.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDeleteFramebuffers 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glDeleteFramebuffers deletes the n framebuffer objects whose names are stored in the array addressed by framebuffers. The name zero is reserved by the GL and is silently ignored, should it @@ -55,24 +56,24 @@ had been executed with the corresponding target and framebuffer zero. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - See Also + See Also glGenFramebuffers, glBindFramebuffer, glCheckFramebufferStatus - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDeleteProgram.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteProgram.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glDeleteProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteProgram.xml index dae72a3d..7b8b209e 100644 --- a/Source/Bind/Specifications/Docs/glDeleteProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteProgram.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDeleteProgram 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -39,7 +40,7 @@ - Description + Description glDeleteProgram frees the memory and invalidates the name associated with the program object specified by program. This command @@ -63,13 +64,13 @@ with arguments program and GL_DELETE_STATUS. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. - Associated Gets + Associated Gets glGet with argument GL_CURRENT_PROGRAM @@ -79,19 +80,19 @@ glIsProgram - See Also + See Also glCreateShader, glDetachShader, glUseProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDeleteProgramPipelines.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteProgramPipelines.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glDeleteProgramPipelines.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteProgramPipelines.xml index 19da7245..57375794 100644 --- a/Source/Bind/Specifications/Docs/glDeleteProgramPipelines.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteProgramPipelines.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glDeleteProgramPipelines 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glDeleteProgramPipelines deletes the n program pipeline objects whose names are stored in the array pipelines. Unused names in pipelines are @@ -54,12 +55,12 @@ zero and no program pipeline object becomes current. - Associated Gets + Associated Gets glGet with argument GL_PROGRAM_PIPELINE_BINDING - See Also + See Also glGenProgramPipelines, glBindProgramPipeline, @@ -68,12 +69,12 @@ glUseProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glDeleteQueries.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteQueries.xml new file mode 100644 index 00000000..b27f7ca8 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteQueries.xml @@ -0,0 +1,92 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2013 + Khronos Group + + + + glDeleteQueries + 3G + + + glDeleteQueries + delete named query objects + + C Specification + + + void glDeleteQueries + GLsizei n + const GLuint * ids + + + + Parameters + + + n + + + Specifies the number of query objects to be deleted. + + + + + ids + + + Specifies an array of query objects to be deleted. + + + + + + Description + + glDeleteQueries deletes n query objects named by the elements of the array ids. + After a query object is deleted, it has no contents, + and its name is free for reuse (for example by glGenQueries). + + + glDeleteQueries silently ignores 0's and names that do not correspond to + existing query objects. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsQuery + + + See Also + + glBeginQuery, + glEndQuery, + glGenQueries, + glGetQueryiv, + glGetQueryObject + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glDeleteRenderbuffers.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteRenderbuffers.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glDeleteRenderbuffers.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteRenderbuffers.xml index d23bbff0..30c22040 100644 --- a/Source/Bind/Specifications/Docs/glDeleteRenderbuffers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteRenderbuffers.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDeleteRenderbuffers 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glDeleteRenderbuffers deletes the n renderbuffer objects whose names are stored in the array addressed by renderbuffers. The name zero is reserved by the GL and is silently ignored, should it @@ -62,12 +63,12 @@ image is specifically not detached from any non-bound framebuffers. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - See Also + See Also glGenRenderbuffers, glFramebufferRenderbuffer, @@ -75,12 +76,12 @@ glRenderbufferStorageMultisample - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDeleteSamplers.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteSamplers.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glDeleteSamplers.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteSamplers.xml index 6c0ddea0..4dc15d5e 100644 --- a/Source/Bind/Specifications/Docs/glDeleteSamplers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteSamplers.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDeleteSamplers 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glDeleteSamplers deletes n sampler objects named by the elements of the array samplers. After a sampler object is deleted, its name is again unused. If a sampler object that is currently bound to a sampler unit is deleted, it is as @@ -53,22 +54,22 @@ sampler zero. Unused names in samplers are silently ignored, as is the reserved name zero. - Notes + Notes glDeleteSamplers is available only if the GL version is 3.3 or higher. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - Associated Gets + Associated Gets glIsSampler - See Also + See Also glGenSamplers, glBindSampler, @@ -76,12 +77,12 @@ glIsSampler - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDeleteShader.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteShader.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glDeleteShader.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteShader.xml index 49be08a1..3c1c3f93 100644 --- a/Source/Bind/Specifications/Docs/glDeleteShader.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteShader.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDeleteShader 3G @@ -28,7 +29,7 @@ - Parameters + Parameters shader @@ -38,7 +39,7 @@ - Description + Description glDeleteShader frees the memory and invalidates the name associated with the shader object specified by shader. This command effectively @@ -59,13 +60,13 @@ with arguments shader and GL_DELETE_STATUS. - Errors + Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. - Associated Gets + Associated Gets glGetAttachedShaders with the program object to be queried @@ -75,19 +76,19 @@ glIsShader - See Also + See Also glCreateProgram, glCreateShader, glDetachShader, glUseProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDeleteSync.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteSync.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glDeleteSync.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteSync.xml index 0d1518db..df1a18e4 100644 --- a/Source/Bind/Specifications/Docs/glDeleteSync.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteSync.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDeleteSync 3G @@ -24,7 +25,7 @@ - Parameters + Parameters sync @@ -36,7 +37,7 @@ - Description + Description glDeleteSync deletes the sync object specified by sync. If the fence command corresponding to the specified sync object has completed, or if no glWaitSync @@ -51,30 +52,30 @@ glDeleteSync will silently ignore a sync value of zero. - Notes + Notes glSync is only supported if the GL version is 3.2 or greater, or if the ARB_sync extension is supported. - Errors + Errors GL_INVALID_VALUE is generated if sync is neither zero or the name of a sync object. - See Also + See Also glFenceSync, glWaitSync, glClientWaitSync - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDeleteTextures.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteTextures.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glDeleteTextures.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteTextures.xml index 7565eecb..14238595 100644 --- a/Source/Bind/Specifications/Docs/glDeleteTextures.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteTextures.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDeleteTextures 3G @@ -29,7 +30,7 @@ - Parameters + Parameters n @@ -49,7 +50,7 @@ - Description + Description glDeleteTextures deletes n textures named by the elements of the array textures. After a texture is deleted, it has no contents or dimensionality, @@ -62,17 +63,17 @@ existing textures. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - Associated Gets + Associated Gets glIsTexture - See Also + See Also glBindTexture, glCopyTexImage1D, @@ -85,13 +86,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glDeleteTransformFeedbacks.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteTransformFeedbacks.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glDeleteTransformFeedbacks.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteTransformFeedbacks.xml index 1450bf7a..538ed0eb 100644 --- a/Source/Bind/Specifications/Docs/glDeleteTransformFeedbacks.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteTransformFeedbacks.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glDeleteTransformFeedbacks 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glDeleteTransformFeedbacks deletes the n transform feedback objects whose names are stored in the array ids. Unused names in ids are @@ -54,12 +55,12 @@ the underlying object is not deleted until it is no longer active. - Associated Gets + Associated Gets glGet with argument GL_TRANSFORM_FEEDBACK_BINDING - See Also + See Also glGenTransformFeedbacks, glBindTransformFeedback, @@ -70,12 +71,12 @@ glEndTransformFeedback - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDeleteVertexArrays.xml b/Source/Bind/Specifications/Docs/GL4/glDeleteVertexArrays.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glDeleteVertexArrays.xml rename to Source/Bind/Specifications/Docs/GL4/glDeleteVertexArrays.xml index 7795d080..6db17562 100644 --- a/Source/Bind/Specifications/Docs/glDeleteVertexArrays.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDeleteVertexArrays.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDeleteVertexArrays 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glDeleteVertexArrays deletes n vertex array objects whose names are stored in the array addressed by arrays. Once a vertex array object is deleted it has no contents and its name is @@ -53,24 +54,24 @@ and the default vertex array becomes current. Unused names in arrays are silently ignored, as is the value zero. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - See Also + See Also glGenVertexArrays, glIsVertexArray, glBindVertexArray - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glDepthFunc.xml b/Source/Bind/Specifications/Docs/GL4/glDepthFunc.xml new file mode 100644 index 00000000..ac785e14 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glDepthFunc.xml @@ -0,0 +1,176 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glDepthFunc + 3G + + + glDepthFunc + specify the value used for depth buffer comparisons + + C Specification + + + void glDepthFunc + GLenum func + + + + Parameters + + + func + + + Specifies the depth comparison function. + Symbolic constants + GL_NEVER, + GL_LESS, + GL_EQUAL, + GL_LEQUAL, + GL_GREATER, + GL_NOTEQUAL, + GL_GEQUAL, and + GL_ALWAYS are accepted. + The initial value is GL_LESS. + + + + + + Description + + glDepthFunc specifies the function used to compare each incoming pixel depth value + with the depth value present in the depth buffer. + The comparison is performed only if depth testing is enabled. + (See glEnable and glDisable of GL_DEPTH_TEST.) + + + func specifies the conditions under which the pixel will be drawn. + The comparison functions are as follows: + + + + GL_NEVER + + + Never passes. + + + + + GL_LESS + + + Passes if the incoming depth value is less than the stored depth value. + + + + + GL_EQUAL + + + Passes if the incoming depth value is equal to the stored depth value. + + + + + GL_LEQUAL + + + Passes if the incoming depth value is less than or equal to + the stored depth value. + + + + + GL_GREATER + + + Passes if the incoming depth value is greater than the stored depth value. + + + + + GL_NOTEQUAL + + + Passes if the incoming depth value is not equal to the stored depth value. + + + + + GL_GEQUAL + + + Passes if the incoming depth value is greater than or equal to + the stored depth value. + + + + + GL_ALWAYS + + + Always passes. + + + + + + The initial value of func is GL_LESS. + Initially, depth testing is disabled. If depth testing is disabled or if no + depth buffer exists, it is as if the depth test always passes. + + + Notes + + Even if the depth buffer exists and the depth mask is non-zero, the + depth buffer is not updated if the depth test is disabled. In order to + unconditionally write to the depth buffer, the depth test should be enabled + and set to GL_ALWAYS. + + + Errors + + GL_INVALID_ENUM is generated if func is not an accepted value. + + + Associated Gets + + glGet with argument GL_DEPTH_FUNC + + + glIsEnabled with argument GL_DEPTH_TEST + + + See Also + + glDepthRange, + glEnable, + glPolygonOffset + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glDepthMask.xml b/Source/Bind/Specifications/Docs/GL4/glDepthMask.xml similarity index 77% rename from Source/Bind/Specifications/Docs/glDepthMask.xml rename to Source/Bind/Specifications/Docs/GL4/glDepthMask.xml index 8c6fedea..b6fae236 100644 --- a/Source/Bind/Specifications/Docs/glDepthMask.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDepthMask.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDepthMask 3G @@ -28,7 +29,7 @@ - Parameters + Parameters flag @@ -44,7 +45,7 @@ - Description + Description glDepthMask specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE, @@ -53,12 +54,12 @@ Initially, depth buffer writing is enabled. - Associated Gets + Associated Gets glGet with argument GL_DEPTH_WRITEMASK - Notes + Notes Even if the depth buffer exists and the depth mask is non-zero, the depth buffer is not updated if the depth test is disabled. In order to @@ -66,7 +67,7 @@ and set to GL_ALWAYS (see glDepthFunc). - See Also + See Also glColorMask, glDepthFunc, @@ -74,14 +75,14 @@ glStencilMask - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glDepthRange.xml b/Source/Bind/Specifications/Docs/GL4/glDepthRange.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glDepthRange.xml rename to Source/Bind/Specifications/Docs/GL4/glDepthRange.xml index 0051c032..097c0b4a 100644 --- a/Source/Bind/Specifications/Docs/glDepthRange.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDepthRange.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDepthRange 3G @@ -34,7 +35,7 @@ - Parameters + Parameters nearVal @@ -56,11 +57,11 @@ - Description + Description After clipping and division by w, depth coordinates range from - + -1 @@ -82,11 +83,11 @@ the depth buffer range is fully utilized. - Notes + Notes It is not necessary that nearVal be less than farVal. Reverse mappings such as - + nearVal @@ -95,7 +96,7 @@ , and - + farVal @@ -116,12 +117,12 @@ page. - Associated Gets + Associated Gets glGet with argument GL_DEPTH_RANGE - See Also + See Also glDepthFunc, glPolygonOffset, @@ -129,13 +130,13 @@ removedTypes - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glDepthRangeArray.xml b/Source/Bind/Specifications/Docs/GL4/glDepthRangeArray.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glDepthRangeArray.xml rename to Source/Bind/Specifications/Docs/GL4/glDepthRangeArray.xml index 7f5b9617..6d6f05f5 100644 --- a/Source/Bind/Specifications/Docs/glDepthRangeArray.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDepthRangeArray.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDepthRangeArray 3G @@ -26,7 +27,7 @@ - Parameters + Parameters first @@ -55,11 +56,11 @@ - Description + Description After clipping and division by w, depth coordinates range from - + -1 @@ -93,11 +94,11 @@ the depth buffer range is fully utilized. - Notes + Notes It is not necessary that the near plane distance be less than the far plane distance. Reverse mappings such as - + near @@ -106,7 +107,7 @@ , and - + far @@ -124,7 +125,7 @@ page. - Errors + Errors GL_INVALID_VALUE is generated if first is greater than or equal to the value of GL_MAX_VIEWPORTS. @@ -134,12 +135,12 @@ is greater than or equal to the value of GL_MAX_VIEWPORTS. - Associated Gets + Associated Gets glGet with argument GL_DEPTH_RANGE - See Also + See Also glDepthFunc, glDepthRange, @@ -150,12 +151,12 @@ removedTypes - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDepthRangeIndexed.xml b/Source/Bind/Specifications/Docs/GL4/glDepthRangeIndexed.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glDepthRangeIndexed.xml rename to Source/Bind/Specifications/Docs/GL4/glDepthRangeIndexed.xml index 145d0f65..cb776565 100644 --- a/Source/Bind/Specifications/Docs/glDepthRangeIndexed.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDepthRangeIndexed.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDepthRangeIndexed 3G @@ -26,7 +27,7 @@ - Parameters + Parameters index @@ -56,11 +57,11 @@ - Description + Description After clipping and division by w, depth coordinates range from - + -1 @@ -90,11 +91,11 @@ the depth buffer range is fully utilized. - Notes + Notes It is not necessary that the near plane distance be less than the far plane distance. Reverse mappings such as - + nearVal @@ -103,7 +104,7 @@ , and - + farVal @@ -122,18 +123,18 @@ page. - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to the value of GL_MAX_VIEWPORTS. - Associated Gets + Associated Gets glGet with argument GL_DEPTH_RANGE - See Also + See Also glDepthFunc, glDepthRange, @@ -144,12 +145,12 @@ removedTypes - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDetachShader.xml b/Source/Bind/Specifications/Docs/GL4/glDetachShader.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glDetachShader.xml rename to Source/Bind/Specifications/Docs/GL4/glDetachShader.xml index 7b7973f5..3b519578 100644 --- a/Source/Bind/Specifications/Docs/glDetachShader.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDetachShader.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDetachShader 3G @@ -29,7 +30,7 @@ - Parameters + Parameters program @@ -47,7 +48,7 @@ - Description + Description glDetachShader detaches the shader object specified by shader from the program object specified by program. This @@ -60,7 +61,7 @@ and it is not attached to any other program object, it will be deleted after it has been detached. - Errors + Errors GL_INVALID_VALUE is generated if either program or shader is a value that was not generated by OpenGL. @@ -76,7 +77,7 @@ program. - Associated Gets + Associated Gets glGetAttachedShaders with the handle of a valid program object @@ -88,16 +89,16 @@ glIsShader - See Also + See Also glAttachShader - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDispatchCompute.xml b/Source/Bind/Specifications/Docs/GL4/glDispatchCompute.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glDispatchCompute.xml rename to Source/Bind/Specifications/Docs/GL4/glDispatchCompute.xml index c023ad7d..681ba42d 100644 --- a/Source/Bind/Specifications/Docs/glDispatchCompute.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDispatchCompute.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glDispatchCompute 3G @@ -26,7 +27,7 @@ - Parameters + Parameters num_groups_x @@ -54,7 +55,7 @@ - Description + Description glDispatchCompute launches one or more compute work groups. Each work group is processed by the active program object for the compute @@ -65,7 +66,7 @@ work groups that will be dispatched in the X, Y and Z dimensions, respectively. - Errors + Errors GL_INVALID_OPERATION is generated if there is no active program for the compute shader stage. @@ -76,22 +77,22 @@ equal to the maximum work-group count for the corresponding dimension. - Associated Gets + Associated Gets glGet with argument GL_MAX_COMPUTE_WORK_GROUP_COUNT - See Also + See Also glDispatchComputeIndirect. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDispatchComputeIndirect.xml b/Source/Bind/Specifications/Docs/GL4/glDispatchComputeIndirect.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glDispatchComputeIndirect.xml rename to Source/Bind/Specifications/Docs/GL4/glDispatchComputeIndirect.xml index 7af91c58..870e13fe 100644 --- a/Source/Bind/Specifications/Docs/glDispatchComputeIndirect.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDispatchComputeIndirect.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glDispatchComputeIndirect 3G @@ -24,7 +25,7 @@ - Parameters + Parameters indirect @@ -38,7 +39,7 @@ - Description + Description glDispatchComputeIndirect launches one or more compute work groups using parameters stored in the buffer object currently bound @@ -53,17 +54,17 @@ The parameters addressed by indirect are packed a structure, which takes the form (in C): - typedef struct { uint num_groups_x; uint num_groups_y; uint num_groups_z; - } DispatchIndirectCommand;]]> + } DispatchIndirectCommand; A call to glDispatchComputeIndirect is equivalent, assuming no errors are generated, to: - num_groups_x, cmd->num_groups_y, cmd->num_groups_z);]]> + cmd = (const DispatchIndirectCommand *)indirect; + glDispatchComputeIndirect(cmd->num_groups_x, cmd->num_groups_y, cmd->num_groups_z); Unlike glDispatchCompute, @@ -75,7 +76,7 @@ may lead to application termination. - Errors + Errors GL_INVALID_OPERATION is generated if there is no active program for the compute shader stage. @@ -90,22 +91,22 @@ source data beyond the end of the buffer object's data store. - Associated Gets + Associated Gets glGet with argument GL_MAX_COMPUTE_WORK_GROUP_COUNT - See Also + See Also glDispatchCompute. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawArrays.xml b/Source/Bind/Specifications/Docs/GL4/glDrawArrays.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glDrawArrays.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawArrays.xml index 0f895ab7..05897a0c 100644 --- a/Source/Bind/Specifications/Docs/glDrawArrays.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawArrays.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDrawArrays 3G @@ -30,7 +31,7 @@ - Parameters + Parameters mode @@ -71,7 +72,7 @@ - Description + Description glDrawArrays specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL procedure @@ -94,7 +95,7 @@ modified remain well defined. - Notes + Notes GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, @@ -103,7 +104,7 @@ are available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -119,20 +120,20 @@ is incompatible with the input primitive type of the geometry shader in the currently installed program object. - See Also + See Also glDrawArraysInstanced, glDrawElements, glDrawRangeElements, - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glDrawArraysIndirect.xml b/Source/Bind/Specifications/Docs/GL4/glDrawArraysIndirect.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glDrawArraysIndirect.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawArraysIndirect.xml index b03371e8..a5b608b0 100644 --- a/Source/Bind/Specifications/Docs/glDrawArraysIndirect.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawArraysIndirect.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glDrawArraysIndirect 3G @@ -25,7 +26,7 @@ - Parameters + Parameters mode @@ -59,7 +60,7 @@ - Description + Description glDrawArraysIndirect specifies multiple geometric primitives with very few subroutine calls. glDrawArraysIndirect behaves @@ -70,15 +71,15 @@ The parameters addressed by indirect are packed into a structure that takes the form (in C): - typedef struct { uint count; uint primCount; uint first; uint baseInstance; } DrawArraysIndirectCommand; - const DrawArraysIndirectCommand *cmd = (const DrawArraysIndirectCommand *)indirect; - glDrawArraysInstancedBaseInstance(mode, cmd->first, cmd->count, cmd->primCount, cmd->baseInstance);]]> + const DrawArraysIndirectCommand *cmd = (const DrawArraysIndirectCommand *)indirect; + glDrawArraysInstancedBaseInstance(mode, cmd->first, cmd->count, cmd->primCount, cmd->baseInstance); If a buffer is bound to the GL_DRAW_INDIRECT_BUFFER binding at the time @@ -97,7 +98,7 @@ modified remain well defined. - Notes + Notes The baseInstance member of the DrawArraysIndirectCommand structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2, @@ -105,7 +106,7 @@ behavior is undefined if it is non-zero. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -122,7 +123,7 @@ and no tessellation control shader is active. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -130,12 +131,12 @@ glDrawRangeElements, - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawArraysInstanced.xml b/Source/Bind/Specifications/Docs/GL4/glDrawArraysInstanced.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glDrawArraysInstanced.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawArraysInstanced.xml index bf9e3ba5..2d857566 100644 --- a/Source/Bind/Specifications/Docs/glDrawArraysInstanced.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawArraysInstanced.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDrawArraysInstanced 3G @@ -27,7 +28,7 @@ - Parameters + Parameters mode @@ -68,7 +69,7 @@ - Description + Description glDrawArraysInstanced behaves identically to glDrawArrays except that primcount instances of the range of elements are executed and the value of the internal counter @@ -77,18 +78,18 @@ glDrawArraysInstanced has the same effect as: - if ( mode or count is invalid ) generate appropriate error else { - for (int i = 0; i < primcount ; i++) { + for (int i = 0; i < primcount ; i++) { instanceID = i; glDrawArrays(mode, first, count); } instanceID = 0; - }]]> + } - Errors + Errors GL_INVALID_ENUM is generated if mode is not one of the accepted values. @@ -105,18 +106,18 @@ enabled array and the buffer object's data store is currently mapped. - See Also + See Also glDrawArrays, glDrawElementsInstanced - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawArraysInstancedBaseInstance.xml b/Source/Bind/Specifications/Docs/GL4/glDrawArraysInstancedBaseInstance.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glDrawArraysInstancedBaseInstance.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawArraysInstancedBaseInstance.xml index baab38f7..980d5c0d 100644 --- a/Source/Bind/Specifications/Docs/glDrawArraysInstancedBaseInstance.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawArraysInstancedBaseInstance.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glDrawArraysInstancedBaseInstance 3G @@ -28,7 +29,7 @@ - Parameters + Parameters mode @@ -77,7 +78,7 @@ - Description + Description glDrawArraysInstancedBaseInstance behaves identically to glDrawArrays except that primcount instances of the range of elements are executed and the value of the internal counter @@ -86,15 +87,15 @@ glDrawArraysInstancedBaseInstance has the same effect as: - if ( mode or count is invalid ) generate appropriate error else { - for (int i = 0; i < primcount ; i++) { + for (int i = 0; i < primcount ; i++) { instanceID = i; glDrawArrays(mode, first, count); } instanceID = 0; - }]]> + } Specific vertex attributes may be classified as instanced through the use of @@ -102,9 +103,9 @@ supply per-instance vertex data to the vertex shader. The index of the vertex fetched from the enabled instanced vertex attribute arrays is calculated as: - + - + gl @@ -114,7 +115,7 @@ divisor - + + + baseInstance @@ -123,7 +124,7 @@ gl_InstanceID. - Errors + Errors GL_INVALID_ENUM is generated if mode is not one of the accepted values. @@ -140,18 +141,18 @@ enabled array and the buffer object's data store is currently mapped. - See Also + See Also glDrawArrays, glDrawElementsInstanced - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawBuffer.xml b/Source/Bind/Specifications/Docs/GL4/glDrawBuffer.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glDrawBuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawBuffer.xml index 667b7136..9432608f 100644 --- a/Source/Bind/Specifications/Docs/glDrawBuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawBuffer.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDrawBuffer 3G @@ -28,7 +29,7 @@ - Parameters + Parameters mode @@ -54,7 +55,7 @@ - Description + Description When colors are written to the frame buffer, they are written into the color buffers specified by glDrawBuffer. @@ -181,7 +182,7 @@ The context is selected at GL initialization. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -190,12 +191,12 @@ by mode exists. - Associated Gets + Associated Gets glGet with argument GL_DRAW_BUFFER - See Also + See Also glBlendFunc, glColorMask, @@ -204,13 +205,13 @@ glReadBuffer - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glDrawBuffers.xml b/Source/Bind/Specifications/Docs/GL4/glDrawBuffers.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glDrawBuffers.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawBuffers.xml index bb70ce2a..518408f0 100644 --- a/Source/Bind/Specifications/Docs/glDrawBuffers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawBuffers.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDrawBuffers 3G @@ -29,7 +30,7 @@ - Parameters + Parameters n @@ -48,7 +49,7 @@ - Description + Description glDrawBuffers defines an array of buffers into which outputs from the fragment shader data will be written. If a fragment shader writes a value @@ -119,7 +120,7 @@ glGet with the argument GL_MAX_DRAW_BUFFERS. - Notes + Notes The symbolic constants GL_FRONT, GL_BACK, GL_LEFT, @@ -135,7 +136,7 @@ written into each of the buffers specified by bufs. - Errors + Errors GL_INVALID_ENUM is generated if one of the values in bufs is not an accepted value. @@ -168,7 +169,7 @@ GL_MAX_DRAW_BUFFERS. - Associated Gets + Associated Gets glGet with argument GL_MAX_DRAW_BUFFERS @@ -177,20 +178,20 @@ i indicates the number of the draw buffer whose value is to be queried - See Also + See Also glBlendFunc, glColorMask, glDrawBuffers, glLogicOp, glReadBuffer - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawElements.xml b/Source/Bind/Specifications/Docs/GL4/glDrawElements.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glDrawElements.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawElements.xml index 1f80ac48..5c84bee2 100644 --- a/Source/Bind/Specifications/Docs/glDrawElements.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawElements.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDrawElements 3G @@ -31,7 +32,7 @@ - Parameters + Parameters mode @@ -82,7 +83,7 @@ - Description + Description glDrawElements specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL function @@ -105,7 +106,7 @@ modified maintain their previous values. - Notes + Notes GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, @@ -114,7 +115,7 @@ are available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -130,7 +131,7 @@ enabled array or the element array and the buffer object's data store is currently mapped. - See Also + See Also glDrawArrays, glDrawElementsInstanced, @@ -138,13 +139,13 @@ glDrawRangeElements - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glDrawElementsBaseVertex.xml b/Source/Bind/Specifications/Docs/GL4/glDrawElementsBaseVertex.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glDrawElementsBaseVertex.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawElementsBaseVertex.xml index f30f0c8b..39fed923 100644 --- a/Source/Bind/Specifications/Docs/glDrawElementsBaseVertex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawElementsBaseVertex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDrawElementsBaseVertex 3G @@ -28,7 +29,7 @@ - Parameters + Parameters mode @@ -79,7 +80,7 @@ - Description + Description glDrawElementsBaseVertex behaves identically to glDrawElements except that the ith element @@ -89,7 +90,7 @@ The operation is undefined if the sum would be negative. - Notes + Notes glDrawElementsBaseVertex is only supported if the GL version is 3.2 or greater, or if the @@ -97,7 +98,7 @@ supported. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -113,7 +114,7 @@ enabled array or the element array and the buffer object's data store is currently mapped. - See Also + See Also glDrawElements, glDrawRangeElements, @@ -122,12 +123,12 @@ glDrawElementsInstancedBaseVertex - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawElementsIndirect.xml b/Source/Bind/Specifications/Docs/GL4/glDrawElementsIndirect.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glDrawElementsIndirect.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawElementsIndirect.xml index 133e67a8..e548a44e 100644 --- a/Source/Bind/Specifications/Docs/glDrawElementsIndirect.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawElementsIndirect.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glDrawElementsIndirect 3G @@ -26,7 +27,7 @@ - Parameters + Parameters mode @@ -68,7 +69,7 @@ - Description + Description glDrawElementsIndirect specifies multiple indexed geometric primitives with very few subroutine calls. glDrawElementsIndirect behaves @@ -79,29 +80,28 @@ The parameters addressed by indirect are packed into a structure that takes the form (in C): - typedef struct { uint count; uint primCount; uint firstIndex; uint baseVertex; uint baseInstance; - } DrawElementsIndirectCommand;]]> + } DrawElementsIndirectCommand; glDrawElementsIndirect is equivalent to: - void glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect) { const DrawElementsIndirectCommand *cmd = (const DrawElementsIndirectCommand *)indirect; glDrawElementsInstancedBaseVertexBaseInstance(mode, - cmd->count, + cmd->count, type, - cmd->firstIndex + size-of-type, - cmd->primCount, - cmd->baseVertex, - cmd->baseInstance); - }]]> + cmd->firstIndex + size-of-type, + cmd->primCount, + cmd->baseVertex, + cmd->baseInstance); + } If a buffer is bound to the GL_DRAW_INDIRECT_BUFFER binding at the time @@ -123,7 +123,7 @@ modified remain well defined. - Notes + Notes The baseInstance member of the DrawElementsIndirectCommand structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2, @@ -131,7 +131,7 @@ behavior is undefined if it is non-zero. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -152,7 +152,7 @@ and no tessellation control shader is active. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -161,12 +161,12 @@ glDrawRangeElements, - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawElementsInstanced.xml b/Source/Bind/Specifications/Docs/GL4/glDrawElementsInstanced.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glDrawElementsInstanced.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawElementsInstanced.xml index 13f3b204..831c01fa 100644 --- a/Source/Bind/Specifications/Docs/glDrawElementsInstanced.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawElementsInstanced.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDrawElementsInstanced 3G @@ -28,7 +29,7 @@ - Parameters + Parameters mode @@ -86,7 +87,7 @@ - Description + Description glDrawElementsInstanced behaves identically to glDrawElements except that primcount instances of the set of elements are executed and the value of the internal counter @@ -95,18 +96,18 @@ glDrawElementsInstanced has the same effect as: - if (mode, count, or type is invalid ) generate appropriate error else { - for (int i = 0; i < primcount ; i++) { + for (int i = 0; i < primcount ; i++) { instanceID = i; glDrawElements(mode, count, type, indices); } instanceID = 0; - }]]> + } - Notes + Notes glDrawElementsInstanced is available only if the GL version is 3.1 or greater. @@ -118,7 +119,7 @@ are available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not one of GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, @@ -136,18 +137,18 @@ enabled array and the buffer object's data store is currently mapped. - See Also + See Also glDrawElements, glDrawArraysInstanced - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseInstance.xml b/Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseInstance.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseInstance.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseInstance.xml index 72a63ca0..2c889384 100644 --- a/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseInstance.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseInstance.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glDrawElementsInstancedBaseInstance 3G @@ -29,7 +30,7 @@ - Parameters + Parameters mode @@ -95,7 +96,7 @@ - Description + Description glDrawElementsInstancedBaseInstance behaves identically to glDrawElements except that primcount instances of the set of elements are executed and the value of the internal counter @@ -104,15 +105,15 @@ glDrawElementsInstancedBaseInstance has the same effect as: - if (mode, count, or type is invalid ) generate appropriate error else { - for (int i = 0; i < primcount ; i++) { + for (int i = 0; i < primcount ; i++) { instanceID = i; glDrawElements(mode, count, type, indices); } instanceID = 0; - }]]> + } Specific vertex attributes may be classified as instanced through the use of @@ -120,9 +121,9 @@ supply per-instance vertex data to the vertex shader. The index of the vertex fetched from the enabled instanced vertex attribute arrays is calculated as - + - + gl @@ -132,7 +133,7 @@ divisor - + + + baseInstance @@ -141,7 +142,7 @@ shader-visible value of gl_InstanceID. - Notes + Notes glDrawElementsInstancedBaseInstance is available only if the GL version is 4.2 or greater. @@ -153,7 +154,7 @@ are available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not one of GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, @@ -171,18 +172,18 @@ enabled array and the buffer object's data store is currently mapped. - See Also + See Also glDrawElements, glDrawArraysInstanced - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertex.xml b/Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseVertex.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertex.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseVertex.xml index a814c63e..451d9305 100644 --- a/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseVertex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDrawElementsInstancedBaseVertex 3G @@ -29,7 +30,7 @@ - Parameters + Parameters mode @@ -88,7 +89,7 @@ - Description + Description glDrawElementsInstancedBaseVertex behaves identically to glDrawElementsInstanced except that the ith element @@ -98,12 +99,12 @@ The operation is undefined if the sum would be negative. - Notes + Notes glDrawElementsInstancedBaseVertex is only supported if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -119,7 +120,7 @@ enabled array or the element array and the buffer object's data store is currently mapped. - See Also + See Also glDrawElements, glDrawRangeElements, @@ -128,12 +129,12 @@ glDrawElementsInstancedBaseVertex - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertexBaseInstance.xml b/Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseVertexBaseInstance.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertexBaseInstance.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseVertexBaseInstance.xml index a56d788f..35fb8904 100644 --- a/Source/Bind/Specifications/Docs/glDrawElementsInstancedBaseVertexBaseInstance.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawElementsInstancedBaseVertexBaseInstance.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glDrawElementsInstancedBaseVertexBaseInstance 3G @@ -30,7 +31,7 @@ - Parameters + Parameters mode @@ -97,7 +98,7 @@ - Description + Description glDrawElementsInstancedBaseVertexBaseInstance behaves identically to glDrawElementsInstanced except that the ith element @@ -113,9 +114,9 @@ supply per-instance vertex data to the vertex shader. The index of the vertex fetched from the enabled instanced vertex attribute arrays is calculated as - + - + gl @@ -125,7 +126,7 @@ divisor - + + + baseInstance @@ -134,12 +135,12 @@ gl_InstanceID. - Notes + Notes glDrawElementsInstancedBaseVertex is only supported if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -155,7 +156,7 @@ enabled array or the element array and the buffer object's data store is currently mapped. - See Also + See Also glDrawElements, glDrawRangeElements, @@ -164,12 +165,12 @@ glDrawElementsInstancedBaseVertex - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawRangeElements.xml b/Source/Bind/Specifications/Docs/GL4/glDrawRangeElements.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glDrawRangeElements.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawRangeElements.xml index 1b262ff2..c207813a 100644 --- a/Source/Bind/Specifications/Docs/glDrawRangeElements.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawRangeElements.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glDrawRangeElements 3G @@ -33,7 +34,7 @@ - Parameters + Parameters mode @@ -100,7 +101,7 @@ - Description + Description glDrawRangeElements is a restricted form of glDrawElements. mode, start, end, and count match the corresponding arguments to glDrawElements, with @@ -113,7 +114,7 @@ which may be queried by calling glGet with argument GL_MAX_ELEMENTS_VERTICES and GL_MAX_ELEMENTS_INDICES. If - + end @@ -127,7 +128,7 @@ GL_MAX_ELEMENTS_VERTICES, or if count is greater than the value of GL_MAX_ELEMENTS_INDICES, then the call may operate at reduced performance. There is no requirement that all vertices in the range - + start @@ -151,7 +152,7 @@ modified maintain their previous values. - Notes + Notes GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, @@ -160,10 +161,10 @@ are available only if the GL version is 3.2 or greater. - Errors + Errors It is an error for indices to lie outside the range - + start @@ -181,7 +182,7 @@ GL_INVALID_VALUE is generated if - + end @@ -199,7 +200,7 @@ enabled array or the element array and the buffer object's data store is currently mapped. - Associated Gets + Associated Gets glGet with argument GL_MAX_ELEMENTS_VERTICES @@ -207,20 +208,20 @@ glGet with argument GL_MAX_ELEMENTS_INDICES - See Also + See Also glDrawArrays, glDrawElements, glDrawElementsBaseVertex - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glDrawRangeElementsBaseVertex.xml b/Source/Bind/Specifications/Docs/GL4/glDrawRangeElementsBaseVertex.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glDrawRangeElementsBaseVertex.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawRangeElementsBaseVertex.xml index fd6f5571..a628d6a9 100644 --- a/Source/Bind/Specifications/Docs/glDrawRangeElementsBaseVertex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawRangeElementsBaseVertex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glDrawRangeElementsBaseVertex 3G @@ -30,7 +31,7 @@ - Parameters + Parameters mode @@ -97,7 +98,7 @@ - Description + Description glDrawRangeElementsBaseVertex is a restricted form of glDrawElementsBaseVertex. mode, @@ -111,7 +112,7 @@ 32-bit unsigned integers (with wrapping on overflow conditions). The operation is undefined if the sum would be negative. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -130,7 +131,7 @@ enabled array or the element array and the buffer object's data store is currently mapped. - See Also + See Also glDrawElements, glDrawElementsBaseVertex, @@ -139,12 +140,12 @@ glDrawElementsInstancedBaseVertex - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawTransformFeedback.xml b/Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedback.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glDrawTransformFeedback.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedback.xml index 06d12068..b6b125c7 100644 --- a/Source/Bind/Specifications/Docs/glDrawTransformFeedback.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedback.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glDrawTransformFeedback 3G @@ -25,7 +26,7 @@ - Parameters + Parameters mode @@ -59,7 +60,7 @@ - Description + Description glDrawTransformFeedback draws primitives of a type specified by mode using a count retrieved from the transform feedback specified by id. Calling glDrawTransformFeedback @@ -68,7 +69,7 @@ on vertex stream zero the last time transform feedback was active on the transform feedback object named by id. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -93,7 +94,7 @@ has never been called while the transform feedback object named by id was bound. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -102,12 +103,12 @@ glDrawTransformFeedbackStream - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawTransformFeedbackInstanced.xml b/Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackInstanced.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glDrawTransformFeedbackInstanced.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackInstanced.xml index f8071c1d..44159e50 100644 --- a/Source/Bind/Specifications/Docs/glDrawTransformFeedbackInstanced.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackInstanced.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glDrawTransformFeedbackInstanced 3G @@ -26,7 +27,7 @@ - Parameters + Parameters mode @@ -68,7 +69,7 @@ - Description + Description glDrawTransformFeedbackInstanced draws multiple copies of a range of primitives of a type specified by mode using a count retrieved from the transform feedback stream specified by stream of the transform feedback object @@ -85,7 +86,7 @@ with stream set to zero. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -114,7 +115,7 @@ has never been called while the transform feedback object named by id was bound. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -124,12 +125,12 @@ glDrawTransformFeedbackStreamInstanced. - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawTransformFeedbackStream.xml b/Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackStream.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glDrawTransformFeedbackStream.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackStream.xml index a0759676..5b9f9991 100644 --- a/Source/Bind/Specifications/Docs/glDrawTransformFeedbackStream.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackStream.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glDrawTransformFeedbackStream 3G @@ -26,7 +27,7 @@ - Parameters + Parameters mode @@ -68,7 +69,7 @@ - Description + Description glDrawTransformFeedbackStream draws primitives of a type specified by mode using a count retrieved from the transform feedback stream specified by stream of the transform feedback object @@ -83,7 +84,7 @@ with stream set to zero. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -112,7 +113,7 @@ has never been called while the transform feedback object named by id was bound. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -121,12 +122,12 @@ glDrawTransformFeedback - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glDrawTransformFeedbackStreamInstanced.xml b/Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackStreamInstanced.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glDrawTransformFeedbackStreamInstanced.xml rename to Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackStreamInstanced.xml index 25e79c60..75578032 100644 --- a/Source/Bind/Specifications/Docs/glDrawTransformFeedbackStreamInstanced.xml +++ b/Source/Bind/Specifications/Docs/GL4/glDrawTransformFeedbackStreamInstanced.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glDrawTransformFeedbackStreamInstanced 3G @@ -27,7 +28,7 @@ - Parameters + Parameters mode @@ -77,7 +78,7 @@ - Description + Description glDrawTransformFeedbackStreamInstanced draws multiple copies of a range of primitives of a type specified by mode using a count retrieved from the transform feedback stream specified by stream of the transform feedback object @@ -92,7 +93,7 @@ with stream set to zero. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -121,7 +122,7 @@ has never been called while the transform feedback object named by id was bound. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -131,12 +132,12 @@ glDrawTransformFeedbackStream. - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glEnable.xml b/Source/Bind/Specifications/Docs/GL4/glEnable.xml similarity index 95% rename from Source/Bind/Specifications/Docs/glEnable.xml rename to Source/Bind/Specifications/Docs/GL4/glEnable.xml index 0aee15dd..85ff1db8 100644 --- a/Source/Bind/Specifications/Docs/glEnable.xml +++ b/Source/Bind/Specifications/Docs/GL4/glEnable.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2011-2013 Khronos Group - + glEnable 3G @@ -48,7 +49,7 @@ - Parameters + Parameters cap @@ -70,7 +71,7 @@ - Description + Description glEnable and glDisable enable and disable various capabilities. Use @@ -177,7 +178,7 @@ If enabled, the - + -wczcwc plane equation is ignored by view volume clipping (effectively, there is no near or @@ -328,7 +329,7 @@ draw commands which transfers a set of generic attribute array elements to the GL will restart the primitive when the index of the vertex is equal to the fixed primitive index for the specified index type. The fixed index is equal to - 2n1 + 2n1 where n is equal to 8 for GL_UNSIGNED_BYTE, 16 for GL_UNSIGNED_SHORT and 32 for GL_UNSIGNED_INT. @@ -464,7 +465,7 @@ - Errors + Errors GL_INVALID_ENUM is generated if cap is not one of the values listed previously. @@ -474,7 +475,7 @@ if index is greater than or equal to the number of indexed capabilities for cap. - Notes + Notes GL_PRIMITIVE_RESTART is available only if the GL version is 3.1 or greater. @@ -497,7 +498,7 @@ will enable or disable that capability for all indices, resepectively. - Associated Gets + Associated Gets glIsEnabled @@ -505,7 +506,7 @@ glGet - See Also + See Also glActiveTexture, glBlendFunc, @@ -528,13 +529,13 @@ glTexImage3D - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2011-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glEnableVertexAttribArray.xml b/Source/Bind/Specifications/Docs/GL4/glEnableVertexAttribArray.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glEnableVertexAttribArray.xml rename to Source/Bind/Specifications/Docs/GL4/glEnableVertexAttribArray.xml index adee056f..e7369356 100644 --- a/Source/Bind/Specifications/Docs/glEnableVertexAttribArray.xml +++ b/Source/Bind/Specifications/Docs/GL4/glEnableVertexAttribArray.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glEnableVertexAttribArray 3G @@ -34,7 +35,7 @@ - Parameters + Parameters index @@ -45,7 +46,7 @@ - Description + Description glEnableVertexAttribArray enables the generic vertex attribute array specified by index. @@ -63,26 +64,26 @@ or glMultiDrawArrays. - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS glGetVertexAttrib with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED - + glGetVertexAttribPointerv with arguments index and GL_VERTEX_ATTRIB_ARRAY_POINTER - See Also + See Also glBindAttribLocation, glDrawArrays, @@ -93,13 +94,13 @@ glVertexAttribPointer - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glFenceSync.xml b/Source/Bind/Specifications/Docs/GL4/glFenceSync.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glFenceSync.xml rename to Source/Bind/Specifications/Docs/GL4/glFenceSync.xml index 0900029a..dd69a407 100644 --- a/Source/Bind/Specifications/Docs/glFenceSync.xml +++ b/Source/Bind/Specifications/Docs/GL4/glFenceSync.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glFenceSync 3G @@ -25,7 +26,7 @@ - Parameters + Parameters condition @@ -50,7 +51,7 @@ - Description + Description glFenceSync creates a new fence sync object, inserts a fence command into the GL command stream and associates it with that sync object, and returns a non-zero name corresponding to the sync object. @@ -70,13 +71,13 @@ object has been changed, but commands waiting on that sync object may not be unblocked until after the fence command completes. - Notes + Notes glFenceSync is only supported if the GL version is 3.2 or greater, or if the ARB_sync extension is supported. - Errors + Errors GL_INVALID_ENUM is generated if condition is not GL_SYNC_GPU_COMMANDS_COMPLETE. @@ -88,7 +89,7 @@ Additionally, if glFenceSync fails, it will return zero. - See Also + See Also glDeleteSync, glGetSync, @@ -96,12 +97,12 @@ glClientWaitSync - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glFinish.xml b/Source/Bind/Specifications/Docs/GL4/glFinish.xml new file mode 100644 index 00000000..73a8873d --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glFinish.xml @@ -0,0 +1,60 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glFinish + 3G + + + glFinish + block until all GL execution is complete + + C Specification + + + void glFinish + void + + + + Description + + glFinish does not return until the effects of all previously + called GL commands are complete. + Such effects include all changes to GL state, + all changes to connection state, + and all changes to the frame buffer contents. + + + Notes + + glFinish requires a round trip to the server. + + + See Also + + glFlush + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL4/glFlush.xml b/Source/Bind/Specifications/Docs/GL4/glFlush.xml new file mode 100644 index 00000000..76ef6529 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glFlush.xml @@ -0,0 +1,74 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glFlush + 3G + + + glFlush + force execution of GL commands in finite time + + C Specification + + + void glFlush + void + + + + Description + + Different GL implementations buffer commands in several different locations, + including network buffers and the graphics accelerator itself. + glFlush empties all of these buffers, + causing all issued commands to be executed as quickly as + they are accepted by the actual rendering engine. + Though this execution may not be completed in any particular + time period, + it does complete in finite time. + + + Because any GL program might be executed over a network, + or on an accelerator that buffers commands, + all programs should call glFlush whenever they count on having + all of their previously issued commands completed. + For example, + call glFlush before waiting for user input that depends on + the generated image. + + + Notes + + glFlush can return at any time. + It does not wait until the execution of all previously + issued GL commands is complete. + + + See Also + + glFinish + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glFlushMappedBufferRange.xml b/Source/Bind/Specifications/Docs/GL4/glFlushMappedBufferRange.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glFlushMappedBufferRange.xml rename to Source/Bind/Specifications/Docs/GL4/glFlushMappedBufferRange.xml index cd5b14c2..f58bdbc6 100644 --- a/Source/Bind/Specifications/Docs/glFlushMappedBufferRange.xml +++ b/Source/Bind/Specifications/Docs/GL4/glFlushMappedBufferRange.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glFlushMappedBufferRange 3G @@ -26,7 +27,7 @@ - Parameters + Parameters target @@ -59,7 +60,7 @@ - Description + Description glFlushMappedBufferRange indicates that modifications have been made to a range of a mapped buffer. The buffer must previously have been mapped with the GL_MAP_FLUSH_EXPLICIT_BIT flag. offset @@ -68,7 +69,7 @@ multiple times to indicate distinct subranges of the mapping which require flushing. - Notes + Notes The GL_DISPATCH_INDIRECT_BUFFER and GL_SHADER_STORAGE_BUFFER targets are available only if the GL version is 4.3 or greater. @@ -77,7 +78,7 @@ The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_VALUE is generated if offset or length is negative, or if offset + length exceeds the size of the mapping. @@ -90,19 +91,19 @@ mapped, or is mapped without the GL_MAP_FLUSH_EXPLICIT_BIT flag. - See Also + See Also glMapBufferRange, glMapBuffer, glUnmapBuffer - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glFramebufferParameteri.xml b/Source/Bind/Specifications/Docs/GL4/glFramebufferParameteri.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glFramebufferParameteri.xml rename to Source/Bind/Specifications/Docs/GL4/glFramebufferParameteri.xml index d3af2a65..31888280 100644 --- a/Source/Bind/Specifications/Docs/glFramebufferParameteri.xml +++ b/Source/Bind/Specifications/Docs/GL4/glFramebufferParameteri.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glFramebufferParameteri 3G @@ -26,7 +27,7 @@ - Parameters + Parameters target @@ -55,7 +56,7 @@ - Description + Description glFramebufferParameteri modifies the current value of the parameter named pname in the framebuffer bound to target. @@ -130,7 +131,7 @@ - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted framebuffer targets. @@ -155,12 +156,12 @@ GL_INVALID_OPERATION is generated if the default framebuffer is bound to target. - Associated Gets + Associated Gets glGetFramebufferParameteriv. - See Also + See Also glVertexAttribBinding, glVertexAttribFormat, @@ -168,12 +169,12 @@ glVertexBindingDivisor. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glFramebufferRenderbuffer.xml b/Source/Bind/Specifications/Docs/GL4/glFramebufferRenderbuffer.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glFramebufferRenderbuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glFramebufferRenderbuffer.xml index 00e3f382..1dcf74c2 100644 --- a/Source/Bind/Specifications/Docs/glFramebufferRenderbuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glFramebufferRenderbuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glFramebufferRenderbuffer 3G @@ -27,7 +28,7 @@ - Parameters + Parameters target @@ -65,7 +66,7 @@ - Description + Description glFramebufferRenderbuffer attaches a renderbuffer as one of the logical buffers of the currently bound framebuffer object. renderbuffer is the name of the renderbuffer object @@ -93,7 +94,7 @@ which should have the base internal format GL_DEPTH_STENCIL. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted tokens. @@ -104,7 +105,7 @@ GL_INVALID_OPERATION is generated if zero is bound to target. - See Also + See Also glGenFramebuffers, glBindFramebuffer, @@ -115,12 +116,12 @@ glFramebufferTexture3D - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glFramebufferTexture.xml b/Source/Bind/Specifications/Docs/GL4/glFramebufferTexture.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glFramebufferTexture.xml rename to Source/Bind/Specifications/Docs/GL4/glFramebufferTexture.xml index 1517b373..309ac664 100644 --- a/Source/Bind/Specifications/Docs/glFramebufferTexture.xml +++ b/Source/Bind/Specifications/Docs/GL4/glFramebufferTexture.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glFramebufferTexture 3G @@ -52,7 +53,7 @@ - Parameters + Parameters target @@ -102,7 +103,7 @@ - Description + Description glFramebufferTexture, glFramebufferTexture1D, glFramebufferTexture2D, and glFramebufferTexture attach a selected mipmap level or image of a texture object as one of the @@ -173,12 +174,12 @@ not zero, then textarget must be GL_TEXTURE_3D. - Notes + Notes glFramebufferTexture is available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted tokens. @@ -193,7 +194,7 @@ are not compatible. - See Also + See Also glGenFramebuffers, glBindFramebuffer, @@ -204,12 +205,12 @@ glFramebufferTexture3D - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glFramebufferTextureLayer.xml b/Source/Bind/Specifications/Docs/GL4/glFramebufferTextureLayer.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glFramebufferTextureLayer.xml rename to Source/Bind/Specifications/Docs/GL4/glFramebufferTextureLayer.xml index 9adb5fed..528d2739 100644 --- a/Source/Bind/Specifications/Docs/glFramebufferTextureLayer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glFramebufferTextureLayer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glFramebufferTextureLayer 3G @@ -28,7 +29,7 @@ - Parameters + Parameters target @@ -76,7 +77,7 @@ - Description + Description glFramebufferTextureLayer operates like glFramebufferTexture, except that only a single layer of the texture level, given by layer, is attached to the attachment point. @@ -85,7 +86,7 @@ or multisample array texture. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted tokens. @@ -107,7 +108,7 @@ GL_INVALID_OPERATION is generated if texture is not zero or the name of an existing cube map texture. - See Also + See Also glGenFramebuffers, glBindFramebuffer, @@ -116,12 +117,12 @@ glFramebufferTextureFace - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glFrontFace.xml b/Source/Bind/Specifications/Docs/GL4/glFrontFace.xml new file mode 100644 index 00000000..c4ad89f7 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glFrontFace.xml @@ -0,0 +1,100 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glFrontFace + 3G + + + glFrontFace + define front- and back-facing polygons + + C Specification + + + void glFrontFace + GLenum mode + + + + Parameters + + + mode + + + Specifies the orientation of front-facing polygons. + GL_CW and GL_CCW are accepted. + The initial value is GL_CCW. + + + + + + Description + + In a scene composed entirely of opaque closed surfaces, + back-facing polygons are never visible. + Eliminating these invisible polygons has the obvious benefit + of speeding up the rendering of the image. + To enable and disable elimination of back-facing polygons, call glEnable + and glDisable with argument GL_CULL_FACE. + + + The projection of a polygon to window coordinates is said to have + clockwise winding if an imaginary object following the path + from its first vertex, + its second vertex, + and so on, + to its last vertex, + and finally back to its first vertex, + moves in a clockwise direction about the interior of the polygon. + The polygon's winding is said to be counterclockwise if the imaginary + object following the same path moves in a counterclockwise direction + about the interior of the polygon. + glFrontFace specifies whether polygons with clockwise winding in window coordinates, + or counterclockwise winding in window coordinates, + are taken to be front-facing. + Passing GL_CCW to mode selects counterclockwise polygons as + front-facing; + GL_CW selects clockwise polygons as front-facing. + By default, counterclockwise polygons are taken to be front-facing. + + + Errors + + GL_INVALID_ENUM is generated if mode is not an accepted value. + + + Associated Gets + + glGet with argument GL_FRONT_FACE + + + See Also + + glCullFace, + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL4/glGenBuffers.xml b/Source/Bind/Specifications/Docs/GL4/glGenBuffers.xml new file mode 100644 index 00000000..aca6481b --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glGenBuffers.xml @@ -0,0 +1,96 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2013 + Khronos Group + + + + glGenBuffers + 3G + + + glGenBuffers + generate buffer object names + + C Specification + + + void glGenBuffers + GLsizei n + GLuint * buffers + + + + Parameters + + + n + + + Specifies the number of buffer object names to be generated. + + + + + buffers + + + Specifies an array in which the generated buffer object names are stored. + + + + + + Description + + glGenBuffers returns n buffer object names in buffers. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenBuffers. + + + Buffer object names returned by a call to glGenBuffers are not returned by + subsequent calls, unless they are first deleted with + glDeleteBuffers. + + + No buffer objects are associated with the returned buffer object names until they are first bound by calling + glBindBuffer. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsBuffer + + + See Also + + glBindBuffer, + glDeleteBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glGenFramebuffers.xml b/Source/Bind/Specifications/Docs/GL4/glGenFramebuffers.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glGenFramebuffers.xml rename to Source/Bind/Specifications/Docs/GL4/glGenFramebuffers.xml index edddc4b4..d50ee49c 100644 --- a/Source/Bind/Specifications/Docs/glGenFramebuffers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGenFramebuffers.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGenFramebuffers 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glGenFramebuffers returns n framebuffer object names in ids. There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names @@ -60,23 +61,23 @@ but they acquire state and type only when they are first bound. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - See Also + See Also glBindFramebuffer, glDeleteFramebuffers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGenProgramPipelines.xml b/Source/Bind/Specifications/Docs/GL4/glGenProgramPipelines.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glGenProgramPipelines.xml rename to Source/Bind/Specifications/Docs/GL4/glGenProgramPipelines.xml index 5490f0a2..107603ef 100644 --- a/Source/Bind/Specifications/Docs/glGenProgramPipelines.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGenProgramPipelines.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGenProgramPipelines 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glGenProgramPipelines returns n previously unused program pipeline object names in pipelines. These names are marked as used, @@ -53,7 +54,7 @@ acquire program pipeline state only when they are first bound. - Associated Gets + Associated Gets glGet with argument GL_PROGRAM_PIPELINE_BINDING @@ -61,7 +62,7 @@ glIsProgramPipeline - See Also + See Also glDeleteProgramPipelines, glBindProgramPipeline, @@ -70,12 +71,12 @@ glUseProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glGenQueries.xml b/Source/Bind/Specifications/Docs/GL4/glGenQueries.xml new file mode 100644 index 00000000..4a8a1f33 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glGenQueries.xml @@ -0,0 +1,96 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2013 + Khronos Group + + + + glGenQueries + 3G + + + glGenQueries + generate query object names + + C Specification + + + void glGenQueries + GLsizei n + GLuint * ids + + + + Parameters + + + n + + + Specifies the number of query object names to be generated. + + + + + ids + + + Specifies an array in which the generated query object names are stored. + + + + + + Description + + glGenQueries returns n query object names in ids. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenQueries. + + + Query object names returned by a call to glGenQueries are not returned by + subsequent calls, unless they are first deleted with + glDeleteQueries. + + + No query objects are associated with the returned query object names until they are first used by calling + glBeginQuery. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsQuery + + + See Also + + glBeginQuery, + glDeleteQueries, + glEndQuery + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glGenRenderbuffers.xml b/Source/Bind/Specifications/Docs/GL4/glGenRenderbuffers.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glGenRenderbuffers.xml rename to Source/Bind/Specifications/Docs/GL4/glGenRenderbuffers.xml index c572091a..ff34da3a 100644 --- a/Source/Bind/Specifications/Docs/glGenRenderbuffers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGenRenderbuffers.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGenRenderbuffers 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glGenRenderbuffers returns n renderbuffer object names in renderbuffers. There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names @@ -60,23 +61,23 @@ but they acquire state and type only when they are first bound. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - See Also + See Also glFramebufferRenderbuffer, glDeleteRenderbuffers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGenSamplers.xml b/Source/Bind/Specifications/Docs/GL4/glGenSamplers.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glGenSamplers.xml rename to Source/Bind/Specifications/Docs/GL4/glGenSamplers.xml index 2e74a48a..0683348f 100644 --- a/Source/Bind/Specifications/Docs/glGenSamplers.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGenSamplers.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGenSamplers 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glGenSamplers returns n sampler object names in samplers. There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names @@ -60,29 +61,29 @@ but they acquire state and type only when they are first bound. - Notes + Notes glGenSamplers is available only if the GL version is 3.3 or higher. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - See Also + See Also glBindSampler, glIsSampler, glDeleteSamplers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glGenTextures.xml b/Source/Bind/Specifications/Docs/GL4/glGenTextures.xml new file mode 100644 index 00000000..f06e2ce3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glGenTextures.xml @@ -0,0 +1,104 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glGenTextures + 3G + + + glGenTextures + generate texture names + + C Specification + + + void glGenTextures + GLsizei n + GLuint * textures + + + + Parameters + + + n + + + Specifies the number of texture names to be generated. + + + + + textures + + + Specifies an array in which the generated texture names are stored. + + + + + + Description + + glGenTextures returns n texture names in textures. + There is no guarantee that the names form a contiguous set of integers; + however, it is guaranteed that none of the returned names was in use + immediately before the call to glGenTextures. + + + The generated textures have no dimensionality; they assume the dimensionality + of the texture target to which they are first bound + (see glBindTexture). + + + Texture names returned by a call to glGenTextures are not returned by + subsequent calls, unless they are first deleted with + glDeleteTextures. + + + Errors + + GL_INVALID_VALUE is generated if n is negative. + + + Associated Gets + + glIsTexture + + + See Also + + glBindTexture, + glCopyTexImage1D, + glCopyTexImage2D, + glDeleteTextures, + glGet, + glGetTexParameter, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexParameter + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glGenTransformFeedbacks.xml b/Source/Bind/Specifications/Docs/GL4/glGenTransformFeedbacks.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glGenTransformFeedbacks.xml rename to Source/Bind/Specifications/Docs/GL4/glGenTransformFeedbacks.xml index 6983ed77..f33b5849 100644 --- a/Source/Bind/Specifications/Docs/glGenTransformFeedbacks.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGenTransformFeedbacks.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGenTransformFeedbacks 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glGenTransformFeedbacks returns n previously unused transform feedback object names in ids. These names are marked as used, @@ -53,7 +54,7 @@ acquire transform feedback state only when they are first bound. - Associated Gets + Associated Gets glGet with argument GL_TRANSFORM_FEEDBACK_BINDING @@ -61,7 +62,7 @@ glIsTransformFeedback - See Also + See Also glDeleteTransformFeedbacks, glBindTransformFeedback, @@ -72,12 +73,12 @@ glEndTransformFeedback - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGenVertexArrays.xml b/Source/Bind/Specifications/Docs/GL4/glGenVertexArrays.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glGenVertexArrays.xml rename to Source/Bind/Specifications/Docs/GL4/glGenVertexArrays.xml index a67433ab..516fe852 100644 --- a/Source/Bind/Specifications/Docs/glGenVertexArrays.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGenVertexArrays.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGenVertexArrays 3G @@ -25,7 +26,7 @@ - Parameters + Parameters n @@ -45,7 +46,7 @@ - Description + Description glGenVertexArrays returns n vertex array object names in arrays. There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names @@ -60,23 +61,23 @@ but they acquire state and type only when they are first bound. - Errors + Errors GL_INVALID_VALUE is generated if n is negative. - See Also + See Also glBindVertexArray, glDeleteVertexArrays - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGenerateMipmap.xml b/Source/Bind/Specifications/Docs/GL4/glGenerateMipmap.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glGenerateMipmap.xml rename to Source/Bind/Specifications/Docs/GL4/glGenerateMipmap.xml index 05aa7110..8eec83e2 100644 --- a/Source/Bind/Specifications/Docs/glGenerateMipmap.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGenerateMipmap.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGenerateMipmap 3G @@ -24,7 +25,7 @@ - Parameters + Parameters target @@ -39,7 +40,7 @@ - Description + Description glGenerateMipmap generates mipmaps for the texture attached to target of the active texture unit. For cube map textures, @@ -48,7 +49,7 @@ Mipmap generation replaces texel array levels - + @@ -60,13 +61,13 @@ through - + q with arrays derived from the - + @@ -77,7 +78,7 @@ array, regardless of their previous contents. All other mimap arrays, including the - + @@ -90,7 +91,7 @@ The internal formats of the derived mipmap arrays all match those of the - + @@ -101,7 +102,7 @@ array. The contents of the derived arrays are computed by repeated, filtered reduction of the - + @@ -114,7 +115,7 @@ independently. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted texture targets. @@ -125,19 +126,19 @@ target of the active texture unit is not cube complete. - See Also + See Also glTexImage2D, glBindTexture, glGenTextures - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGet.xml b/Source/Bind/Specifications/Docs/GL4/glGet.xml similarity index 97% rename from Source/Bind/Specifications/Docs/glGet.xml rename to Source/Bind/Specifications/Docs/GL4/glGet.xml index 2f3822ce..63437be4 100644 --- a/Source/Bind/Specifications/Docs/glGet.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGet.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGet 3G @@ -97,7 +98,7 @@ - Parameters + Parameters pname @@ -137,7 +138,7 @@ - Description + Description These commands return values for simple state variables in GL. pname is a symbolic constant indicating the state variable to be returned, @@ -158,7 +159,7 @@ normals, however, are returned with a linear mapping that maps 1.0 to the most positive representable integer value and - + -1.0 @@ -299,7 +300,7 @@ are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and - + -1.0 @@ -525,7 +526,7 @@ are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and - + -1.0 @@ -557,7 +558,7 @@ are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and - + -1.0 @@ -1988,15 +1989,15 @@ data returns four values: the - x + x and - y + y window coordinates of the scissor box, followed by its width and height. Initially the - x + x and - y + y window coordinates are both 0 and the width and height are set to the size of the window. See glScissor. @@ -2770,14 +2771,14 @@ When used with non-indexed variants of glGet (such as glGetIntegerv), data returns four values: the - x + x and - y + y window coordinates of the viewport, followed by its width and height. Initially the - x + x and - y + y window coordinates are both set to 0, and the width and height are set to the width and height of the window into which the GL will do its rendering. @@ -2787,14 +2788,14 @@ When used with indexed variants of glGet (such as glGetIntegeri_v), data returns four values: the - x + x and - y + y window coordinates of the indexed viewport, followed by its width and height. Initially the - x + x and - y + y window coordinates are both set to 0, and the width and height are set to the width and height of the window into which the GL will do its rendering. @@ -2853,7 +2854,7 @@ glIsEnabled. - Notes + Notes The following parameters return the associated value for the active texture unit: GL_TEXTURE_1D, GL_TEXTURE_BINDING_1D, @@ -2913,7 +2914,7 @@ the GL version is 4.3 or greater. - Errors + Errors GL_INVALID_ENUM is generated if pname is not an accepted value. @@ -2923,7 +2924,7 @@ index is outside of the valid range for the indexed state target. - See Also + See Also glGetActiveUniform, glGetAttachedShaders, @@ -2951,12 +2952,12 @@ glIsEnabled - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveAtomicCounterBufferiv.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveAtomicCounterBufferiv.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glGetActiveAtomicCounterBufferiv.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveAtomicCounterBufferiv.xml index f48755f9..73308d5c 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveAtomicCounterBufferiv.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveAtomicCounterBufferiv.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group. - + glGetActiveAtomicCounterBufferiv 3G @@ -27,7 +28,7 @@ - Parameters + Parameters program @@ -63,7 +64,7 @@ - Description + Description glGetActiveAtomicCounterBufferiv retrieves information about the set of active atomic counter buffers for a program object. program is the name of a program @@ -114,7 +115,7 @@ respectively, is returned. - Notes + Notes glGetActiveAtomicCounterBufferiv is available only if the GL version is 4.2 or higher. @@ -124,7 +125,7 @@ only of the GL version is 4.3 or higher. - Errors + Errors GL_INVALID_VALUE is generated if program is not the name of a program object for which glLinkProgram has been called in the past. @@ -137,7 +138,7 @@ GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. - See Also + See Also glGetProgram, glGetActiveSubroutineUniform, @@ -145,12 +146,12 @@ glGetUniformLocation - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveAttrib.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveAttrib.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glGetActiveAttrib.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveAttrib.xml index fcb23080..4c920d35 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveAttrib.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveAttrib.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetActiveAttrib 3G @@ -34,7 +35,7 @@ - Parameters + Parameters program @@ -91,7 +92,7 @@ - Description + Description glGetActiveAttrib returns information about an active attribute variable in the program object specified by program. The number of @@ -201,7 +202,7 @@ type, and name will be unmodified. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -217,7 +218,7 @@ GL_INVALID_VALUE is generated if bufSize is less than 0. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS. @@ -227,19 +228,19 @@ glIsProgram - See Also + See Also glBindAttribLocation, glLinkProgram, glVertexAttrib, glVertexAttribPointer - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveSubroutineName.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineName.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glGetActiveSubroutineName.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineName.xml index 11d2895e..02eb455d 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveSubroutineName.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineName.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGetActiveSubroutineName 3G @@ -29,7 +30,7 @@ - Parameters + Parameters program @@ -81,7 +82,7 @@ - Description + Description glGetActiveSubroutineName queries the name of an active shader subroutine uniform from the program object given in program. index specifies the index of @@ -96,7 +97,7 @@ including the null-terminator, is given in bufsize. - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to the value of GL_ACTIVE_SUBROUTINES. @@ -106,24 +107,24 @@ existing program object. - Associated Gets + Associated Gets glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH - See Also + See Also glGetSubroutineIndex, glGetActiveSubroutineUniform, glGetProgramStage - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniform.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineUniform.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glGetActiveSubroutineUniform.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineUniform.xml index 2641f77c..527f66d8 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniform.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineUniform.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGetActiveSubroutineUniform 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -77,7 +78,7 @@ - Description + Description glGetActiveSubroutineUniform queries a parameter of an active shader subroutine uniform. program contains the name of the program containing the uniform. shadertype @@ -104,7 +105,7 @@ the subroutine uniform name (including the terminating null character) is returned in values. - Errors + Errors GL_INVALID_ENUM is generated if shadertype or pname is not one of the accepted values. @@ -118,24 +119,24 @@ existing program object. - Associated Gets + Associated Gets glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORMS - See Also + See Also glGetSubroutineIndex, glGetActiveSubroutineUniformName, glGetProgramStage - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniformName.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineUniformName.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glGetActiveSubroutineUniformName.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineUniformName.xml index 2bfe9f9f..fb8bd247 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveSubroutineUniformName.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveSubroutineUniformName.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGetActiveSubroutineUniformName 3G @@ -29,7 +30,7 @@ - Parameters + Parameters program @@ -84,7 +85,7 @@ - Description + Description glGetActiveSubroutineUniformName retrieves the name of an active shader subroutine uniform. program contains the name of the program containing the uniform. shadertype @@ -102,7 +103,7 @@ glGetProgramStage. - Errors + Errors GL_INVALID_ENUM is generated if shadertype or pname is not one of the accepted values. @@ -116,24 +117,24 @@ existing program object. - Associated Gets + Associated Gets glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORMS - See Also + See Also glGetSubroutineIndex, glGetActiveSubroutineUniform, glGetProgramStage - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniform.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniform.xml similarity index 97% rename from Source/Bind/Specifications/Docs/glGetActiveUniform.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveUniform.xml index 984771ad..038f88b9 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveUniform.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniform.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetActiveUniform 3G @@ -34,7 +35,7 @@ - Parameters + Parameters program @@ -91,7 +92,7 @@ - Description + Description glGetActiveUniform returns information about an active uniform variable in the program object specified by program. The number @@ -150,8 +151,8 @@ table below. - - + + @@ -1053,7 +1054,7 @@ type, and name will be unmodified. - Notes + Notes The double types, GL_DOUBLE, GL_DOUBLE_VEC2, GL_DOUBLE_VEC3, GL_DOUBLE_VEC4, @@ -1102,7 +1103,7 @@ version is 4.2 or higher. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -1118,7 +1119,7 @@ GL_INVALID_VALUE is generated if bufSize is less than 0. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL_MAX_GEOMETRY_UNIFORM_COMPONENTS, @@ -1132,20 +1133,20 @@ glIsProgram - See Also + See Also glGetUniform, glGetUniformLocation, glLinkProgram, glUniform, glUseProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniformBlock.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniformBlock.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glGetActiveUniformBlock.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveUniformBlock.xml index c5cb4acc..dfe15334 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveUniformBlock.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniformBlock.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetActiveUniformBlock 3G @@ -27,7 +28,7 @@ - Parameters + Parameters program @@ -63,7 +64,7 @@ - Description + Description glGetActiveUniformBlockiv retrieves information about an active uniform block within program. @@ -116,7 +117,7 @@ programming stages of program, respectively, is returned. - Errors + Errors GL_INVALID_VALUE is generated if uniformBlockIndex is greater than or equal to the value of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program. @@ -129,7 +130,7 @@ glLinkProgram has been called in the past. - Notes + Notes glGetActiveUniformBlockiv is available only if the GL version is 3.1 or greater. @@ -138,19 +139,19 @@ or greater. - See Also + See Also glGetActiveUniformBlockName, glGetUniformBlockIndex, glLinkProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniformBlockName.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniformBlockName.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glGetActiveUniformBlockName.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveUniformBlockName.xml index e6bdb94a..ff251c54 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveUniformBlockName.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniformBlockName.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetActiveUniformBlockName 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -72,7 +73,7 @@ - Description + Description glGetActiveUniformBlockName retrieves the name of the active uniform block at uniformBlockIndex within program. @@ -100,7 +101,7 @@ If an error occurs, nothing will be written to uniformBlockName or length. - Errors + Errors GL_INVALID_OPERATION is generated if program is not the name of a program object for which glLinkProgram has been called in the past. @@ -110,23 +111,23 @@ of GL_ACTIVE_UNIFORM_BLOCKS or is not the index of an active uniform block in program. - Notes + Notes glGetActiveUniformBlockName is available only if the GL version is 3.1 or greater. - See Also + See Also glGetActiveUniformBlock, glGetUniformBlockIndex - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniformName.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniformName.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glGetActiveUniformName.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveUniformName.xml index 99f8e010..b08c436d 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveUniformName.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniformName.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetActiveUniformName 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -72,7 +73,7 @@ - Description + Description glGetActiveUniformName returns the name of the active uniform at uniformIndex within program. If uniformName is not NULL, up to bufSize characters (including a nul-terminator) will be written into @@ -99,7 +100,7 @@ glGetProgram. - Errors + Errors GL_INVALID_VALUE is generated if uniformIndex is greater than or equal to the value of GL_ACTIVE_UNIFORMS. @@ -112,7 +113,7 @@ glLinkProgram has been issued. - See Also + See Also glGetActiveUniform, glGetUniformIndices, @@ -120,12 +121,12 @@ glLinkProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetActiveUniformsiv.xml b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniformsiv.xml similarity index 97% rename from Source/Bind/Specifications/Docs/glGetActiveUniformsiv.xml rename to Source/Bind/Specifications/Docs/GL4/glGetActiveUniformsiv.xml index 2e6e82c5..221af63f 100644 --- a/Source/Bind/Specifications/Docs/glGetActiveUniformsiv.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetActiveUniformsiv.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glGetActiveUniformsiv 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -74,7 +75,7 @@ - Description + Description glGetActiveUniformsiv queries the value of the parameter named pname for each of the @@ -94,8 +95,8 @@ types can be any of the values from the following table: - - + + @@ -758,7 +759,7 @@ to query the properties of the associated buffer, and not necessarily the binding point specified in the uniform declaration. - Notes + Notes The double types, GL_DOUBLE, GL_DOUBLE_VEC2, GL_DOUBLE_VEC3, GL_DOUBLE_VEC4, @@ -774,7 +775,7 @@ if the GL version is 4.2 or higher. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -790,7 +791,7 @@ GL_INVALID_ENUM is generated if pname is not an accepted token. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS, @@ -805,7 +806,7 @@ glIsProgram - See Also + See Also glGetUniform, glGetActiveUniform, glGetUniformLocation, @@ -813,12 +814,12 @@ glUniform, glUseProgram - Copyright + Copyright - Copyright 2011-2013 Khronos Group + Copyright 2011-2013 Khronos Group This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetAttachedShaders.xml b/Source/Bind/Specifications/Docs/GL4/glGetAttachedShaders.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glGetAttachedShaders.xml rename to Source/Bind/Specifications/Docs/GL4/glGetAttachedShaders.xml index 5c7b2fa1..4624322e 100644 --- a/Source/Bind/Specifications/Docs/glGetAttachedShaders.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetAttachedShaders.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetAttachedShaders 3G @@ -31,7 +32,7 @@ - Parameters + Parameters program @@ -63,7 +64,7 @@ - Description + Description glGetAttachedShaders returns the names of the shader objects attached to program. The names of shader objects that @@ -87,7 +88,7 @@ glGetProgram with the value GL_ATTACHED_SHADERS. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -99,23 +100,23 @@ maxCount is less than 0. - Associated Gets + Associated Gets glGetProgram with argument GL_ATTACHED_SHADERS glIsProgram - See Also + See Also glAttachShader, glDetachShader. - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetAttribLocation.xml b/Source/Bind/Specifications/Docs/GL4/glGetAttribLocation.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glGetAttribLocation.xml rename to Source/Bind/Specifications/Docs/GL4/glGetAttribLocation.xml index 9416f182..cc59a9f4 100644 --- a/Source/Bind/Specifications/Docs/glGetAttribLocation.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetAttribLocation.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetAttribLocation 3G @@ -29,7 +30,7 @@ - Parameters + Parameters program @@ -48,7 +49,7 @@ - Description + Description glGetAttribLocation queries the previously linked program object specified by program for the attribute variable @@ -77,7 +78,7 @@ that have been specified since the last link operation are not returned by glGetAttribLocation. - Errors + Errors GL_INVALID_OPERATION is generated if program is not a value generated by OpenGL. @@ -90,26 +91,26 @@ linked. - Associated Gets + Associated Gets glGetActiveAttrib with argument program and the index of an active attribute glIsProgram - See Also + See Also glBindAttribLocation, glLinkProgram, glVertexAttrib, glVertexAttribPointer - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetBufferParameter.xml b/Source/Bind/Specifications/Docs/GL4/glGetBufferParameter.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glGetBufferParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glGetBufferParameter.xml index 45cd957d..0521c866 100644 --- a/Source/Bind/Specifications/Docs/glGetBufferParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetBufferParameter.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetBufferParameteriv 3G @@ -38,7 +39,7 @@ - Parameters + Parameters target @@ -83,7 +84,7 @@ - Description + Description glGetBufferParameteriv returns in data a selected parameter of the buffer object specified by target. @@ -130,7 +131,7 @@ - Notes + Notes If an error is generated, no change is made to the contents of data. @@ -145,7 +146,7 @@ The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target or value is not an accepted value. @@ -154,7 +155,7 @@ GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. - See Also + See Also glBindBuffer, glBufferData, @@ -162,13 +163,13 @@ glUnmapBuffer - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetBufferPointerv.xml b/Source/Bind/Specifications/Docs/GL4/glGetBufferPointerv.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glGetBufferPointerv.xml rename to Source/Bind/Specifications/Docs/GL4/glGetBufferPointerv.xml index 805eeec3..db3a3b4c 100644 --- a/Source/Bind/Specifications/Docs/glGetBufferPointerv.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetBufferPointerv.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2011-2013 Khronos Group - + glGetBufferPointerv 3G @@ -30,7 +31,7 @@ - Parameters + Parameters target @@ -73,7 +74,7 @@ - Description + Description glGetBufferPointerv returns pointer information. pname is a symbolic constant indicating the pointer to be returned, which must be GL_BUFFER_MAP_POINTER, the pointer @@ -81,7 +82,7 @@ params is a pointer to a location in which to place the returned pointer value. - Notes + Notes If an error is generated, no change is made to the contents of params. @@ -99,7 +100,7 @@ The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. @@ -108,19 +109,19 @@ GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. - See Also + See Also glBindBuffer, glMapBuffer - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2011-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetBufferSubData.xml b/Source/Bind/Specifications/Docs/GL4/glGetBufferSubData.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glGetBufferSubData.xml rename to Source/Bind/Specifications/Docs/GL4/glGetBufferSubData.xml index c11915c9..ead918cc 100644 --- a/Source/Bind/Specifications/Docs/glGetBufferSubData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetBufferSubData.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2011-2013 Khronos Group - + glGetBufferSubData 3G @@ -31,7 +32,7 @@ - Parameters + Parameters target @@ -82,7 +83,7 @@ - Description + Description glGetBufferSubData returns some or all of the data from the buffer object currently bound to target. Data starting at byte offset offset and @@ -92,7 +93,7 @@ of the buffer object's data store. - Notes + Notes If an error is generated, no change is made to the contents of data. @@ -107,7 +108,7 @@ The GL_QUERY_RESULT_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, @@ -125,7 +126,7 @@ GL_INVALID_OPERATION is generated if the buffer object being queried is mapped. - See Also + See Also glBindBuffer, glBufferData, @@ -134,13 +135,13 @@ glUnmapBuffer - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2011-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetCompressedTexImage.xml b/Source/Bind/Specifications/Docs/GL4/glGetCompressedTexImage.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glGetCompressedTexImage.xml rename to Source/Bind/Specifications/Docs/GL4/glGetCompressedTexImage.xml index eda13553..47188983 100644 --- a/Source/Bind/Specifications/Docs/glGetCompressedTexImage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetCompressedTexImage.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetCompressedTexImage 3G @@ -30,7 +31,7 @@ - Parameters + Parameters target @@ -55,9 +56,9 @@ Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level - n + n is the - nth + nth mipmap reduction image. @@ -72,7 +73,7 @@ - Description + Description glGetCompressedTexImage returns the compressed texture image associated with target and lod into img. img should be an array of @@ -101,7 +102,7 @@ texture or subtexture loading routine used for loading target textures. - Errors + Errors GL_INVALID_VALUE is generated if lod is less than zero or greater than the maximum number of LODs permitted by the implementation. @@ -120,7 +121,7 @@ object such that the memory writes required would exceed the data store size. - Associated Gets + Associated Gets glGetTexLevelParameter with argument GL_TEXTURE_COMPRESSED @@ -134,7 +135,7 @@ glGet with argument GL_PIXEL_PACK_BUFFER_BINDING - See Also + See Also glActiveTexture, glCompressedTexImage1D, @@ -153,13 +154,13 @@ glTexSubImage3D - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glGetDebugMessageLog.xml b/Source/Bind/Specifications/Docs/GL4/glGetDebugMessageLog.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glGetDebugMessageLog.xml rename to Source/Bind/Specifications/Docs/GL4/glGetDebugMessageLog.xml index eb3dc2d0..ac94fb70 100644 --- a/Source/Bind/Specifications/Docs/glGetDebugMessageLog.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetDebugMessageLog.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetDebugMessageLog 3G @@ -31,7 +32,7 @@ - Parameters + Parameters count @@ -99,7 +100,7 @@ - Description + Description glGetDebugMessageLog retrieves messages from the debug message log. A maximum of count messages are retrieved from the log. If sources @@ -127,19 +128,19 @@ is NULL then no messages are written and the value of bufSize is ignored. - Notes + Notes Although debug messages may be enabled in a non-debug context, the quantity and detail of such messages may be substantially inferior to those in a debug context. In particular, a valid implementation of the debug message queue in a non-debug context may produce no messages at all. - Errors + Errors GL_INVALID_VALUE is generated if count or bufSize is negative. - Associated Gets + Associated Gets glGet with argument GL_DEBUG_LOGGED_MESSAGES @@ -153,19 +154,19 @@ glGet with argument GL_MAX_DEBUG_LOGGED_MESSAGES - See Also + See Also glDebugMessageInsert, glDebugMessageCallback, glDebugMessageControl. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetError.xml b/Source/Bind/Specifications/Docs/GL4/glGetError.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glGetError.xml rename to Source/Bind/Specifications/Docs/GL4/glGetError.xml index 3caced5a..c8714302 100644 --- a/Source/Bind/Specifications/Docs/glGetError.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetError.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetError 3G @@ -28,7 +29,7 @@ - Description + Description glGetError returns the value of the error flag. Each detectable error is assigned a numeric code and symbolic name. @@ -150,14 +151,14 @@ If glGetError itself generates an error, it returns 0. - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glGetFragDataIndex.xml b/Source/Bind/Specifications/Docs/GL4/glGetFragDataIndex.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glGetFragDataIndex.xml rename to Source/Bind/Specifications/Docs/GL4/glGetFragDataIndex.xml index 72f3f471..28ef2bbc 100644 --- a/Source/Bind/Specifications/Docs/glGetFragDataIndex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetFragDataIndex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetFragDataIndex 3G @@ -25,7 +26,7 @@ - Parameters + Parameters program @@ -45,24 +46,24 @@ - Description + Description glGetFragDataIndex returns the index of the fragment color to which the variable name was bound when the program object program was last linked. If name is not a varying out variable of program, or if an error occurs, -1 will be returned. - Notes + Notes glGetFragDataIndex is available only if the GL version is 3.3 or greater. - Errors + Errors GL_INVALID_OPERATION is generated if program is not the name of a program object. - See Also + See Also glCreateProgram, glBindFragDataLocation, @@ -70,12 +71,12 @@ glGetFragDataLocation - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetFragDataLocation.xml b/Source/Bind/Specifications/Docs/GL4/glGetFragDataLocation.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glGetFragDataLocation.xml rename to Source/Bind/Specifications/Docs/GL4/glGetFragDataLocation.xml index d39f9a11..caa12f54 100644 --- a/Source/Bind/Specifications/Docs/glGetFragDataLocation.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetFragDataLocation.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetFragDataLocation 3G @@ -25,7 +26,7 @@ - Parameters + Parameters program @@ -45,7 +46,7 @@ - Description + Description glGetFragDataLocation retrieves the assigned color number binding for the user-defined varying out variable name for program program. program @@ -54,23 +55,23 @@ be returned. - Errors + Errors GL_INVALID_OPERATION is generated if program is not the name of a program object. - See Also + See Also glCreateProgram, glBindFragDataLocation - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetFramebufferAttachmentParameter.xml b/Source/Bind/Specifications/Docs/GL4/glGetFramebufferAttachmentParameter.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glGetFramebufferAttachmentParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glGetFramebufferAttachmentParameter.xml index 3ed7cdbb..5e717c99 100644 --- a/Source/Bind/Specifications/Docs/glGetFramebufferAttachmentParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetFramebufferAttachmentParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetFramebufferAttachmentParameteriv 3G @@ -27,7 +28,7 @@ - Parameters + Parameters target @@ -63,7 +64,7 @@ - Description + Description glGetFramebufferAttachmentParameteriv returns information about attachments of a bound framebuffer object. target specifies the framebuffer binding point and must be GL_DRAW_FRAMEBUFFER, @@ -194,7 +195,7 @@ Any combinations of framebuffer type and pname not described above will generate an error. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted tokens. @@ -215,18 +216,18 @@ GL_NONE and pname is not GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME. - See Also + See Also glGenFramebuffers, glBindFramebuffer - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetFramebufferParameter.xml b/Source/Bind/Specifications/Docs/GL4/glGetFramebufferParameter.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glGetFramebufferParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glGetFramebufferParameter.xml index 15af3fc8..45d19d2e 100644 --- a/Source/Bind/Specifications/Docs/glGetFramebufferParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetFramebufferParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetFramebufferParameter 3G @@ -26,7 +27,7 @@ - Parameters + Parameters target @@ -55,7 +56,7 @@ - Description + Description glGetFramebufferParameter retrieves the current value of the parameter named pname from the framebuffer bound to target. @@ -118,7 +119,7 @@ - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted framebuffer targets. @@ -135,22 +136,22 @@ undefined behavior, including process termination may occur. - Associated Gets + Associated Gets glGetFramebufferParameteriv. - See Also + See Also glFramebufferParameteri. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetInternalformat.xml b/Source/Bind/Specifications/Docs/GL4/glGetInternalformat.xml similarity index 97% rename from Source/Bind/Specifications/Docs/glGetInternalformat.xml rename to Source/Bind/Specifications/Docs/GL4/glGetInternalformat.xml index 016d276e..e07dbf18 100644 --- a/Source/Bind/Specifications/Docs/glGetInternalformat.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetInternalformat.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group. - + glGetInternalformat 3G @@ -36,7 +37,7 @@ - Parameters + Parameters target @@ -84,7 +85,7 @@ - Description + Description glGetInternalformativ and glGetInternalformati64v retrieve information about implementation-dependent support for internal formats. target indicates the target with which the internal format will @@ -363,7 +364,7 @@ full support, limited support or no support at all, respectively. If the resource or operation is not supported, GL_NONE is returned. - Notes + Notes glGetInternalformativ is available only if the GL version is 4.2 or higher. @@ -449,7 +450,7 @@ if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_VALUE is generated if bufSize is negative. @@ -464,17 +465,17 @@ GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_RENDERBUFFER. - See Also + See Also glGet - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetMultisample.xml b/Source/Bind/Specifications/Docs/GL4/glGetMultisample.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glGetMultisample.xml rename to Source/Bind/Specifications/Docs/GL4/glGetMultisample.xml index 6c1924cc..648128df 100644 --- a/Source/Bind/Specifications/Docs/glGetMultisample.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetMultisample.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetMultisamplefv 3G @@ -26,7 +27,7 @@ - Parameters + Parameters pname @@ -54,7 +55,7 @@ - Description + Description glGetMultisamplefv queries the location of a given sample. pname specifies the @@ -75,7 +76,7 @@ within some pixels. - Errors + Errors GL_INVALID_ENUM is generated if pname is not one GL_SAMPLE_POSITION. @@ -84,18 +85,18 @@ GL_SAMPLES. - See Also + See Also glGenFramebuffers, glBindFramebuffer - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetObjectLabel.xml b/Source/Bind/Specifications/Docs/GL4/glGetObjectLabel.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glGetObjectLabel.xml rename to Source/Bind/Specifications/Docs/GL4/glGetObjectLabel.xml index 2ebf0c6e..fa670f5d 100644 --- a/Source/Bind/Specifications/Docs/glGetObjectLabel.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetObjectLabel.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetObjectLabel 3G @@ -28,7 +29,7 @@ - Parameters + Parameters identifier @@ -72,7 +73,7 @@ - Description + Description glGetObjectLabel retrieves the label of the object identified by name within the namespace given by identifier. @@ -92,7 +93,7 @@ is NULL, or if bufSize is zero then no data is written to label. - Errors + Errors GL_INVALID_ENUM is generated if identifier is not one of the accepted object types. @@ -111,12 +112,12 @@ may occur. - Associated Gets + Associated Gets glGet with argument GL_MAX_LABEL_LENGTH. - See Also + See Also glPushDebugGroup, glPopDebugGroup, @@ -124,12 +125,12 @@ glGetObjectPtrLabel. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetObjectPtrLabel.xml b/Source/Bind/Specifications/Docs/GL4/glGetObjectPtrLabel.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glGetObjectPtrLabel.xml rename to Source/Bind/Specifications/Docs/GL4/glGetObjectPtrLabel.xml index 492e05b9..79b2810d 100644 --- a/Source/Bind/Specifications/Docs/glGetObjectPtrLabel.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetObjectPtrLabel.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetObjectPtrLabel 3G @@ -27,7 +28,7 @@ - Parameters + Parameters ptr @@ -63,7 +64,7 @@ - Description + Description glGetObjectPtrLabel retrieves the label of the sync object identified by ptr. @@ -76,7 +77,7 @@ is NULL, or if bufSize is zero then no data is written to label. - Errors + Errors GL_INVALID_ENUM is generated if identifier is not one of the accepted object types. @@ -95,12 +96,12 @@ may occur. - Associated Gets + Associated Gets glGet with argument GL_MAX_LABEL_LENGTH. - See Also + See Also glPushDebugGroup, glPopDebugGroup, @@ -108,12 +109,12 @@ glGetObjectLabel. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgram.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgram.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glGetProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgram.xml index 2aef7839..0e1960a5 100644 --- a/Source/Bind/Specifications/Docs/glGetProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgram.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetProgram 3G @@ -30,7 +31,7 @@ - Parameters + Parameters program @@ -74,7 +75,7 @@ - Description + Description glGetProgram returns in params the value of a parameter for a specific program object. The following parameters are defined: @@ -304,7 +305,7 @@ - Notes + Notes GL_ACTIVE_UNIFORM_BLOCKS and GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH @@ -323,7 +324,7 @@ If an error is generated, no change is made to the contents of params. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -346,7 +347,7 @@ does not contain a binary for the compute shader stage. - Associated Gets + Associated Gets glGetActiveAttrib with argument program @@ -360,9 +361,9 @@ with argument program glIsProgram - + - See Also + See Also glAttachShader, glCreateProgram, glDeleteProgram, @@ -370,13 +371,13 @@ glLinkProgram, glValidateProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramBinary.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramBinary.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glGetProgramBinary.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramBinary.xml index 784e45db..77f0ae16 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramBinary.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramBinary.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetProgramBinary 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -72,7 +73,7 @@ - Description + Description glGetProgramBinary returns a binary representation of the compiled and linked executable for program into the array of bytes whose @@ -92,7 +93,7 @@ in the binary parameter. - Errors + Errors GL_INVALID_OPERATION is generated if bufSize is less than the size of GL_PROGRAM_BINARY_LENGTH for program. @@ -102,23 +103,23 @@ program object is false. - Associated Gets + Associated Gets glGetProgram with argument GL_PROGRAM_BINARY_LENGTH - See Also + See Also glGetProgram, glProgramBinary - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramInfoLog.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramInfoLog.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glGetProgramInfoLog.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramInfoLog.xml index abccc893..c3b78068 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramInfoLog.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramInfoLog.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetProgramInfoLog 3G @@ -31,7 +32,7 @@ - Parameters + Parameters program @@ -64,7 +65,7 @@ - Description + Description glGetProgramInfoLog returns the information log for the specified program object. The information log for a program object is modified when the @@ -92,7 +93,7 @@ is created, its information log will be a string of length 0. - Notes + Notes The information log for a program object is the OpenGL implementer's primary mechanism for conveying information about linking and validating. Therefore, the information log can be @@ -101,7 +102,7 @@ developers should not expect different OpenGL implementations to produce identical information logs. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -113,25 +114,25 @@ maxLength is less than 0. - Associated Gets + Associated Gets glGetProgram with argument GL_INFO_LOG_LENGTH glIsProgram - See Also + See Also glCompileShader, glGetShaderInfoLog, glLinkProgram, glValidateProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramInterface.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramInterface.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glGetProgramInterface.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramInterface.xml index 77910833..352916b4 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramInterface.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramInterface.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetProgramInterface 3G @@ -27,7 +28,7 @@ - Parameters + Parameters program @@ -63,7 +64,7 @@ - Description + Description glGetProgramInterfaceiv queries the property of the interface identifed by programInterface in program, the property name of @@ -220,7 +221,7 @@ GL_COMPUTE_SUBROUTINE_UNIFORM. - Errors + Errors GL_INVALID_ENUM is generated if identifier is not one of the accepted object types. @@ -250,12 +251,12 @@ may occur. - Associated Gets + Associated Gets glGet with argument GL_MAX_LABEL_LENGTH. - See Also + See Also glPushDebugGroup, glPopDebugGroup, @@ -263,12 +264,12 @@ glGetObjectLabel. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramPipeline.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramPipeline.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glGetProgramPipeline.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramPipeline.xml index 588618d9..b8883084 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramPipeline.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramPipeline.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetProgramPipeline 3G @@ -26,7 +27,7 @@ - Parameters + Parameters pipeline @@ -55,7 +56,7 @@ - Description + Description glGetProgramPipelineiv retrieves the value of a property of the program pipeline object pipeline. pname specifies the @@ -97,7 +98,7 @@ is no info log, zero is returned. - Errors + Errors GL_INVALID_OPERATION is generated if pipeline is not zero or a name previously returned from a call to glGenProgramPipelines @@ -109,19 +110,19 @@ of the accepted values. - See Also + See Also glGetProgramPipelines, glBindProgramPipeline, glDeleteProgramPipelines - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramPipelineInfoLog.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramPipelineInfoLog.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glGetProgramPipelineInfoLog.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramPipelineInfoLog.xml index e96f2925..c63bb064 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramPipelineInfoLog.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramPipelineInfoLog.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetProgramPipelineInfoLog 3G @@ -27,7 +28,7 @@ - Parameters + Parameters pipeline @@ -63,7 +64,7 @@ - Description + Description glGetProgramPipelineInfoLog retrieves the info log for the program pipeline object pipeline. The info log, including its null terminator, @@ -80,7 +81,7 @@ pname set to GL_INFO_LOG_LENGTH. - Errors + Errors GL_INVALID_OPERATION is generated if pipeline is not a name previously returned from a call to glGenProgramPipelines @@ -88,14 +89,14 @@ glDeleteProgramPipelines. - Associated Gets + Associated Gets glGetProgramPipeline with parameter GL_INFO_LOG_LENGTH. - See Also + See Also glGenProgramPipelines, glBindProgramPipeline, @@ -103,12 +104,12 @@ glGetProgramPipeline - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramResource.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramResource.xml similarity index 97% rename from Source/Bind/Specifications/Docs/glGetProgramResource.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramResource.xml index 523d0fc3..730b5a95 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramResource.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramResource.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetProgramResource 3G @@ -31,7 +32,7 @@ - Parameters + Parameters program @@ -51,7 +52,7 @@ - Description + Description glGetProgramResourceiv returns values for multiple properties of a single active resource with an index of index in the interface programInterface of program object @@ -392,7 +393,7 @@ vertices written to the transform feedback buffer is written to params. - Errors + Errors GL_INVALID_VALUE is generated if program is not the name of an existing program object. @@ -410,7 +411,7 @@ is not one of the accepted tokens for the interface programInterface - See Also + See Also glGetProgramResourceName, glGetGetProgramResourceIndex, @@ -418,12 +419,12 @@ glGetProgramResourceLocationIndex. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramResourceIndex.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramResourceIndex.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glGetProgramResourceIndex.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramResourceIndex.xml index c2d2dcd6..00f667b5 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramResourceIndex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramResourceIndex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetProgramResourceIndex 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -54,7 +55,7 @@ - Description + Description glGetProgramResourceIndex returns the unsigned integer index assigned to a resource named name in @@ -181,7 +182,7 @@ gl_SkipComponents3, or gl_SkipComponents4. - Errors + Errors GL_INVALID_ENUM is generated if programInterface is not one of the accepted interface types. @@ -196,7 +197,7 @@ is not the name of a resource within the interface identified by programInterface. - See Also + See Also glGetProgramResourceName, glGetGetProgramResource, @@ -204,12 +205,12 @@ glGetProgramResourceLocationIndex. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramResourceLocation.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramResourceLocation.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glGetProgramResourceLocation.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramResourceLocation.xml index 74cdc49a..40baf159 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramResourceLocation.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramResourceLocation.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetProgramResourceLocation 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -54,7 +55,7 @@ - Description + Description glGetProgramResourceLocation returns the location assigned to the variable named name in interface programInterface of program @@ -109,7 +110,7 @@ associated with the first element of the array. - Errors + Errors GL_INVALID_VALUE is generated if program is not the name of an existing program object. @@ -123,7 +124,7 @@ has not been linked successfully. - See Also + See Also glGetProgramResourceName, glGetProgramResourceIndex, @@ -131,12 +132,12 @@ glGetProgramResourceLocationIndex. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramResourceLocationIndex.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramResourceLocationIndex.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glGetProgramResourceLocationIndex.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramResourceLocationIndex.xml index 7aa7ea8e..2ae874e7 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramResourceLocationIndex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramResourceLocationIndex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetProgramResourceLocationIndex 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -54,7 +55,7 @@ - Description + Description glGetProgramResourceLocationIndex returns the fragment color index assigned to the variable named name in interface programInterface of program @@ -106,7 +107,7 @@ associated with the first element of the array. - Errors + Errors GL_INVALID_VALUE is generated if program is not the name of an existing program object. @@ -120,7 +121,7 @@ has not been linked successfully. - See Also + See Also glGetProgramResourceName, glGetProgramResourceIndex, @@ -128,12 +129,12 @@ glGetProgramResourceLocationIndex. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramResourceName.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramResourceName.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glGetProgramResourceName.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramResourceName.xml index f7d6095b..578bc35f 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramResourceName.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramResourceName.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetProgramResourceName 3G @@ -29,7 +30,7 @@ - Parameters + Parameters program @@ -81,7 +82,7 @@ - Description + Description glGetProgramResourceName retrieves the name string assigned to the single active resource with an index of index @@ -196,12 +197,12 @@ bufSize-1 characters of the name string will be written to name, followed by a null terminator. If bufSize is zero, no error will be generated but no characters will be written to name. The length of the - longest name string for programInterface>, including a null terminator, + longest name string for programInterface>, including a null terminator, can be queried by calling glGetProgramInterface with a pname of GL_MAX_NAME_LENGTH. - Errors + Errors GL_INVALID_ENUM is generated if programInterface is not one of the accepted interface types. @@ -221,7 +222,7 @@ counter and transform feedback buffer resources are not assigned name strings. - See Also + See Also glGetProgramResourceIndex, glGetGetProgramResource, @@ -229,12 +230,12 @@ glGetProgramResourceLocationIndex. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetProgramStage.xml b/Source/Bind/Specifications/Docs/GL4/glGetProgramStage.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glGetProgramStage.xml rename to Source/Bind/Specifications/Docs/GL4/glGetProgramStage.xml index 5a208d9f..8a717363 100644 --- a/Source/Bind/Specifications/Docs/glGetProgramStage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetProgramStage.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGetProgramStage 3G @@ -27,7 +28,7 @@ - Parameters + Parameters program @@ -71,7 +72,7 @@ - Description + Description glGetProgramStage queries a parameter of a shader stage attached to a program object. program contains the name of the program to which the shader is attached. shadertype @@ -105,7 +106,7 @@ with a shader containing no subroutines or subroutine uniforms. - Errors + Errors GL_INVALID_ENUM is generated if shadertype or pname is not one of the accepted values. @@ -115,17 +116,17 @@ existing program object. - See Also + See Also glGetProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetQueryIndexed.xml b/Source/Bind/Specifications/Docs/GL4/glGetQueryIndexed.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glGetQueryIndexed.xml rename to Source/Bind/Specifications/Docs/GL4/glGetQueryIndexed.xml index 7aae8c26..8a12a975 100644 --- a/Source/Bind/Specifications/Docs/glGetQueryIndexed.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetQueryIndexed.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGetQueryIndexediv 3G @@ -27,7 +28,7 @@ - Parameters + Parameters target @@ -67,7 +68,7 @@ - Description + Description glGetQueryIndexediv returns in params a selected parameter of the indexed query object target specified by target and index. index specifies the index of the @@ -81,7 +82,7 @@ of bits used to hold the result of queries for target is returned in params. - Notes + Notes The target GL_ANY_SAMPLES_PASSED_CONSERVATIVE is available only if the GL version is 4.3 or greater. @@ -94,7 +95,7 @@ glGetQueryIndexediv with index set to zero. - Errors + Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. @@ -104,18 +105,18 @@ target-specific maximum. - See Also + See Also glGetQueryObject, glIsQuery - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetQueryObject.xml b/Source/Bind/Specifications/Docs/GL4/glGetQueryObject.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glGetQueryObject.xml rename to Source/Bind/Specifications/Docs/GL4/glGetQueryObject.xml index 0939eb64..4b17dff4 100644 --- a/Source/Bind/Specifications/Docs/glGetQueryObject.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetQueryObject.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetQueryObject 3G @@ -54,7 +55,7 @@ - Parameters + Parameters id @@ -86,7 +87,7 @@ - Description + Description glGetQueryObject returns in params a selected parameter of the query object specified by id. @@ -128,7 +129,7 @@ - Notes + Notes If an error is generated, no change is made to the contents of params. @@ -155,7 +156,7 @@ On earlier versions of the GL, params is always an address in client memory. - Errors + Errors GL_INVALID_ENUM is generated if pname is not an accepted value. @@ -172,7 +173,7 @@ of that buffer's data store. - See Also + See Also glBeginQuery, glEndQuery, @@ -181,13 +182,13 @@ glQueryCounter - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetQueryiv.xml b/Source/Bind/Specifications/Docs/GL4/glGetQueryiv.xml similarity index 82% rename from Source/Bind/Specifications/Docs/glGetQueryiv.xml rename to Source/Bind/Specifications/Docs/GL4/glGetQueryiv.xml index dc42df57..11d50ffe 100644 --- a/Source/Bind/Specifications/Docs/glGetQueryiv.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetQueryiv.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2005 Sams Publishing @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetQueryiv 3G @@ -30,7 +31,7 @@ - Parameters + Parameters target @@ -62,7 +63,7 @@ - Description + Description glGetQueryiv returns in params a selected parameter of the query object target specified by target. @@ -75,7 +76,7 @@ of bits used to hold the result of queries for target is returned in params. - Notes + Notes The target GL_ANY_SAMPLES_PASSED_CONSERVATIVE is available only if the GL version is 4.3 or greater. @@ -84,25 +85,25 @@ no change is made to the contents of params. - Errors + Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. - See Also + See Also glGetQueryObject, glIsQuery - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetRenderbufferParameter.xml b/Source/Bind/Specifications/Docs/GL4/glGetRenderbufferParameter.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glGetRenderbufferParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glGetRenderbufferParameter.xml index 7f07dff4..b4fdde20 100644 --- a/Source/Bind/Specifications/Docs/glGetRenderbufferParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetRenderbufferParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetRenderbufferParameteriv 3G @@ -26,7 +27,7 @@ - Parameters + Parameters target @@ -54,7 +55,7 @@ - Description + Description glGetRenderbufferParameteriv retrieves information about a bound renderbuffer object. target specifies the target of the query operation and must be GL_RENDERBUFFER. pname specifies @@ -77,12 +78,12 @@ renderbuffer currently bound to target. - Errors + Errors GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. - See Also + See Also glGenRenderbuffers, glFramebufferRenderbuffer, @@ -91,12 +92,12 @@ glRenderbufferStorageMultisample - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetSamplerParameter.xml b/Source/Bind/Specifications/Docs/GL4/glGetSamplerParameter.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glGetSamplerParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glGetSamplerParameter.xml index 2f585329..a9f0ec11 100644 --- a/Source/Bind/Specifications/Docs/glGetSamplerParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetSamplerParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetSamplerParameter 3G @@ -50,7 +51,7 @@ - Parameters + Parameters sampler @@ -90,7 +91,7 @@ - Description + Description glGetSamplerParameter returns in params the value or values of the sampler parameter specified as pname. @@ -124,7 +125,7 @@ Returns the single-valued texture minimum level-of-detail value. The initial value is - + -1000 . @@ -145,7 +146,7 @@ Returns the single-valued wrapping function for texture coordinate - s, + s, a symbolic constant. The initial value is GL_REPEAT. @@ -155,7 +156,7 @@ Returns the single-valued wrapping function for texture coordinate - t, + t, a symbolic constant. The initial value is GL_REPEAT. @@ -165,7 +166,7 @@ Returns the single-valued wrapping function for texture coordinate - r, + r, a symbolic constant. The initial value is GL_REPEAT. @@ -177,7 +178,7 @@ Returns four integer or floating-point numbers that comprise the RGBA color of the texture border. Floating-point values are returned in the range - + 0 @@ -187,7 +188,7 @@ Integer values are returned as a linear mapping of the internal floating-point representation such that 1.0 maps to the most positive representable integer and - + -1.0 @@ -216,7 +217,7 @@ - Notes + Notes If an error is generated, no change is made to the contents of params. @@ -225,7 +226,7 @@ glGetSamplerParameter is available only if the GL version is 3.3 or higher. - Errors + Errors GL_INVALID_VALUE is generated if sampler is not the name of a sampler object returned from a previous call to glGenSamplers. @@ -234,7 +235,7 @@ GL_INVALID_ENUM is generated if pname is not an accepted value. - See Also + See Also glSamplerParameter, glGenSamplers, @@ -242,12 +243,12 @@ glSamplerParameter - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetShader.xml b/Source/Bind/Specifications/Docs/GL4/glGetShader.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glGetShader.xml rename to Source/Bind/Specifications/Docs/GL4/glGetShader.xml index 424ecbe6..81c37726 100644 --- a/Source/Bind/Specifications/Docs/glGetShader.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetShader.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetShader 3G @@ -30,7 +31,7 @@ - Parameters + Parameters shader @@ -59,7 +60,7 @@ - Description + Description glGetShader returns in params @@ -130,12 +131,12 @@ - Notes + Notes If an error is generated, no change is made to the contents of params. - Errors + Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. @@ -148,7 +149,7 @@ pname is not an accepted value. - Associated Gets + Associated Gets glGetShaderInfoLog with argument shader @@ -157,20 +158,20 @@ glIsShader - See Also + See Also glCompileShader, glCreateShader, glDeleteShader, glGetProgram, glShaderSource - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetShaderInfoLog.xml b/Source/Bind/Specifications/Docs/GL4/glGetShaderInfoLog.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glGetShaderInfoLog.xml rename to Source/Bind/Specifications/Docs/GL4/glGetShaderInfoLog.xml index 48ac4b96..e8ab2c59 100644 --- a/Source/Bind/Specifications/Docs/glGetShaderInfoLog.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetShaderInfoLog.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetShaderInfoLog 3G @@ -31,7 +32,7 @@ - Parameters + Parameters shader @@ -64,7 +65,7 @@ - Description + Description glGetShaderInfoLog returns the information log for the specified shader object. The information log for a shader object is modified when the shader is compiled. @@ -89,7 +90,7 @@ object is created, its information log will be a string of length 0. - Notes + Notes The information log for a shader object is the OpenGL implementer's primary mechanism for conveying information about the compilation process. Therefore, the information log can be @@ -98,7 +99,7 @@ developers should not expect different OpenGL implementations to produce identical information logs. - Errors + Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. @@ -110,25 +111,25 @@ maxLength is less than 0. - Associated Gets + Associated Gets glGetShader with argument GL_INFO_LOG_LENGTH glIsShader - See Also + See Also glCompileShader, glGetProgramInfoLog, glLinkProgram, glValidateProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetShaderPrecisionFormat.xml b/Source/Bind/Specifications/Docs/GL4/glGetShaderPrecisionFormat.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glGetShaderPrecisionFormat.xml rename to Source/Bind/Specifications/Docs/GL4/glGetShaderPrecisionFormat.xml index f2cca0fa..b1860a87 100644 --- a/Source/Bind/Specifications/Docs/glGetShaderPrecisionFormat.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetShaderPrecisionFormat.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetShaderPrecisionFormat 3G @@ -27,7 +28,7 @@ - Parameters + Parameters shaderType @@ -66,7 +67,7 @@ - Description + Description glGetShaderPrecisionFormat retrieves the numeric range and precision for the implementation's representation of quantities in different numeric formats in specified @@ -90,18 +91,18 @@ will contain floor(-log2(eps)). - Errors + Errors GL_INVALID_ENUM is generated if shaderType or precisionType is not an accepted value. - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetShaderSource.xml b/Source/Bind/Specifications/Docs/GL4/glGetShaderSource.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glGetShaderSource.xml rename to Source/Bind/Specifications/Docs/GL4/glGetShaderSource.xml index 682f3693..d69328e3 100644 --- a/Source/Bind/Specifications/Docs/glGetShaderSource.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetShaderSource.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetShaderSource 3G @@ -31,7 +32,7 @@ - Parameters + Parameters shader @@ -64,7 +65,7 @@ - Description + Description glGetShaderSource returns the concatenation of the source code strings from the shader object specified by shader. The source code @@ -87,7 +88,7 @@ with the value GL_SHADER_SOURCE_LENGTH. - Errors + Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. @@ -99,24 +100,24 @@ bufSize is less than 0. - Associated Gets + Associated Gets glGetShader with argument GL_SHADER_SOURCE_LENGTH glIsShader - See Also + See Also glCreateShader, glShaderSource - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetString.xml b/Source/Bind/Specifications/Docs/GL4/glGetString.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glGetString.xml rename to Source/Bind/Specifications/Docs/GL4/glGetString.xml index 20b1349f..4cd47833 100644 --- a/Source/Bind/Specifications/Docs/glGetString.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetString.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetString 3G @@ -35,7 +36,7 @@ - Parameters + Parameters name @@ -58,7 +59,7 @@ - Description + Description glGetString returns a pointer to a static string describing some aspect of the current GL connection. @@ -142,7 +143,7 @@ All strings are null-terminated. - Notes + Notes If an error is generated, glGetString returns 0. @@ -152,7 +153,7 @@ The release number always describes the server. - Errors + Errors GL_INVALID_ENUM is generated if name is not an accepted value. @@ -161,13 +162,13 @@ index is outside the valid range for indexed state name. - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glGetSubroutineIndex.xml b/Source/Bind/Specifications/Docs/GL4/glGetSubroutineIndex.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glGetSubroutineIndex.xml rename to Source/Bind/Specifications/Docs/GL4/glGetSubroutineIndex.xml index 942dd4ca..7ac275f3 100644 --- a/Source/Bind/Specifications/Docs/glGetSubroutineIndex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetSubroutineIndex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGetSubroutineIndex 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -58,7 +59,7 @@ - Description + Description glGetSubroutineIndex returns the index of a subroutine uniform within a shader stage attached to a program object. program contains the name of the program to which the shader is attached. shadertype @@ -73,7 +74,7 @@ one for the shader stage. - Errors + Errors GL_INVALID_ENUM is generated if shadertype or pname is not one of the accepted values. @@ -83,19 +84,19 @@ existing program object. - See Also + See Also glGetProgram, glGetActiveSubroutineUniform, glGetActiveSubroutineUniformName - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetSubroutineUniformLocation.xml b/Source/Bind/Specifications/Docs/GL4/glGetSubroutineUniformLocation.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glGetSubroutineUniformLocation.xml rename to Source/Bind/Specifications/Docs/GL4/glGetSubroutineUniformLocation.xml index 4803ebeb..3ad3e790 100644 --- a/Source/Bind/Specifications/Docs/glGetSubroutineUniformLocation.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetSubroutineUniformLocation.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGetSubroutineUniformLocation 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -58,7 +59,7 @@ - Description + Description glGetSubroutineUniformLocation returns the location of the subroutine uniform variable name in the shader stage of type shadertype attached to @@ -74,7 +75,7 @@ declared as arrays, the declared array elements are assigned consecutive locations. - Errors + Errors GL_INVALID_ENUM is generated if shadertype or pname is not one of the accepted values. @@ -84,7 +85,7 @@ existing program object. - See Also + See Also glGetProgram, glGetActiveSubroutineUniform, @@ -92,12 +93,12 @@ glGetUniformLocation - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetSync.xml b/Source/Bind/Specifications/Docs/GL4/glGetSync.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glGetSync.xml rename to Source/Bind/Specifications/Docs/GL4/glGetSync.xml index a3857144..3ddb74c9 100644 --- a/Source/Bind/Specifications/Docs/glGetSync.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetSync.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetSynciv 3G @@ -28,7 +29,7 @@ - Parameters + Parameters sync @@ -72,7 +73,7 @@ - Description + Description glGetSynciv retrieves properties of a sync object. sync specifies the name of the sync object whose properties to retrieve. @@ -103,7 +104,7 @@ If an error occurs, nothing will be written to values or length. - Errors + Errors GL_INVALID_VALUE is generated if sync is not the name of a sync object. @@ -111,19 +112,19 @@ GL_INVALID_ENUM is generated if pname is not one of the accepted tokens. - See Also + See Also glFenceSync, glWaitSync, glClientWaitSync - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetTexImage.xml b/Source/Bind/Specifications/Docs/GL4/glGetTexImage.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glGetTexImage.xml rename to Source/Bind/Specifications/Docs/GL4/glGetTexImage.xml index 87e514ff..c6d9aacc 100644 --- a/Source/Bind/Specifications/Docs/glGetTexImage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetTexImage.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetTexImage 3G @@ -32,7 +33,7 @@ - Parameters + Parameters target @@ -62,9 +63,9 @@ Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level - n + n is the - nth + nth mipmap reduction image. @@ -141,7 +142,7 @@ - Description + Description glGetTexImage returns a texture image into img. target specifies whether the desired texture image is one specified by @@ -203,7 +204,7 @@ especially GL_PACK_ALIGNMENT. - Notes + Notes If an error is generated, no change is made to the contents of img. @@ -216,7 +217,7 @@ version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target, format, or type is not an accepted value. @@ -227,7 +228,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log @@ -240,7 +241,7 @@ , where - max + max is the returned value of GL_MAX_TEXTURE_SIZE. @@ -284,7 +285,7 @@ into the number of bytes needed to store in memory a datum indicated by type. - Associated Gets + Associated Gets glGetTexLevelParameter with argument GL_TEXTURE_WIDTH @@ -301,7 +302,7 @@ glGet with argument GL_PIXEL_PACK_BUFFER_BINDING - See Also + See Also glActiveTexture, glReadPixels, @@ -314,13 +315,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glGetTexLevelParameter.xml b/Source/Bind/Specifications/Docs/GL4/glGetTexLevelParameter.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glGetTexLevelParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glGetTexLevelParameter.xml index 9259987f..2e9cb5f2 100644 --- a/Source/Bind/Specifications/Docs/glGetTexLevelParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetTexLevelParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glGetTexLevelParameter 3G @@ -36,7 +37,7 @@ - Parameters + Parameters target @@ -78,9 +79,9 @@ Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level - n + n is the - nth + nth mipmap reduction image. @@ -116,7 +117,7 @@ - Description + Description glGetTexLevelParameter returns in params texture parameter values for a specific level-of-detail value, @@ -279,7 +280,7 @@ - Notes + Notes If an error is generated, no change is made to the contents of params. @@ -292,7 +293,7 @@ if the GL version is 4.3 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. @@ -303,7 +304,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log 2 @@ -322,7 +323,7 @@ uncompressed internal format or on proxy targets. - See Also + See Also glActiveTexture, glGetTexParameter, @@ -340,13 +341,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 - Silicon Graphics, Inc. Copyright 2010-2013 + Copyright 1991-2006 + Silicon Graphics, Inc. Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glGetTexParameter.xml b/Source/Bind/Specifications/Docs/GL4/glGetTexParameter.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glGetTexParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glGetTexParameter.xml index a50eca6d..029a71da 100644 --- a/Source/Bind/Specifications/Docs/glGetTexParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetTexParameter.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetTexParameter 3G @@ -54,7 +55,7 @@ - Parameters + Parameters target @@ -117,7 +118,7 @@ - Description + Description glGetTexParameter returns in params the value or values of the texture parameter specified as pname. @@ -168,7 +169,7 @@ Returns the single-valued texture minimum level-of-detail value. The initial value is - + -1000 . @@ -246,7 +247,7 @@ Returns the single-valued wrapping function for texture coordinate - s, + s, a symbolic constant. The initial value is GL_REPEAT. @@ -256,7 +257,7 @@ Returns the single-valued wrapping function for texture coordinate - t, + t, a symbolic constant. The initial value is GL_REPEAT. @@ -266,7 +267,7 @@ Returns the single-valued wrapping function for texture coordinate - r, + r, a symbolic constant. The initial value is GL_REPEAT. @@ -278,7 +279,7 @@ Returns four integer or floating-point numbers that comprise the RGBA color of the texture border. Floating-point values are returned in the range - + 0 @@ -288,7 +289,7 @@ Integer values are returned as a linear mapping of the internal floating-point representation such that 1.0 maps to the most positive representable integer and - + -1.0 @@ -379,7 +380,7 @@ - Notes + Notes If an error is generated, no change is made to the contents of params. @@ -390,13 +391,13 @@ GL_TEXTURE_VIEW_NUM_LAYERS and GL_TEXTURE_IMMUTABLE_LEVELS are available only if the GL version is 4.3 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. - See Also + See Also glTexParameter, glTexStorage1D, @@ -405,13 +406,13 @@ glTextureView - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glGetTransformFeedbackVarying.xml b/Source/Bind/Specifications/Docs/GL4/glGetTransformFeedbackVarying.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glGetTransformFeedbackVarying.xml rename to Source/Bind/Specifications/Docs/GL4/glGetTransformFeedbackVarying.xml index 755b0da3..ac02c313 100644 --- a/Source/Bind/Specifications/Docs/glGetTransformFeedbackVarying.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetTransformFeedbackVarying.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetTransformFeedbackVarying 3G @@ -30,7 +31,7 @@ - Parameters + Parameters program @@ -91,7 +92,7 @@ - Description + Description Information about the set of varying variables in a linked program that will be captured during transform feedback may be retrieved by calling glGetTransformFeedbackVarying. @@ -126,7 +127,7 @@ arise if glGetTransformFeedbackVarying is called after a failed link. - Errors + Errors GL_INVALID_VALUE is generated if program is not the name of a program object. @@ -139,24 +140,24 @@ GL_INVALID_OPERATION is generated program has not been linked. - Associated Gets + Associated Gets glGetProgram with argument GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH. - See Also + See Also glBeginTransformFeedback, glEndTransformFeedback, glTransformFeedbackVaryings, glGetProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetUniform.xml b/Source/Bind/Specifications/Docs/GL4/glGetUniform.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glGetUniform.xml rename to Source/Bind/Specifications/Docs/GL4/glGetUniform.xml index 77f313fd..035e0e10 100644 --- a/Source/Bind/Specifications/Docs/glGetUniform.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetUniform.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetUniform 3G @@ -50,7 +51,7 @@ - Parameters + Parameters program @@ -75,7 +76,7 @@ - Description + Description glGetUniform returns in params the value(s) of the specified uniform variable. The type of the uniform variable specified by @@ -106,11 +107,11 @@ variable values can only be queried after a link if the link was successful. - Notes + Notes If an error is generated, no change is made to the contents of params. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -127,7 +128,7 @@ uniform variable location for the specified program object. - Associated Gets + Associated Gets glGetActiveUniform with arguments program and the index of an active uniform variable @@ -142,18 +143,18 @@ uniform variable glIsProgram - See Also + See Also glCreateProgram, glLinkProgram, glUniform - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetUniformBlockIndex.xml b/Source/Bind/Specifications/Docs/GL4/glGetUniformBlockIndex.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glGetUniformBlockIndex.xml rename to Source/Bind/Specifications/Docs/GL4/glGetUniformBlockIndex.xml index bc16ca4d..2ced0a24 100644 --- a/Source/Bind/Specifications/Docs/glGetUniformBlockIndex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetUniformBlockIndex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetUniformBlockIndex 3G @@ -25,7 +26,7 @@ - Parameters + Parameters program @@ -45,7 +46,7 @@ - Description + Description glGetUniformBlockIndex retrieves the index of a uniform block within program. @@ -65,30 +66,30 @@ blocks of a program are assigned in consecutive order, beginning with zero. - Errors + Errors GL_INVALID_OPERATION is generated if program is not the name of a program object for which glLinkProgram has been called in the past. - Notes + Notes glGetUniformBlockIndex is available only if the GL version is 3.1 or greater. - See Also + See Also glGetActiveUniformBlockName, glGetActiveUniformBlock, glLinkProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetUniformIndices.xml b/Source/Bind/Specifications/Docs/GL4/glGetUniformIndices.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glGetUniformIndices.xml rename to Source/Bind/Specifications/Docs/GL4/glGetUniformIndices.xml index 90564693..36b9ac4d 100644 --- a/Source/Bind/Specifications/Docs/glGetUniformIndices.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetUniformIndices.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glGetUniformIndices 3G @@ -27,7 +28,7 @@ - Parameters + Parameters program @@ -63,7 +64,7 @@ - Description + Description glGetUniformIndices retrieves the indices of a number of uniforms within program. @@ -88,30 +89,30 @@ If an error occurs, nothing is written to uniformIndices. - Errors + Errors GL_INVALID_OPERATION is generated if program is not the name of a program object for which glLinkProgram has been called in the past. - Notes + Notes glGetUniformIndices is available only if the GL version is 3.1 or greater. - See Also + See Also glGetActiveUniform, glGetActiveUniformName, glLinkProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetUniformLocation.xml b/Source/Bind/Specifications/Docs/GL4/glGetUniformLocation.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glGetUniformLocation.xml rename to Source/Bind/Specifications/Docs/GL4/glGetUniformLocation.xml index d7faee2c..616e7642 100644 --- a/Source/Bind/Specifications/Docs/glGetUniformLocation.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetUniformLocation.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetUniformLocation 3G @@ -29,7 +30,7 @@ - Parameters + Parameters program @@ -48,7 +49,7 @@ - Description + Description glGetUniformLocation returns an integer that represents the location of a specific uniform variable within a program object. name @@ -92,7 +93,7 @@ command occurs. Uniform variable locations and values can only be queried after a link if the link was successful. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -105,7 +106,7 @@ linked. - Associated Gets + Associated Gets glGetActiveUniform with arguments program and the index of an active uniform variable @@ -120,17 +121,17 @@ uniform variable glIsProgram - See Also + See Also glLinkProgram, glUniform - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetUniformSubroutine.xml b/Source/Bind/Specifications/Docs/GL4/glGetUniformSubroutine.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glGetUniformSubroutine.xml rename to Source/Bind/Specifications/Docs/GL4/glGetUniformSubroutine.xml index 85abb7c7..fbd5efac 100644 --- a/Source/Bind/Specifications/Docs/glGetUniformSubroutine.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetUniformSubroutine.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glGetUniformSubroutine 3G @@ -26,7 +27,7 @@ - Parameters + Parameters shadertype @@ -58,7 +59,7 @@ - Description + Description glGetUniformSubroutine retrieves the value of the subroutine uniform at location location for shader stage shadertype of the current @@ -68,7 +69,7 @@ values. - Errors + Errors GL_INVALID_ENUM is generated if shadertype is not one of the accepted values. @@ -81,7 +82,7 @@ GL_INVALID_OPERATION is generated if no program is active. - See Also + See Also glGetProgram, glGetActiveSubroutineUniform, @@ -89,12 +90,12 @@ glGetUniformLocation - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetVertexAttrib.xml b/Source/Bind/Specifications/Docs/GL4/glGetVertexAttrib.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glGetVertexAttrib.xml rename to Source/Bind/Specifications/Docs/GL4/glGetVertexAttrib.xml index dfed1939..4c86c1d9 100644 --- a/Source/Bind/Specifications/Docs/glGetVertexAttrib.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetVertexAttrib.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetVertexAttrib 3G @@ -66,7 +67,7 @@ - Parameters + Parameters index @@ -99,7 +100,7 @@ - Description + Description glGetVertexAttrib returns in params the value of a generic vertex attribute parameter. The generic vertex attribute to be queried @@ -255,11 +256,11 @@ represent state stored in the currently bound vertex array object. - Notes + Notes If an error is generated, no change is made to the contents of params. - Errors + Errors GL_INVALID_OPERATION is generated if pname is not GL_CURRENT_VERTEX_ATTRIB and there is no currently bound vertex array object. @@ -276,7 +277,7 @@ pname is GL_CURRENT_VERTEX_ATTRIB. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS @@ -284,7 +285,7 @@ with arguments index and GL_VERTEX_ATTRIB_ARRAY_POINTER - See Also + See Also glBindAttribLocation, glBindBuffer, glDisableVertexAttribArray, @@ -293,13 +294,13 @@ glVertexAttribDivisor, glVertexAttribPointer - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glGetVertexAttribPointerv.xml b/Source/Bind/Specifications/Docs/GL4/glGetVertexAttribPointerv.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glGetVertexAttribPointerv.xml rename to Source/Bind/Specifications/Docs/GL4/glGetVertexAttribPointerv.xml index 815d10ca..05ea4884 100644 --- a/Source/Bind/Specifications/Docs/glGetVertexAttribPointerv.xml +++ b/Source/Bind/Specifications/Docs/GL4/glGetVertexAttribPointerv.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glGetVertexAttribPointerv 3G @@ -30,7 +31,7 @@ - Parameters + Parameters index @@ -55,7 +56,7 @@ - Description + Description glGetVertexAttribPointerv returns pointer information. index is the generic vertex attribute to be queried, pname is @@ -68,11 +69,11 @@ (see glBindBuffer) when the desired pointer was previously specified. - Notes + Notes The state returned is retrieved from the currently bound vertex array object. The initial value for each pointer is 0. - Errors + Errors GL_INVALID_OPERATION is generated if no vertex array object is currently bound. GL_INVALID_VALUE @@ -83,21 +84,21 @@ is generated if pname is not an accepted value. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS - See Also + See Also glGetVertexAttrib, glVertexAttribPointer - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glHint.xml b/Source/Bind/Specifications/Docs/GL4/glHint.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glHint.xml rename to Source/Bind/Specifications/Docs/GL4/glHint.xml index 116cb9d0..115cdaab 100644 --- a/Source/Bind/Specifications/Docs/glHint.xml +++ b/Source/Bind/Specifications/Docs/GL4/glHint.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glHint 3G @@ -29,7 +30,7 @@ - Parameters + Parameters target @@ -57,7 +58,7 @@ - Description + Description Certain aspects of GL behavior, when there is room for interpretation, @@ -164,25 +165,25 @@ - Notes + Notes The interpretation of hints depends on the implementation. Some implementations ignore glHint settings. - Errors + Errors GL_INVALID_ENUM is generated if either target or mode is not an accepted value. - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glInvalidateBufferData.xml b/Source/Bind/Specifications/Docs/GL4/glInvalidateBufferData.xml similarity index 76% rename from Source/Bind/Specifications/Docs/glInvalidateBufferData.xml rename to Source/Bind/Specifications/Docs/GL4/glInvalidateBufferData.xml index 90049407..0ba4480c 100644 --- a/Source/Bind/Specifications/Docs/glInvalidateBufferData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glInvalidateBufferData.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glInvalidateBufferData 3G @@ -24,7 +25,7 @@ - Parameters + Parameters buffer @@ -36,14 +37,14 @@ - Description + Description glInvalidateBufferData invalidates all of the content of the data store of a buffer object. After invalidation, the content of the buffer's data store becomes undefined. - Errors + Errors GL_INVALID_VALUE is generated if buffer is not the name of an existing buffer object. @@ -53,12 +54,12 @@ is currently mapped. - Associated Gets + Associated Gets glGetBufferParameter with argument GL_BUFFER_SIZE - See Also + See Also glInvalidateTexSubImage,, glInvalidateTexImage, @@ -67,12 +68,12 @@ glInvalidateSubFramebuffer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glInvalidateBufferSubData.xml b/Source/Bind/Specifications/Docs/GL4/glInvalidateBufferSubData.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glInvalidateBufferSubData.xml rename to Source/Bind/Specifications/Docs/GL4/glInvalidateBufferSubData.xml index 5fa90341..ff7ffdd4 100644 --- a/Source/Bind/Specifications/Docs/glInvalidateBufferSubData.xml +++ b/Source/Bind/Specifications/Docs/GL4/glInvalidateBufferSubData.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glInvalidateBufferSubData 3G @@ -26,7 +27,7 @@ - Parameters + Parameters buffer @@ -54,7 +55,7 @@ - Description + Description glInvalidateBufferSubData invalidates all or part of the content of the data store of a buffer object. After invalidation, the content @@ -63,7 +64,7 @@ is given by length, both measured in basic machine units. - Errors + Errors GL_INVALID_VALUE is generated if offset or length is negative, or if offset + @@ -79,12 +80,12 @@ is currently mapped. - Associated Gets + Associated Gets glGetBufferParameter with argument GL_BUFFER_SIZE - See Also + See Also glInvalidateTexSubImage,, glInvalidateTexImage, @@ -93,12 +94,12 @@ glInvalidateSubFramebuffer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glInvalidateFramebuffer.xml b/Source/Bind/Specifications/Docs/GL4/glInvalidateFramebuffer.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glInvalidateFramebuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glInvalidateFramebuffer.xml index f187f5d9..a0e0fc27 100644 --- a/Source/Bind/Specifications/Docs/glInvalidateFramebuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glInvalidateFramebuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glInvalidateFramebuffer 3G @@ -26,7 +27,7 @@ - Parameters + Parameters target @@ -55,7 +56,7 @@ - Description + Description glInvalidateFramebuffer invalidates the content of a specified set of attachments of a framebuffer. The framebuffer @@ -83,7 +84,7 @@ of the specified attachments become undefined. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted framebuffer target tokens. @@ -98,12 +99,12 @@ to the value of GL_MAX_COLOR_ATTACHMENTS. - Associated Gets + Associated Gets glGet with argument GL_MAX_COLOR_ATTACHMENTS - See Also + See Also glInvalidateTexSubImage, glInvalidateTexImage, @@ -112,12 +113,12 @@ glInvalidateSubFramebuffer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glInvalidateSubFramebuffer.xml b/Source/Bind/Specifications/Docs/GL4/glInvalidateSubFramebuffer.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glInvalidateSubFramebuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glInvalidateSubFramebuffer.xml index 0ceca839..1d2b3fa5 100644 --- a/Source/Bind/Specifications/Docs/glInvalidateSubFramebuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glInvalidateSubFramebuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glInvalidateSubFramebuffer 3G @@ -30,7 +31,7 @@ - Parameters + Parameters target @@ -91,7 +92,7 @@ - Description + Description glInvalidateSubFramebuffer invalidates the content of a region of a specified set of attachments of a framebuffer. The framebuffer @@ -129,7 +130,7 @@ of the specified region of the specified attachments become undefined. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted framebuffer target tokens. @@ -144,12 +145,12 @@ to the value of GL_MAX_COLOR_ATTACHMENTS. - Associated Gets + Associated Gets glGet with argument GL_MAX_COLOR_ATTACHMENTS - See Also + See Also glInvalidateTexSubImage, glInvalidateTexImage, @@ -158,12 +159,12 @@ glInvalidateFramebuffer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glInvalidateTexImage.xml b/Source/Bind/Specifications/Docs/GL4/glInvalidateTexImage.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glInvalidateTexImage.xml rename to Source/Bind/Specifications/Docs/GL4/glInvalidateTexImage.xml index b0ede4da..ca6b1896 100644 --- a/Source/Bind/Specifications/Docs/glInvalidateTexImage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glInvalidateTexImage.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glInvalidateTexImage 3G @@ -25,7 +26,7 @@ - Parameters + Parameters texture @@ -45,7 +46,7 @@ - Description + Description glInvalidateTexSubImage invalidates all of a texture image. texture and level indicated @@ -61,7 +62,7 @@ GL_TEXTURE_2D_MULTISAMPLE_ARRAY, level must be zero. - Errors + Errors GL_INVALID_VALUE is generated if level is less than zero or if it is greater or equal to the base 2 logarithm of the maximum texture width, height, or depth. @@ -76,12 +77,12 @@ name of an existing texture object. - Associated Gets + Associated Gets glGet with argument GL_MAX_TEXTURE_SIZE - See Also + See Also glInvalidateTexSubImage,, glInvalidateBufferSubData, @@ -90,12 +91,12 @@ glInvalidateSubFramebuffer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glInvalidateTexSubImage.xml b/Source/Bind/Specifications/Docs/GL4/glInvalidateTexSubImage.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glInvalidateTexSubImage.xml rename to Source/Bind/Specifications/Docs/GL4/glInvalidateTexSubImage.xml index 4076c23c..835461a4 100644 --- a/Source/Bind/Specifications/Docs/glInvalidateTexSubImage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glInvalidateTexSubImage.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glInvalidateTexSubImage 3G @@ -31,7 +32,7 @@ - Parameters + Parameters texture @@ -99,7 +100,7 @@ - Description + Description glInvalidateTexSubImage invalidates all or part of a texture image. texture and level indicated @@ -128,7 +129,7 @@ GL_TEXTURE_2D_MULTISAMPLE_ARRAY, level must be zero. - Errors + Errors GL_INVALID_VALUE is generated if xoffset, yoffset or zoffset is less than zero, @@ -148,12 +149,12 @@ name of an existing texture object. - Associated Gets + Associated Gets glGet with argument GL_MAX_TEXTURE_SIZE - See Also + See Also glInvalidateTexImage,, glInvalidateBufferSubData, @@ -162,12 +163,12 @@ glInvalidateSubFramebuffer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glIsBuffer.xml b/Source/Bind/Specifications/Docs/GL4/glIsBuffer.xml new file mode 100644 index 00000000..ee2c4ab6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glIsBuffer.xml @@ -0,0 +1,72 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2013 + Khronos Group + + + + glIsBuffer + 3G + + + glIsBuffer + determine if a name corresponds to a buffer object + + C Specification + + + GLboolean glIsBuffer + GLuint buffer + + + + Parameters + + + buffer + + + Specifies a value that may be the name of a buffer object. + + + + + + Description + + glIsBuffer returns GL_TRUE if buffer is currently the name of a buffer object. + If buffer is zero, or is a non-zero value that is not currently the + name of a buffer object, or if an error occurs, glIsBuffer returns GL_FALSE. + + + A name returned by glGenBuffers, but not yet associated with a buffer object + by calling glBindBuffer, is not the name of a buffer object. + + + See Also + + glBindBuffer, + glDeleteBuffers, + glGenBuffers, + glGet + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glIsEnabled.xml b/Source/Bind/Specifications/Docs/GL4/glIsEnabled.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glIsEnabled.xml rename to Source/Bind/Specifications/Docs/GL4/glIsEnabled.xml index 09ab7e30..a9c5121d 100644 --- a/Source/Bind/Specifications/Docs/glIsEnabled.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsEnabled.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glIsEnabled 3G @@ -35,7 +36,7 @@ - Parameters + Parameters cap @@ -55,7 +56,7 @@ - Description + Description glIsEnabled returns GL_TRUE if cap is an enabled capability and returns GL_FALSE otherwise. Boolean states that are indexed may be tested with glIsEnabledi. @@ -294,7 +295,7 @@ - Notes + Notes If an error is generated, glIsEnabled and glIsEnabledi return GL_FALSE. @@ -303,7 +304,7 @@ GL_DEBUG_OUTPUT and GL_DEBUG_OUTPUT_SYNCHRONOUS are available only if the GL version is 4.3 or greater. - Errors + Errors GL_INVALID_ENUM is generated if cap is not an accepted value. @@ -312,20 +313,20 @@ valid range for the indexed state cap. - See Also + See Also glEnable, glDisable, glGet - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glIsFramebuffer.xml b/Source/Bind/Specifications/Docs/GL4/glIsFramebuffer.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glIsFramebuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glIsFramebuffer.xml index ce6938d1..c274d252 100644 --- a/Source/Bind/Specifications/Docs/glIsFramebuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsFramebuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glIsFramebuffer 3G @@ -24,7 +25,7 @@ - Parameters + Parameters framebuffer @@ -36,7 +37,7 @@ - Description + Description glIsFramebuffer returns GL_TRUE if framebuffer is currently the name of a framebuffer object. If framebuffer is zero, or if framebuffer is not the name of a framebuffer object, or if an error @@ -46,19 +47,19 @@ returns GL_FALSE. - See Also + See Also glGenFramebuffers, glBindFramebuffer, glDeleteFramebuffers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glIsProgram.xml b/Source/Bind/Specifications/Docs/GL4/glIsProgram.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glIsProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glIsProgram.xml index 97b6f266..7d7288b5 100644 --- a/Source/Bind/Specifications/Docs/glIsProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsProgram.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glIsProgram 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -38,7 +39,7 @@ - Description + Description glIsProgram returns GL_TRUE if program is the name of a program object previously created with @@ -48,7 +49,7 @@ is not the name of a program object, or if an error occurs, glIsProgram returns GL_FALSE. - Notes + Notes No error is generated if program is not a valid program object name. @@ -56,7 +57,7 @@ but still in use as part of current rendering state is still considered a program object and glIsProgram will return GL_TRUE. - Associated Gets + Associated Gets glGet with the argument GL_CURRENT_PROGRAM @@ -90,7 +91,7 @@ with arguments program and the name of a uniform variable - See Also + See Also glAttachShader, glBindAttribLocation, glCreateProgram, @@ -101,13 +102,13 @@ glUseProgram, glValidateProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glIsProgramPipeline.xml b/Source/Bind/Specifications/Docs/GL4/glIsProgramPipeline.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glIsProgramPipeline.xml rename to Source/Bind/Specifications/Docs/GL4/glIsProgramPipeline.xml index 4c94f9bb..6bccac5e 100644 --- a/Source/Bind/Specifications/Docs/glIsProgramPipeline.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsProgramPipeline.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glIsProgramPipeline 3G @@ -24,7 +25,7 @@ - Parameters + Parameters pipeline @@ -36,7 +37,7 @@ - Description + Description glIsProgramPipeline returns GL_TRUE if pipeline is currently the name of a program pipeline object. @@ -49,19 +50,19 @@ returns GL_FALSE. - See Also + See Also glGenProgramPipelines, glBindProgramPipeline, glDeleteProgramPipeline - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glIsQuery.xml b/Source/Bind/Specifications/Docs/GL4/glIsQuery.xml new file mode 100644 index 00000000..95764ca3 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glIsQuery.xml @@ -0,0 +1,72 @@ + %mathent; ]> + + + + + + + 2005 + Sams Publishing + + + 2010-2013 + Khronos Group + + + + glIsQuery + 3G + + + glIsQuery + determine if a name corresponds to a query object + + C Specification + + + GLboolean glIsQuery + GLuint id + + + + Parameters + + + id + + + Specifies a value that may be the name of a query object. + + + + + + Description + + glIsQuery returns GL_TRUE if id is currently the name of a query object. + If id is zero, or is a non-zero value that is not currently the + name of a query object, or if an error occurs, glIsQuery returns GL_FALSE. + + + A name returned by glGenQueries, but not yet associated with a query object + by calling glBeginQuery, is not the name of a query object. + + + See Also + + glBeginQuery, + glDeleteQueries, + glEndQuery, + glGenQueries + + + Copyright + + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glIsRenderbuffer.xml b/Source/Bind/Specifications/Docs/GL4/glIsRenderbuffer.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glIsRenderbuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glIsRenderbuffer.xml index 490c910d..9edf9d89 100644 --- a/Source/Bind/Specifications/Docs/glIsRenderbuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsRenderbuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glIsRenderbuffer 3G @@ -24,7 +25,7 @@ - Parameters + Parameters renderbuffer @@ -36,7 +37,7 @@ - Description + Description glIsRenderbuffer returns GL_TRUE if renderbuffer is currently the name of a renderbuffer object. If renderbuffer is zero, or if renderbuffer is not the name of a renderbuffer object, or if an error @@ -46,7 +47,7 @@ then the name is not a renderbuffer object and glIsRenderbuffer returns GL_FALSE. - See Also + See Also glGenRenderbuffers, glBindRenderbuffer, @@ -54,12 +55,12 @@ glDeleteRenderbuffers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glIsSampler.xml b/Source/Bind/Specifications/Docs/GL4/glIsSampler.xml similarity index 75% rename from Source/Bind/Specifications/Docs/glIsSampler.xml rename to Source/Bind/Specifications/Docs/GL4/glIsSampler.xml index e17860cd..c77dc28e 100644 --- a/Source/Bind/Specifications/Docs/glIsSampler.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsSampler.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glIsSampler 3G @@ -24,7 +25,7 @@ - Parameters + Parameters id @@ -36,7 +37,7 @@ - Description + Description glIsSampler returns GL_TRUE if id is currently the name of a sampler object. If id is zero, or is a non-zero value that is not currently the @@ -46,24 +47,24 @@ A name returned by glGenSamplers, is the name of a sampler object. - Notes + Notes glIsSampler is available only if the GL version is 3.3 or higher. - See Also + See Also glGenSamplers, glBindSampler, glDeleteSamplers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glIsShader.xml b/Source/Bind/Specifications/Docs/GL4/glIsShader.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glIsShader.xml rename to Source/Bind/Specifications/Docs/GL4/glIsShader.xml index e8cf7185..aa1eb9e7 100644 --- a/Source/Bind/Specifications/Docs/glIsShader.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsShader.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glIsShader 3G @@ -28,7 +29,7 @@ - Parameters + Parameters shader @@ -38,7 +39,7 @@ - Description + Description glIsShader returns GL_TRUE if shader is the name of a shader object previously created with @@ -49,7 +50,7 @@ object, or if an error occurs, glIsShader returns GL_FALSE. - Notes + Notes No error is generated if shader is not a valid shader object name. @@ -57,7 +58,7 @@ but still attached to a program object is still considered a shader object and glIsShader will return GL_TRUE. - Associated Gets + Associated Gets glGetAttachedShaders with a valid program object @@ -71,7 +72,7 @@ glGetShaderSource with argument object - See Also + See Also glAttachShader, glCompileShader, glCreateShader, @@ -80,13 +81,13 @@ glLinkProgram, glShaderSource - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glIsSync.xml b/Source/Bind/Specifications/Docs/GL4/glIsSync.xml similarity index 75% rename from Source/Bind/Specifications/Docs/glIsSync.xml rename to Source/Bind/Specifications/Docs/GL4/glIsSync.xml index 26943ca2..8c506eb6 100644 --- a/Source/Bind/Specifications/Docs/glIsSync.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsSync.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glIsSync 3G @@ -24,7 +25,7 @@ - Parameters + Parameters sync @@ -36,19 +37,19 @@ - Description + Description glIsSync returns GL_TRUE if sync is currently the name of a sync object. If sync is not the name of a sync object, or if an error occurs, glIsSync returns GL_FALSE. Note that zero is not the name of a sync object. - Notes + Notes glIsSync is available only if the GL version is 3.2 or greater. - See Also + See Also glFenceSync, glWaitSync, @@ -56,12 +57,12 @@ glDeleteSync - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glIsTexture.xml b/Source/Bind/Specifications/Docs/GL4/glIsTexture.xml similarity index 79% rename from Source/Bind/Specifications/Docs/glIsTexture.xml rename to Source/Bind/Specifications/Docs/GL4/glIsTexture.xml index 9d824573..cc59e9d5 100644 --- a/Source/Bind/Specifications/Docs/glIsTexture.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsTexture.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glIsTexture 3G @@ -28,7 +29,7 @@ - Parameters + Parameters texture @@ -40,7 +41,7 @@ - Description + Description glIsTexture returns GL_TRUE if texture is currently the name of a texture. If texture is zero, or is a non-zero value that is not currently the @@ -51,7 +52,7 @@ by calling glBindTexture, is not the name of a texture. - See Also + See Also glBindTexture, glCopyTexImage1D, @@ -66,13 +67,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glIsTransformFeedback.xml b/Source/Bind/Specifications/Docs/GL4/glIsTransformFeedback.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glIsTransformFeedback.xml rename to Source/Bind/Specifications/Docs/GL4/glIsTransformFeedback.xml index ee63c387..78a633c3 100644 --- a/Source/Bind/Specifications/Docs/glIsTransformFeedback.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsTransformFeedback.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glIsTransformFeedback 3G @@ -24,7 +25,7 @@ - Parameters + Parameters id @@ -36,7 +37,7 @@ - Description + Description glIsTransformFeedback returns GL_TRUE if id is currently the name of a transform feedback object. If id is zero, or if id is not the name of a transform feedback object, or if an error @@ -46,19 +47,19 @@ returns GL_FALSE. - See Also + See Also glGenTransformFeedbacks, glBindTransformFeedback, glDeleteTransformFeedbacks - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glIsVertexArray.xml b/Source/Bind/Specifications/Docs/GL4/glIsVertexArray.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glIsVertexArray.xml rename to Source/Bind/Specifications/Docs/GL4/glIsVertexArray.xml index ed8a538c..3bf27253 100644 --- a/Source/Bind/Specifications/Docs/glIsVertexArray.xml +++ b/Source/Bind/Specifications/Docs/GL4/glIsVertexArray.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glIsVertexArray 3G @@ -24,7 +25,7 @@ - Parameters + Parameters array @@ -36,7 +37,7 @@ - Description + Description glIsVertexArray returns GL_TRUE if array is currently the name of a vertex array object. If array is zero, or if array is not the name of a vertex array object, or if an error @@ -46,19 +47,19 @@ glIsVertexArray returns GL_FALSE. - See Also + See Also glGenVertexArrays, glBindVertexArray, glDeleteVertexArrays - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glLineWidth.xml b/Source/Bind/Specifications/Docs/GL4/glLineWidth.xml new file mode 100644 index 00000000..85500157 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glLineWidth.xml @@ -0,0 +1,160 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glLineWidth + 3G + + + glLineWidth + specify the width of rasterized lines + + C Specification + + + void glLineWidth + GLfloat width + + + + Parameters + + + width + + + Specifies the width of rasterized lines. + The initial value is 1. + + + + + + Description + + glLineWidth specifies the rasterized width of both aliased and antialiased + lines. + Using a line width other than 1 has different effects, + depending on whether line antialiasing is enabled. + To enable and disable line antialiasing, call + glEnable and glDisable + with argument GL_LINE_SMOOTH. Line antialiasing is initially + disabled. + + + If line antialiasing is disabled, + the actual width is determined by rounding the supplied width + to the nearest integer. + (If the rounding results in the value 0, + it is as if the line width were 1.) + If + + + + + + + Δ + x + + + >= + + + Δ + y + + + + , + i pixels are filled in each column that is rasterized, + where i is the rounded value of width. + Otherwise, + i pixels are filled in each row that is rasterized. + + + If antialiasing is enabled, + line rasterization produces a fragment for each pixel square + that intersects the region lying within the rectangle having width + equal to the current line width, + length equal to the actual length of the line, + and centered on the mathematical line segment. + The coverage value for each fragment is the window coordinate area + of the intersection of the rectangular region with the corresponding + pixel square. + This value is saved and used in the final rasterization step. + + + Not all widths can be supported when line antialiasing is enabled. If an + unsupported width is requested, the nearest supported width is used. + Only width 1 is guaranteed to be supported; others depend on the + implementation. Likewise, there is a range for aliased line widths as well. + To query the range of supported widths and the size + difference between supported widths within the range, call glGet + with arguments GL_ALIASED_LINE_WIDTH_RANGE, + GL_SMOOTH_LINE_WIDTH_RANGE, and GL_SMOOTH_LINE_WIDTH_GRANULARITY. + + + Notes + + The line width specified by glLineWidth is always returned when GL_LINE_WIDTH + is queried. + Clamping and rounding for aliased and antialiased lines have no effect on the specified value. + + + Nonantialiased line width may be clamped to an implementation-dependent maximum. Call glGet with GL_ALIASED_LINE_WIDTH_RANGE to determine the maximum width. + + + In OpenGL 1.2, the tokens GL_LINE_WIDTH_RANGE and GL_LINE_WIDTH_GRANULARITY were replaced by GL_ALIASED_LINE_WIDTH_RANGE, + GL_SMOOTH_LINE_WIDTH_RANGE, and GL_SMOOTH_LINE_WIDTH_GRANULARITY. The old names are retained for backward compatibility, but should not be used in new code. + + + Errors + + GL_INVALID_VALUE is generated if width is less than or equal to 0. + + + Associated Gets + + glGet with argument GL_LINE_WIDTH + + + glGet with argument GL_ALIASED_LINE_WIDTH_RANGE + + + glGet with argument GL_SMOOTH_LINE_WIDTH_RANGE + + + glGet with argument GL_SMOOTH_LINE_WIDTH_GRANULARITY + + + glIsEnabled with argument GL_LINE_SMOOTH + + + See Also + + glEnable + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glLinkProgram.xml b/Source/Bind/Specifications/Docs/GL4/glLinkProgram.xml similarity index 93% rename from Source/Bind/Specifications/Docs/glLinkProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glLinkProgram.xml index 2269bdc6..2288cf2d 100644 --- a/Source/Bind/Specifications/Docs/glLinkProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glLinkProgram.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glLinkProgram 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -39,7 +40,7 @@ - Description + Description glLinkProgram links the program object specified by program. If any shader objects of type GL_VERTEX_SHADER are @@ -218,14 +219,14 @@ objects. None of these operations affects the information log or the program that is part of the program object. - Notes + Notes If the link operation is unsuccessful, any information about a previous link operation on program is lost (i.e., a failed link does not restore the old state of program ). Certain information can still be retrieved from program even after an unsuccessful link operation. See for instance glGetActiveAttrib and glGetActiveUniform. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -236,7 +237,7 @@ is generated if program is the currently active program object and transform feedback mode is active. - Associated Gets + Associated Gets glGet with the argument GL_CURRENT_PROGRAM glGetActiveAttrib @@ -244,7 +245,7 @@ and the index of an active attribute variable glGetActiveUniform with argument program - and the index of an active uniform variable + and the index of an active uniform variable glGetAttachedShaders with argument program glGetAttribLocation @@ -263,7 +264,7 @@ and a uniform variable name glIsProgram - See Also + See Also glAttachShader, glBindAttribLocation, glCompileShader, @@ -274,13 +275,13 @@ glUseProgram, glValidateProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glLogicOp.xml b/Source/Bind/Specifications/Docs/GL4/glLogicOp.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glLogicOp.xml rename to Source/Bind/Specifications/Docs/GL4/glLogicOp.xml index 1848a9b4..eb18ec59 100644 --- a/Source/Bind/Specifications/Docs/glLogicOp.xml +++ b/Source/Bind/Specifications/Docs/GL4/glLogicOp.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glLogicOp 3G @@ -28,7 +29,7 @@ - Parameters + Parameters opcode @@ -57,7 +58,7 @@ - Description + Description glLogicOp specifies a logical operation that, when enabled, @@ -73,8 +74,8 @@ - - + + @@ -228,7 +229,7 @@ source and destination colors. - Notes + Notes When more than one RGBA color buffer is enabled for drawing, logical operations are performed separately for each enabled buffer, @@ -241,12 +242,12 @@ in this case. - Errors + Errors GL_INVALID_ENUM is generated if opcode is not an accepted value. - Associated Gets + Associated Gets glGet with argument GL_LOGIC_OP_MODE. @@ -254,7 +255,7 @@ glIsEnabled with argument GL_COLOR_LOGIC_OP. - See Also + See Also glBlendFunc, glDrawBuffer, @@ -262,13 +263,13 @@ glStencilOp - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glMapBuffer.xml b/Source/Bind/Specifications/Docs/GL4/glMapBuffer.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glMapBuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glMapBuffer.xml index 1f1d817b..09b92b8c 100644 --- a/Source/Bind/Specifications/Docs/glMapBuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMapBuffer.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glMapBuffer 3G @@ -35,7 +36,7 @@ - Parameters + Parameters target @@ -73,7 +74,7 @@ - Description + Description glMapBuffer maps to the client's address space the entire data store of the buffer object currently bound to target. The data can then be directly read and/or written relative to @@ -108,7 +109,7 @@ is recreated with glBufferData. - Notes + Notes If an error is generated, glMapBuffer returns NULL, and glUnmapBuffer returns GL_FALSE. @@ -130,7 +131,7 @@ The GL_QUERY_BUFFER target is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the accepted targets. @@ -156,7 +157,7 @@ a buffer object whose data store is not currently mapped. - Associated Gets + Associated Gets glGetBufferPointerv with argument GL_BUFFER_MAP_POINTER @@ -164,7 +165,7 @@ glGetBufferParameter with argument GL_BUFFER_MAPPED, GL_BUFFER_ACCESS, or GL_BUFFER_USAGE - See Also + See Also glBindBuffer, glBindBufferBase, @@ -174,13 +175,13 @@ glDeleteBuffers - Copyright + Copyright - Copyright 2005 Addison-Wesley. - Copyright 2010-2013 Khronos Group. + Copyright 2005 Addison-Wesley. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glMapBufferRange.xml b/Source/Bind/Specifications/Docs/GL4/glMapBufferRange.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glMapBufferRange.xml rename to Source/Bind/Specifications/Docs/GL4/glMapBufferRange.xml index c8ee3687..ab02f45a 100644 --- a/Source/Bind/Specifications/Docs/glMapBufferRange.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMapBufferRange.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glMapBufferRange 3G @@ -27,7 +28,7 @@ - Parameters + Parameters target @@ -63,7 +64,7 @@ - Description + Description glMapBufferRange maps all or part of the data store of a buffer object into the client's address space. target specifies the target to which the buffer is bound and must be one of GL_ARRAY_BUFFER, @@ -173,7 +174,7 @@ from this returned pointed will always produce a multiple of GL_MIN_MAP_BUFFER_ALINMENT. - Notes + Notes Alignment of the returned pointer is guaranteed only if the version of the GL version is 4.2 or greater. Also, the GL_ATOMIC_COUNTER_BUFFER @@ -191,7 +192,7 @@ only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_VALUE is generated if either of offset or length is negative, or if offset + length is greater than the value of GL_BUFFER_SIZE. @@ -237,7 +238,7 @@ mapping could not be obtained. - See Also + See Also glMapBuffer, glFlushMappedBufferRange, @@ -245,12 +246,12 @@ glBufferStorage - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glMemoryBarrier.xml b/Source/Bind/Specifications/Docs/GL4/glMemoryBarrier.xml similarity index 95% rename from Source/Bind/Specifications/Docs/glMemoryBarrier.xml rename to Source/Bind/Specifications/Docs/GL4/glMemoryBarrier.xml index 12091237..d76e5751 100644 --- a/Source/Bind/Specifications/Docs/glMemoryBarrier.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMemoryBarrier.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glMemoryBarrier 3G @@ -24,7 +25,7 @@ - Parameters + Parameters barriers @@ -42,7 +43,7 @@ - Description + Description glMemoryBarrier defines a barrier ordering the memory transactions issued prior to the command relative to those issued after the barrier. For the purposes of @@ -286,7 +287,7 @@ - Notes + Notes glMemoryBarrier is available only if the GL version is 4.2 or higher. @@ -297,13 +298,13 @@ GL_QUERY_BUFFER_BARRIER_BIT is available only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_VALUE is generated if barriers contains any unsupported bits, or is not the special value GL_ALL_BARRIER_BITS. - See Also + See Also glBindImageTexture, glBufferData, @@ -312,12 +313,12 @@ glFlushMappedBufferRange - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glMinSampleShading.xml b/Source/Bind/Specifications/Docs/GL4/glMinSampleShading.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glMinSampleShading.xml rename to Source/Bind/Specifications/Docs/GL4/glMinSampleShading.xml index be82bb7a..59e0fe65 100644 --- a/Source/Bind/Specifications/Docs/glMinSampleShading.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMinSampleShading.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group. - + glMinSampleShading 3G @@ -24,7 +25,7 @@ - Parameters + Parameters value @@ -36,7 +37,7 @@ - Description + Description glMinSampleShading specifies the rate at which samples are shaded within a covered pixel. Sample-rate shading is enabled by calling glEnable @@ -55,7 +56,7 @@ used to select that subset of the fragment's samples is implementation dependent. - Notes + Notes The type of the value parameter was changed from GLclampf to GLfloat. This change is transparent @@ -64,12 +65,12 @@ page. - Errors + Errors None. - Associated Gets + Associated Gets glGet with argument GL_MIN_SAMPLE_SHADING. @@ -77,17 +78,17 @@ glGet with argument GL_SAMPLES. - See Also + See Also removedTypes - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glMultiDrawArrays.xml b/Source/Bind/Specifications/Docs/GL4/glMultiDrawArrays.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glMultiDrawArrays.xml rename to Source/Bind/Specifications/Docs/GL4/glMultiDrawArrays.xml index 7ad0f3a6..b245c8de 100644 --- a/Source/Bind/Specifications/Docs/glMultiDrawArrays.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMultiDrawArrays.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glMultiDrawArrays 3G @@ -27,7 +28,7 @@ - Parameters + Parameters mode @@ -76,7 +77,7 @@ - Description + Description glMultiDrawArrays specifies multiple sets of geometric primitives with very few subroutine calls. Instead of calling a GL procedure @@ -103,7 +104,7 @@ modified remain well defined. - Notes + Notes GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, @@ -112,7 +113,7 @@ are available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -124,21 +125,21 @@ enabled array and the buffer object's data store is currently mapped. - See Also + See Also glDrawElements, glDrawRangeElements - Copyright + Copyright - Copyright 1991-2006 + Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glMultiDrawArraysIndirect.xml b/Source/Bind/Specifications/Docs/GL4/glMultiDrawArraysIndirect.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glMultiDrawArraysIndirect.xml rename to Source/Bind/Specifications/Docs/GL4/glMultiDrawArraysIndirect.xml index aa868dd5..cc322bff 100644 --- a/Source/Bind/Specifications/Docs/glMultiDrawArraysIndirect.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMultiDrawArraysIndirect.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2012-2013 Khronos Group. - + glMultiDrawArraysIndirect 3G @@ -27,7 +28,7 @@ - Parameters + Parameters mode @@ -77,7 +78,7 @@ - Description + Description glMultiDrawArraysIndirect specifies multiple geometric primitives with very few subroutine calls. glMultiDrawArraysIndirect behaves @@ -90,31 +91,27 @@ The parameters addressed by indirect are packed into an array of structures, each element of which takes the form (in C): - typedef struct { uint count; uint instanceCount; uint first; uint baseInstance; - } DrawArraysIndirectCommand;]]> + } DrawArraysIndirectCommand; A single call to glMultiDrawArraysIndirect is equivalent, assuming no errors are generated to: - GLsizei n; + for (n = 0; n < drawcount; n++) { + const DrawArraysIndirectCommand *cmd; + if (stride != 0) { cmd = (const DrawArraysIndirectCommand *)((uintptr)indirect + n * stride); - } - else - { + } else { cmd = (const DrawArraysIndirectCommand *)indirect + n; } - glDrawArraysInstancedBaseInstance(mode, cmd->first, cmd->count, cmd->instanceCount, cmd->baseInstance); - }]]> + glDrawArraysInstancedBaseInstance(mode, cmd->first, cmd->count, cmd->instanceCount, cmd->baseInstance); + } If a buffer is bound to the GL_DRAW_INDIRECT_BUFFER binding at the time @@ -133,7 +130,7 @@ modified remain well defined. - Notes + Notes The baseInstance member of the DrawArraysIndirectCommand structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2, @@ -144,7 +141,7 @@ glMultiDrawArraysIndirect is available only if the GL version is 4.3 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -168,7 +165,7 @@ and no tessellation control shader is active. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -178,12 +175,12 @@ glMultiDrawElementsIndirect - Copyright + Copyright - Copyright 2012-2013 Khronos Group. + Copyright 2012-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glMultiDrawElements.xml b/Source/Bind/Specifications/Docs/GL4/glMultiDrawElements.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glMultiDrawElements.xml rename to Source/Bind/Specifications/Docs/GL4/glMultiDrawElements.xml index e9fbbb50..17fcb30c 100644 --- a/Source/Bind/Specifications/Docs/glMultiDrawElements.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMultiDrawElements.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glMultiDrawElements 3G @@ -28,7 +29,7 @@ - Parameters + Parameters mode @@ -87,7 +88,7 @@ - Description + Description glMultiDrawElements specifies multiple sets of geometric primitives with very few subroutine calls. Instead of calling a GL function to pass each individual vertex, @@ -105,7 +106,7 @@ modified maintain their previous values. - Notes + Notes GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, @@ -114,7 +115,7 @@ are available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -126,21 +127,21 @@ enabled array or the element array and the buffer object's data store is currently mapped. - See Also + See Also glDrawArrays, glDrawRangeElements - Copyright + Copyright - Copyright 1991-2006 + Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glMultiDrawElementsBaseVertex.xml b/Source/Bind/Specifications/Docs/GL4/glMultiDrawElementsBaseVertex.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glMultiDrawElementsBaseVertex.xml rename to Source/Bind/Specifications/Docs/GL4/glMultiDrawElementsBaseVertex.xml index 6c5734d9..9899bc1b 100644 --- a/Source/Bind/Specifications/Docs/glMultiDrawElementsBaseVertex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMultiDrawElementsBaseVertex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glMultiDrawElementsBaseVertex 3G @@ -29,7 +30,7 @@ - Parameters + Parameters mode @@ -96,7 +97,7 @@ - Description + Description glMultiDrawElementsBaseVertex behaves identically to glDrawElementsBaseVertex, except that drawcount separate lists of elements are specifried instead. @@ -104,7 +105,7 @@ It has the same effect as: for (int i = 0; i < drawcount; i++) - if (count[i] > 0) + if (count[i] > 0) glDrawElementsBaseVertex(mode, count[i], type, @@ -112,7 +113,7 @@ basevertex[i]); - Notes + Notes glMultiDrawElementsBaseVertex is available only if the GL version is 3.1 or greater. @@ -124,7 +125,7 @@ are available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -136,7 +137,7 @@ enabled array or the element array and the buffer object's data store is currently mapped. - See Also + See Also glMultiDrawElements, glDrawElementsBaseVertex, @@ -144,12 +145,12 @@ glVertexAttribPointer - Copyright + Copyright - Copyright 2010 Khronos Group. + Copyright 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glMultiDrawElementsIndirect.xml b/Source/Bind/Specifications/Docs/GL4/glMultiDrawElementsIndirect.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glMultiDrawElementsIndirect.xml rename to Source/Bind/Specifications/Docs/GL4/glMultiDrawElementsIndirect.xml index 36aaf644..c202ee1e 100644 --- a/Source/Bind/Specifications/Docs/glMultiDrawElementsIndirect.xml +++ b/Source/Bind/Specifications/Docs/GL4/glMultiDrawElementsIndirect.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group. - + glMultiDrawElementsIndirect 3G @@ -28,7 +29,7 @@ - Parameters + Parameters mode @@ -86,7 +87,7 @@ - Description + Description glMultiDrawElementsIndirect specifies multiple indexed geometric primitives with very few subroutine calls. glMultiDrawElementsIndirect behaves @@ -99,38 +100,34 @@ The parameters addressed by indirect are packed into a structure that takes the form (in C): - typedef struct { uint count; uint instanceCount; uint firstIndex; uint baseVertex; uint baseInstance; - } DrawElementsIndirectCommand;]]> + } DrawElementsIndirectCommand; A single call to glMultiDrawElementsIndirect is equivalent, assuming no errors are generated to: - GLsizei n; + for (n = 0; n < drawcount; n++) { + const DrawElementsIndirectCommand *cmd; + if (stride != 0) { cmd = (const DrawElementsIndirectCommand *)((uintptr)indirect + n * stride); - } - else - { + } else { cmd = (const DrawElementsIndirectCommand *)indirect + n; } glDrawElementsInstancedBaseVertexBaseInstance(mode, - cmd->count, + cmd->count, type, - cmd->firstIndex + size-of-type, - cmd->instanceCount, - cmd->baseVertex, - cmd->baseInstance); - }]]> + cmd->firstIndex + size-of-type, + cmd->instanceCount, + cmd->baseVertex, + cmd->baseInstance); + } If a buffer is bound to the GL_DRAW_INDIRECT_BUFFER binding at the time @@ -152,7 +149,7 @@ modified remain well defined. - Notes + Notes The baseInstance member of the DrawElementsIndirectCommand structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2, @@ -160,7 +157,7 @@ behavior is undefined if it is non-zero. - Errors + Errors GL_INVALID_ENUM is generated if mode is not an accepted value. @@ -188,7 +185,7 @@ and no tessellation control shader is active. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -199,12 +196,12 @@ glMultiDrawArraysIndirect - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glObjectLabel.xml b/Source/Bind/Specifications/Docs/GL4/glObjectLabel.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glObjectLabel.xml rename to Source/Bind/Specifications/Docs/GL4/glObjectLabel.xml index ff4a1447..4e6503d1 100644 --- a/Source/Bind/Specifications/Docs/glObjectLabel.xml +++ b/Source/Bind/Specifications/Docs/GL4/glObjectLabel.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glObjectLabel 3G @@ -27,7 +28,7 @@ - Parameters + Parameters identifier @@ -63,7 +64,7 @@ - Description + Description glObjectLabel labels the object identified by name within the namespace given by identifier. @@ -83,7 +84,7 @@ is NULL, any debug label is effectively removed from the object. - Errors + Errors GL_INVALID_ENUM is generated if identifier is not one of the accepted object types. @@ -98,24 +99,24 @@ is negative, is greater than the value of GL_MAX_LABEL_LENGTH. - Associated Gets + Associated Gets glGet with argument GL_MAX_LABEL_LENGTH. - See Also + See Also glPushDebugGroup, glPopDebugGroup, glObjectPtrLabel. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glObjectPtrLabel.xml b/Source/Bind/Specifications/Docs/GL4/glObjectPtrLabel.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glObjectPtrLabel.xml rename to Source/Bind/Specifications/Docs/GL4/glObjectPtrLabel.xml index 16794167..0691e695 100644 --- a/Source/Bind/Specifications/Docs/glObjectPtrLabel.xml +++ b/Source/Bind/Specifications/Docs/GL4/glObjectPtrLabel.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glObjectPtrLabel 3G @@ -26,7 +27,7 @@ - Parameters + Parameters ptr @@ -54,7 +55,7 @@ - Description + Description glObjectPtrLabel labels the sync object identified by ptr. @@ -67,7 +68,7 @@ is NULL, any debug label is effectively removed from the object. - Errors + Errors GL_INVALID_VALUE is generated if ptr is not a valid sync object. @@ -78,24 +79,24 @@ is negative, is greater than the value of GL_MAX_LABEL_LENGTH. - Associated Gets + Associated Gets glGet with argument GL_MAX_LABEL_LENGTH. - See Also + See Also glPushDebugGroup, glPopDebugGroup, glObjectLabel. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glPatchParameter.xml b/Source/Bind/Specifications/Docs/GL4/glPatchParameter.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glPatchParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glPatchParameter.xml index 1c2fe053..6a5f96e9 100644 --- a/Source/Bind/Specifications/Docs/glPatchParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPatchParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glPatchParameter 3G @@ -32,7 +33,7 @@ - Parameters + Parameters pname @@ -61,7 +62,7 @@ - Description + Description glPatchParameter specifies the parameters that will be used for patch primitives. pname specifies the parameter to modify and must be either GL_PATCH_VERTICES, GL_PATCH_DEFAULT_OUTER_LEVEL @@ -83,7 +84,7 @@ to be used when no tessellation control shader is present. - Errors + Errors GL_INVALID_ENUM is generated if pname is not an accepted value. @@ -92,7 +93,7 @@ and value is less than or equal to zero, or greater than the value of GL_MAX_PATCH_VERTICES. - See Also + See Also glDrawArrays, glDrawArraysInstanced, @@ -100,12 +101,12 @@ glDrawRangeElements, - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glPauseTransformFeedback.xml b/Source/Bind/Specifications/Docs/GL4/glPauseTransformFeedback.xml similarity index 76% rename from Source/Bind/Specifications/Docs/glPauseTransformFeedback.xml rename to Source/Bind/Specifications/Docs/GL4/glPauseTransformFeedback.xml index afcc281a..315e1eb5 100644 --- a/Source/Bind/Specifications/Docs/glPauseTransformFeedback.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPauseTransformFeedback.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glPauseTransformFeedback 3G @@ -24,7 +25,7 @@ - Description + Description glPauseTransformFeedback pauses transform feedback operations on the currently active transform feedback object. When transform feedback operations are paused, transform feedback is still considered active and changing most @@ -32,12 +33,12 @@ while transform feedback is paused. - Errors + Errors GL_INVALID_OPERATION is generated if the currently bound transform feedback object is not active or is paused. - See Also + See Also glGenTransformFeedbacks, glBindTransformFeedback, @@ -47,12 +48,12 @@ glDeleteTransformFeedbacks - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glPixelStore.xml b/Source/Bind/Specifications/Docs/GL4/glPixelStore.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glPixelStore.xml rename to Source/Bind/Specifications/Docs/GL4/glPixelStore.xml index 6b973008..6ab33215 100644 --- a/Source/Bind/Specifications/Docs/glPixelStore.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPixelStore.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glPixelStore 3G @@ -36,7 +37,7 @@ - Parameters + Parameters pname @@ -74,7 +75,7 @@ - Description + Description glPixelStore sets pixel storage modes that affect the operation of subsequent glReadPixels as well as the unpacking of @@ -103,50 +104,50 @@ is reversed. That is, if a four-byte component consists of bytes - + b 0 , - + b 1 , - + b 2 , - + b 3 , it is stored in memory as - + b 3 , - + b 2 , - + b 1 , - + b 0 @@ -183,12 +184,12 @@ If greater than 0, GL_PACK_ROW_LENGTH defines the number of pixels in a row. If the first pixel of a row is placed at location - p + p in memory, then the location of the first pixel of the next row is obtained by skipping - + k @@ -254,20 +255,20 @@ components or indices, where - n + n is the number of components or indices in a pixel, - l + l is the number of pixels in a row (GL_PACK_ROW_LENGTH if it is greater than 0, the - width + width argument to the pixel routine otherwise), - a + a is the value of GL_PACK_ALIGNMENT, and - s + s is the size, in bytes, of a single component (if - + a @@ -276,7 +277,7 @@ , then it is as if - + a @@ -288,7 +289,7 @@ the location of the next row is obtained by skipping - + k @@ -348,12 +349,12 @@ three-dimensional texture volume, where ``image'' is defined by all pixels sharing the same third dimension index. If the first pixel of a row is placed at location - p + p in memory, then the location of the first pixel of the next row is obtained by skipping - + k @@ -422,27 +423,27 @@ components or indices, where - n + n is the number of components or indices in a pixel, - l + l is the number of pixels in a row (GL_PACK_ROW_LENGTH if it is greater than 0, the - width + width argument to glTexImage3D otherwise), - h + h is the number of rows in a pixel image (GL_PACK_IMAGE_HEIGHT if it is greater than 0, the - height + height argument to the glTexImage3D routine otherwise), - a + a is the value of GL_PACK_ALIGNMENT, and - s + s is the size, in bytes, of a single component (if - + a @@ -451,7 +452,7 @@ , then it is as if - + a @@ -484,10 +485,10 @@ they provide no functionality that cannot be duplicated simply by incrementing the pointer passed to glReadPixels. Setting GL_PACK_SKIP_PIXELS to - i + i is equivalent to incrementing the pointer by - + i @@ -497,13 +498,13 @@ components or indices, where - n + n is the number of components or indices in each pixel. Setting GL_PACK_SKIP_ROWS to - j + j is equivalent to incrementing the pointer by - + j @@ -513,14 +514,14 @@ components or indices, where - m + m is the number of components or indices per row, as just computed in the GL_PACK_ROW_LENGTH section. Setting GL_PACK_SKIP_IMAGES to - k + k is equivalent to incrementing the pointer by - + k @@ -529,7 +530,7 @@ , where - p + p is the number of components or indices per image, as computed in the GL_PACK_IMAGE_HEIGHT section. @@ -575,50 +576,50 @@ is reversed. That is, if a four-byte component consists of bytes - + b 0 , - + b 1 , - + b 2 , - + b 3 , it is taken from memory as - + b 3 , - + b 2 , - + b 1 , - + b 0 @@ -655,12 +656,12 @@ If greater than 0, GL_UNPACK_ROW_LENGTH defines the number of pixels in a row. If the first pixel of a row is placed at location - p + p in memory, then the location of the first pixel of the next row is obtained by skipping - + k @@ -726,20 +727,20 @@ components or indices, where - n + n is the number of components or indices in a pixel, - l + l is the number of pixels in a row (GL_UNPACK_ROW_LENGTH if it is greater than 0, the - width + width argument to the pixel routine otherwise), - a + a is the value of GL_UNPACK_ALIGNMENT, and - s + s is the size, in bytes, of a single component (if - + a @@ -748,7 +749,7 @@ , then it is as if - + a @@ -760,7 +761,7 @@ the location of the next row is obtained by skipping - + k @@ -820,12 +821,12 @@ a three-dimensional texture volume. Where ``image'' is defined by all pixel sharing the same third dimension index. If the first pixel of a row is placed at location - p + p in memory, then the location of the first pixel of the next row is obtained by skipping - + k @@ -895,25 +896,25 @@ components or indices, where - n + n is the number of components or indices in a pixel, - l + l is the number of pixels in a row (GL_UNPACK_ROW_LENGTH if it is greater than 0, the - width + width argument to glTexImage3D otherwise), - h + h is the number of rows in an image (GL_UNPACK_IMAGE_HEIGHT if it is greater than 0, the - height + height argument to glTexImage3D otherwise), - a + a is the value of GL_UNPACK_ALIGNMENT, and - s + s is the size, in bytes, of a single component (if - + a @@ -922,7 +923,7 @@ , then it is as if - + a @@ -959,10 +960,10 @@ glTexSubImage1D or glTexSubImage2D. Setting GL_UNPACK_SKIP_PIXELS to - i + i is equivalent to incrementing the pointer by - + i @@ -972,13 +973,13 @@ components or indices, where - n + n is the number of components or indices in each pixel. Setting GL_UNPACK_SKIP_ROWS to - j + j is equivalent to incrementing the pointer by - + j @@ -988,7 +989,7 @@ components or indices, where - k + k is the number of components or indices per row, as just computed in the GL_UNPACK_ROW_LENGTH section. @@ -1018,10 +1019,10 @@ - - - - + + + + @@ -1078,7 +1079,7 @@ 0 - + 0 @@ -1098,7 +1099,7 @@ 0 - + 0 @@ -1118,7 +1119,7 @@ 0 - + 0 @@ -1138,7 +1139,7 @@ 0 - + 0 @@ -1158,7 +1159,7 @@ 0 - + 0 @@ -1220,7 +1221,7 @@ 0 - + 0 @@ -1240,7 +1241,7 @@ 0 - + 0 @@ -1260,7 +1261,7 @@ 0 - + 0 @@ -1280,7 +1281,7 @@ 0 - + 0 @@ -1300,7 +1301,7 @@ 0 - + 0 @@ -1341,7 +1342,7 @@ Boolean parameters are set to false if param is 0 and true otherwise. - Errors + Errors GL_INVALID_ENUM is generated if pname is not an accepted value. @@ -1352,7 +1353,7 @@ or if alignment is specified as other than 1, 2, 4, or 8. - Associated Gets + Associated Gets glGet with argument GL_PACK_SWAP_BYTES @@ -1402,7 +1403,7 @@ glGet with argument GL_UNPACK_ALIGNMENT - See Also + See Also glReadPixels, glTexImage1D, @@ -1419,13 +1420,13 @@ glCompressedTexSubImage1D. - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glPointParameter.xml b/Source/Bind/Specifications/Docs/GL4/glPointParameter.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glPointParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glPointParameter.xml index 1d9cc263..af23b544 100644 --- a/Source/Bind/Specifications/Docs/glPointParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPointParameter.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glPointParameter 3G @@ -50,7 +51,7 @@ - Parameters + Parameters pname @@ -86,7 +87,7 @@ - Description + Description The following values are accepted for pname: @@ -116,7 +117,7 @@ - Errors + Errors GL_INVALID_VALUE is generated if the value specified for GL_POINT_FADE_THRESHOLD_SIZE is less than zero. @@ -126,7 +127,7 @@ GL_POINT_SPRITE_COORD_ORIGIN is not GL_LOWER_LEFT or GL_UPPER_LEFT. - Associated Gets + Associated Gets glGet with argument GL_POINT_FADE_THRESHOLD_SIZE @@ -134,18 +135,18 @@ glGet with argument GL_POINT_SPRITE_COORD_ORIGIN - See Also + See Also glPointSize - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glPointSize.xml b/Source/Bind/Specifications/Docs/GL4/glPointSize.xml similarity index 78% rename from Source/Bind/Specifications/Docs/glPointSize.xml rename to Source/Bind/Specifications/Docs/GL4/glPointSize.xml index 969185cc..13384458 100644 --- a/Source/Bind/Specifications/Docs/glPointSize.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPointSize.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glPointSize 3G @@ -28,7 +29,7 @@ - Parameters + Parameters size @@ -41,7 +42,7 @@ - Description + Description glPointSize specifies the rasterized diameter of points. If point size mode is disabled (see glEnable with parameter @@ -49,18 +50,18 @@ the value written to the shading language built-in variable gl_PointSize will be used. - Notes + Notes The point size specified by glPointSize is always returned when GL_POINT_SIZE is queried. Clamping and rounding for points have no effect on the specified value. - Errors + Errors GL_INVALID_VALUE is generated if size is less than or equal to 0. - Associated Gets + Associated Gets glGet with argument GL_POINT_SIZE_RANGE @@ -77,19 +78,19 @@ glIsEnabled with argument GL_PROGRAM_POINT_SIZE - See Also + See Also glEnable, glPointParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glPolygonMode.xml b/Source/Bind/Specifications/Docs/GL4/glPolygonMode.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glPolygonMode.xml rename to Source/Bind/Specifications/Docs/GL4/glPolygonMode.xml index ddc70ef2..6c98e62d 100644 --- a/Source/Bind/Specifications/Docs/glPolygonMode.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPolygonMode.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glPolygonMode 3G @@ -29,7 +30,7 @@ - Parameters + Parameters face @@ -55,7 +56,7 @@ - Description + Description glPolygonMode controls the interpretation of polygons for rasterization. face describes which polygons mode applies to: @@ -107,7 +108,7 @@ - Examples + Examples To draw a surface with outlined polygons, call @@ -116,37 +117,37 @@ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE - Notes + Notes Vertices are marked as boundary or nonboundary with an edge flag. Edge flags are generated internally by the GL when it decomposes triangle stips and fans. - Errors + Errors GL_INVALID_ENUM is generated if either face or mode is not an accepted value. - Associated Gets + Associated Gets glGet with argument GL_POLYGON_MODE - See Also + See Also glLineWidth, glPointSize - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/GL4/glPolygonOffset.xml b/Source/Bind/Specifications/Docs/GL4/glPolygonOffset.xml new file mode 100644 index 00000000..9fe17fed --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glPolygonOffset.xml @@ -0,0 +1,125 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glPolygonOffset + 3G + + + glPolygonOffset + set the scale and units used to calculate depth values + + C Specification + + + void glPolygonOffset + GLfloat factor + GLfloat units + + + + Parameters + + + factor + + + Specifies a scale factor that is used to create a variable + depth offset for each polygon. The initial value is 0. + + + + + units + + + Is multiplied by an implementation-specific value to + create a constant depth offset. The initial value is 0. + + + + + + Description + + When GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, or + GL_POLYGON_OFFSET_POINT is enabled, each + fragment's depth value will be offset after it is interpolated + from the depth values of the appropriate vertices. + The value of the offset is + + + + + factor + × + DZ + + + + + r + × + units + + + , + where + + + DZ + + is a measurement of the change in depth relative to the screen + area of the polygon, and + r + is the smallest value that is guaranteed to + produce a resolvable offset for a given implementation. + The offset is added before the depth test is performed and before + the value is written into the depth buffer. + + + glPolygonOffset is useful for rendering hidden-line images, for applying decals + to surfaces, and for rendering solids with highlighted edges. + + + Associated Gets + + glIsEnabled with argument + GL_POLYGON_OFFSET_FILL, + GL_POLYGON_OFFSET_LINE, + or GL_POLYGON_OFFSET_POINT. + + + glGet with argument GL_POLYGON_OFFSET_FACTOR or + GL_POLYGON_OFFSET_UNITS. + + + See Also + + glDepthFunc, + glEnable, + glGet, + glIsEnabled + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glPopDebugGroup.xml b/Source/Bind/Specifications/Docs/GL4/glPopDebugGroup.xml similarity index 77% rename from Source/Bind/Specifications/Docs/glPopDebugGroup.xml rename to Source/Bind/Specifications/Docs/GL4/glPopDebugGroup.xml index 0097dd66..3d2e2618 100644 --- a/Source/Bind/Specifications/Docs/glPopDebugGroup.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPopDebugGroup.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glPopDebugGroup 3G @@ -24,7 +25,7 @@ - Description + Description glPopDebugGroup pops the active debug group. After popping a debug group, the GL will also generate a debug @@ -38,30 +39,30 @@ the debug output volume control of the parent debug group. - Errors + Errors GL_STACK_UNDERFLOW is generated if an attempt is made to pop the default debug group from the stack. - Associated Gets + Associated Gets glGet with argument GL_MAX_DEBUG_MESSAGE_LENGTH. - See Also + See Also glPushDebugGroup, glObjectLabel, glObjectPtrLabel. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glPrimitiveRestartIndex.xml b/Source/Bind/Specifications/Docs/GL4/glPrimitiveRestartIndex.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glPrimitiveRestartIndex.xml rename to Source/Bind/Specifications/Docs/GL4/glPrimitiveRestartIndex.xml index 5c93734a..871f6985 100644 --- a/Source/Bind/Specifications/Docs/glPrimitiveRestartIndex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPrimitiveRestartIndex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glPrimitiveRestartIndex 3G @@ -24,7 +25,7 @@ - Parameters + Parameters index @@ -36,7 +37,7 @@ - Description + Description glPrimitiveRestartIndex specifies a vertex array element that is treated specially when primitive restarting is enabled. This is known as the primitive restart index. @@ -56,12 +57,12 @@ comparison occurs before the basevertex offset is added to the array index. - Notes + Notes glPrimitiveRestartIndex is available only if the GL version is 3.1 or greater. - See Also + See Also glDrawArrays, glDrawElements, @@ -69,12 +70,12 @@ glDrawElementsInstancedBaseVertex - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glProgramBinary.xml b/Source/Bind/Specifications/Docs/GL4/glProgramBinary.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glProgramBinary.xml rename to Source/Bind/Specifications/Docs/GL4/glProgramBinary.xml index 116a6401..6bfadb09 100644 --- a/Source/Bind/Specifications/Docs/glProgramBinary.xml +++ b/Source/Bind/Specifications/Docs/GL4/glProgramBinary.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glProgramBinary 3G @@ -27,7 +28,7 @@ - Parameters + Parameters program @@ -63,7 +64,7 @@ - Description + Description glProgramBinary loads a program object with a program binary previously returned from glGetProgramBinary. @@ -93,7 +94,7 @@ restored with glProgramBinary is called. - Errors + Errors GL_INVALID_OPERATION is generated if program is not the name of an existing program object. @@ -103,14 +104,14 @@ value recognized by the implementation. - Notes + Notes A program binary may fail to load if the implementation determines that there has been a change in hardware or software configuration from when the program binary was produced such as having been compiled with an incompatible or outdated version of the compiler. - Associated Gets + Associated Gets glGetProgram with argument GL_PROGRAM_BINARY_LENGTH @@ -121,18 +122,18 @@ glGet with argument GL_PROGRAM_BINARY_FORMATS - See Also + See Also glGetProgram, glGetProgramBinary - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glProgramParameter.xml b/Source/Bind/Specifications/Docs/GL4/glProgramParameter.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glProgramParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glProgramParameter.xml index 684686d1..089aaa82 100644 --- a/Source/Bind/Specifications/Docs/glProgramParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glProgramParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glProgramParameter 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -54,7 +55,7 @@ - Description + Description glProgramParameter specifies a new value for the parameter nameed by pname for the program object program. @@ -81,7 +82,7 @@ GL_PROGRAM_SEPARABLE is GL_FALSE. - Errors + Errors GL_INVALID_OPERATION is generated if program is not the name of an existing program object. @@ -95,24 +96,24 @@ value for the parameter named by pname. - Associated Gets + Associated Gets glGetProgram. - See Also + See Also glGetProgram, glGetProgramBinary, glProgramBinary - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glProgramUniform.xml b/Source/Bind/Specifications/Docs/GL4/glProgramUniform.xml similarity index 96% rename from Source/Bind/Specifications/Docs/glProgramUniform.xml rename to Source/Bind/Specifications/Docs/GL4/glProgramUniform.xml index 6baa0570..dc397238 100644 --- a/Source/Bind/Specifications/Docs/glProgramUniform.xml +++ b/Source/Bind/Specifications/Docs/GL4/glProgramUniform.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glProgramUniform 3G @@ -305,7 +306,7 @@ - Parameters + Parameters program @@ -375,7 +376,7 @@ - Description + Description glProgramUniform modifies the value of a uniform variable or a uniform variable array. The location of the uniform variable to be modified is specified by @@ -474,7 +475,7 @@ and a count greater than 1 can be used to modify an array of matrices. - Notes + Notes glProgramUniform1i and glProgramUniform1iv are the only two functions that may be used to load uniform variables defined as sampler @@ -501,7 +502,7 @@ equal to -1, the data passed in will be silently ignored and the specified uniform variable will not be changed. - Errors + Errors GL_INVALID_OPERATION is generated if program does not refer to a program object owned by the GL. @@ -547,7 +548,7 @@ glProgramUniform1iv. - Associated Gets + Associated Gets glGetActiveUniform with the handle of a program object and the index of an active uniform variable @@ -559,17 +560,17 @@ with the handle of a program object and the name of a uniform variable - See Also + See Also glLinkProgram, glUseProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glProvokingVertex.xml b/Source/Bind/Specifications/Docs/GL4/glProvokingVertex.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glProvokingVertex.xml rename to Source/Bind/Specifications/Docs/GL4/glProvokingVertex.xml index c040cd3f..1507b7ad 100644 --- a/Source/Bind/Specifications/Docs/glProvokingVertex.xml +++ b/Source/Bind/Specifications/Docs/GL4/glProvokingVertex.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glProvokingVertex 3G @@ -24,7 +25,7 @@ - Parameters + Parameters provokeMode @@ -36,7 +37,7 @@ - Description + Description Flatshading a vertex shader varying output means to assign all vetices of the primitive the same value for that output. The vertex from which these values is derived is known as the provoking vertex and @@ -48,9 +49,9 @@ varying outputs. The interpretation of these values for the supported primitive types is: - - - + + + @@ -199,22 +200,22 @@ flat qualifier when declaring the output. - Notes + Notes glProvokingVertex is available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_ENUM is generated if provokeMode is not an accepted value. - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glPushDebugGroup.xml b/Source/Bind/Specifications/Docs/GL4/glPushDebugGroup.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glPushDebugGroup.xml rename to Source/Bind/Specifications/Docs/GL4/glPushDebugGroup.xml index 29f10794..306f0fb2 100644 --- a/Source/Bind/Specifications/Docs/glPushDebugGroup.xml +++ b/Source/Bind/Specifications/Docs/GL4/glPushDebugGroup.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glPushDebugGroup 3G @@ -27,7 +28,7 @@ - Parameters + Parameters source @@ -63,7 +64,7 @@ - Description + Description glPushDebugGroup pushes a debug group described by the string message into the command stream. The value of @@ -81,7 +82,7 @@ on top of the active debug group. - Errors + Errors GL_INVALID_ENUM is generated if the value of source is neither GL_DEBUG_SOURCE_APPLICATION nor GL_DEBUG_SOURCE_THIRD_PARTY. @@ -92,24 +93,24 @@ is not less than the value of GL_MAX_DEBUG_MESSAGE_LENGTH. - Associated Gets + Associated Gets glGet with argument GL_MAX_DEBUG_MESSAGE_LENGTH. - See Also + See Also glPopDebugGroup, glObjectLabel, glObjectPtrLabel. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glQueryCounter.xml b/Source/Bind/Specifications/Docs/GL4/glQueryCounter.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glQueryCounter.xml rename to Source/Bind/Specifications/Docs/GL4/glQueryCounter.xml index 388cd02f..cbf8227a 100644 --- a/Source/Bind/Specifications/Docs/glQueryCounter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glQueryCounter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glQueryCounter 3G @@ -25,7 +26,7 @@ - Parameters + Parameters id @@ -45,7 +46,7 @@ - Description + Description glQueryCounter causes the GL to record the current time into the query object named id. target must be GL_TIMESTAMP. The time is recorded after all previous commands on the @@ -55,12 +56,12 @@ not affect the result of that query object. - Notes + Notes glQueryCounter is available only if the GL version is 3.3 or higher. - Errors + Errors GL_INVALID_OPERATION is generated if id is the name of a query object that is already in use within a glBeginQuery / @@ -74,7 +75,7 @@ GL_INVALID_ENUM is generated if target is not GL_TIMESTAMP. - See Also + See Also glGenQueries, glBeginQuery, @@ -85,12 +86,12 @@ glGet - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glReadBuffer.xml b/Source/Bind/Specifications/Docs/GL4/glReadBuffer.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glReadBuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glReadBuffer.xml index 30e0ec3c..f73c0a6a 100644 --- a/Source/Bind/Specifications/Docs/glReadBuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glReadBuffer.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2011-2013 Khronos Group - + glReadBuffer 3G @@ -28,7 +29,7 @@ - Parameters + Parameters mode @@ -50,7 +51,7 @@ - Description + Description glReadBuffer specifies a color buffer as the source for subsequent glReadPixels, glCopyTexImage1D, glCopyTexImage2D, @@ -81,7 +82,7 @@ and GL_BACK in double-buffered configurations. - Errors + Errors GL_INVALID_ENUM is generated if mode is not one of the twelve (or more) accepted values. @@ -91,12 +92,12 @@ that does not exist. - Associated Gets + Associated Gets glGet with argument GL_READ_BUFFER - See Also + See Also glCopyTexImage1D, glCopyTexImage2D, @@ -107,13 +108,13 @@ glReadPixels - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2011-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glReadPixels.xml b/Source/Bind/Specifications/Docs/GL4/glReadPixels.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glReadPixels.xml rename to Source/Bind/Specifications/Docs/GL4/glReadPixels.xml index 2676b1e3..508fe5d3 100644 --- a/Source/Bind/Specifications/Docs/glReadPixels.xml +++ b/Source/Bind/Specifications/Docs/GL4/glReadPixels.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glReadPixels 3G @@ -34,7 +35,7 @@ - Parameters + Parameters x @@ -119,7 +120,7 @@ - Description + Description glReadPixels returns pixel data from the frame buffer, starting with the pixel whose lower left corner @@ -139,7 +140,7 @@ glReadPixels returns values from each pixel with lower left corner at - + @@ -155,7 +156,7 @@ for - + 0 @@ -166,7 +167,7 @@ and - + 0 @@ -177,9 +178,9 @@ . This pixel is said to be the - ith + ith pixel in the - jth + jth row. Pixels are returned in row order from the lowest to the highest row, left to right in each row. @@ -205,7 +206,7 @@ Each component is converted to floating point such that the minimum depth value maps to 0 and the maximum value maps to 1. Each component is clamped to the range - + 0 @@ -265,9 +266,9 @@ - - - + + + @@ -287,7 +288,7 @@ GL_UNSIGNED_BYTE - + 2 @@ -299,7 +300,7 @@ - + @@ -322,7 +323,7 @@ GL_BYTE - + 2 @@ -334,7 +335,7 @@ - + @@ -364,7 +365,7 @@ GL_UNSIGNED_SHORT - + 2 @@ -376,7 +377,7 @@ - + @@ -399,7 +400,7 @@ GL_SHORT - + 2 @@ -411,7 +412,7 @@ - + @@ -441,7 +442,7 @@ GL_UNSIGNED_INT - + 2 @@ -453,7 +454,7 @@ - + @@ -476,7 +477,7 @@ GL_INT - + 2 @@ -488,7 +489,7 @@ - + @@ -521,7 +522,7 @@ none - c + c @@ -532,7 +533,7 @@ none - c + c @@ -540,7 +541,7 @@ GL_UNSIGNED_BYTE_3_3_2 - + 2 @@ -552,7 +553,7 @@ - + @@ -575,7 +576,7 @@ GL_UNSIGNED_BYTE_2_3_3_REV - + 2 @@ -587,7 +588,7 @@ - + @@ -610,7 +611,7 @@ GL_UNSIGNED_SHORT_5_6_5 - + 2 @@ -622,7 +623,7 @@ - + @@ -645,7 +646,7 @@ GL_UNSIGNED_SHORT_5_6_5_REV - + 2 @@ -657,7 +658,7 @@ - + @@ -680,7 +681,7 @@ GL_UNSIGNED_SHORT_4_4_4_4 - + 2 @@ -692,7 +693,7 @@ - + @@ -715,7 +716,7 @@ GL_UNSIGNED_SHORT_4_4_4_4_REV - + 2 @@ -727,7 +728,7 @@ - + @@ -750,7 +751,7 @@ GL_UNSIGNED_SHORT_5_5_5_1 - + 2 @@ -762,7 +763,7 @@ - + @@ -785,7 +786,7 @@ GL_UNSIGNED_SHORT_1_5_5_5_REV - + 2 @@ -797,7 +798,7 @@ - + @@ -820,7 +821,7 @@ GL_UNSIGNED_INT_8_8_8_8 - + 2 @@ -832,7 +833,7 @@ - + @@ -855,7 +856,7 @@ GL_UNSIGNED_INT_8_8_8_8_REV - + 2 @@ -867,7 +868,7 @@ - + @@ -890,7 +891,7 @@ GL_UNSIGNED_INT_10_10_10_2 - + 2 @@ -902,7 +903,7 @@ - + @@ -925,7 +926,7 @@ GL_UNSIGNED_INT_2_10_10_10_REV - + 2 @@ -937,7 +938,7 @@ - + @@ -960,7 +961,7 @@ GL_UNSIGNED_INT_24_8 - + 2 @@ -972,7 +973,7 @@ - + @@ -1020,7 +1021,7 @@ none - c (Depth Only) + c (Depth Only) @@ -1035,12 +1036,12 @@ GL_GREEN, or GL_BLUE, a single value is returned and the data for the - ith + ith pixel in the - jth + jth row is placed in location - + @@ -1062,7 +1063,7 @@ See glPixelStore for a description. - Notes + Notes Values for pixels that lie outside the window connected to the current GL context are undefined. @@ -1072,7 +1073,7 @@ no change is made to the contents of data. - Errors + Errors GL_INVALID_ENUM is generated if format or type is not an accepted value. @@ -1136,24 +1137,24 @@ for the read framebuffer is greater than zero. - Associated Gets + Associated Gets glGet with argument GL_PIXEL_PACK_BUFFER_BINDING - See Also + See Also glPixelStore, glReadBuffer - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glReleaseShaderCompiler.xml b/Source/Bind/Specifications/Docs/GL4/glReleaseShaderCompiler.xml similarity index 72% rename from Source/Bind/Specifications/Docs/glReleaseShaderCompiler.xml rename to Source/Bind/Specifications/Docs/GL4/glReleaseShaderCompiler.xml index a2c8d12e..70348fe7 100644 --- a/Source/Bind/Specifications/Docs/glReleaseShaderCompiler.xml +++ b/Source/Bind/Specifications/Docs/GL4/glReleaseShaderCompiler.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glReleaseShaderCompiler 3G @@ -24,7 +25,7 @@ - Description + Description glReleaseShaderCompiler provides a hint to the implementation that it may free internal resources associated with its shader compiler. glCompileShader @@ -32,18 +33,18 @@ previously freed by the call to glReleaseShaderCompiler. - See Also + See Also glCompileShader, glLinkProgram - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glRenderbufferStorage.xml b/Source/Bind/Specifications/Docs/GL4/glRenderbufferStorage.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glRenderbufferStorage.xml rename to Source/Bind/Specifications/Docs/GL4/glRenderbufferStorage.xml index 1b553014..05a40ab0 100644 --- a/Source/Bind/Specifications/Docs/glRenderbufferStorage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glRenderbufferStorage.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glRenderbufferStorage 3G @@ -27,7 +28,7 @@ - Parameters + Parameters target @@ -63,7 +64,7 @@ - Description + Description glRenderbufferStorage is equivalent to calling glRenderbufferStorageMultisample with the @@ -82,7 +83,7 @@ image and the contents of the data store after calling glRenderbufferStorage are undefined. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. @@ -98,7 +99,7 @@ GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store of the requested size. - See Also + See Also glGenRenderbuffers, glBindRenderbuffer, @@ -107,12 +108,12 @@ glDeleteRenderbuffers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glRenderbufferStorageMultisample.xml b/Source/Bind/Specifications/Docs/GL4/glRenderbufferStorageMultisample.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glRenderbufferStorageMultisample.xml rename to Source/Bind/Specifications/Docs/GL4/glRenderbufferStorageMultisample.xml index c6ffa4f1..1e341d83 100644 --- a/Source/Bind/Specifications/Docs/glRenderbufferStorageMultisample.xml +++ b/Source/Bind/Specifications/Docs/GL4/glRenderbufferStorageMultisample.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glRenderbufferStorageMultisample 3G @@ -28,7 +29,7 @@ - Parameters + Parameters target @@ -72,7 +73,7 @@ - Description + Description glRenderbufferStorageMultisample establishes the data storage, format, dimensions and number of samples of a renderbuffer object's image. @@ -93,7 +94,7 @@ image and the contents of the data store after calling glRenderbufferStorageMultisample are undefined. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER. @@ -116,7 +117,7 @@ GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store of the requested size. - See Also + See Also glGenRenderbuffers, glBindRenderbuffer, @@ -125,12 +126,12 @@ glDeleteRenderbuffers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glResumeTransformFeedback.xml b/Source/Bind/Specifications/Docs/GL4/glResumeTransformFeedback.xml similarity index 76% rename from Source/Bind/Specifications/Docs/glResumeTransformFeedback.xml rename to Source/Bind/Specifications/Docs/GL4/glResumeTransformFeedback.xml index 89d9b31a..b555f5c2 100644 --- a/Source/Bind/Specifications/Docs/glResumeTransformFeedback.xml +++ b/Source/Bind/Specifications/Docs/GL4/glResumeTransformFeedback.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glResumeTransformFeedback 3G @@ -24,7 +25,7 @@ - Description + Description glResumeTransformFeedback resumes transform feedback operations on the currently active transform feedback object. When transform feedback operations are paused, transform feedback is still considered active and changing most @@ -32,12 +33,12 @@ while transform feedback is paused. - Errors + Errors GL_INVALID_OPERATION is generated if the currently bound transform feedback object is not active or is not paused. - See Also + See Also glGenTransformFeedbacks, glBindTransformFeedback, @@ -47,12 +48,12 @@ glDeleteTransformFeedbacks - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glSampleCoverage.xml b/Source/Bind/Specifications/Docs/GL4/glSampleCoverage.xml similarity index 83% rename from Source/Bind/Specifications/Docs/glSampleCoverage.xml rename to Source/Bind/Specifications/Docs/GL4/glSampleCoverage.xml index 1399d6cd..b1b83a89 100644 --- a/Source/Bind/Specifications/Docs/glSampleCoverage.xml +++ b/Source/Bind/Specifications/Docs/GL4/glSampleCoverage.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glSampleCoverage 3G @@ -29,7 +30,7 @@ - Parameters + Parameters value @@ -37,7 +38,7 @@ Specify a single floating-point sample coverage value. The value is clamped to the range - + 0 @@ -60,7 +61,7 @@ - Description + Description Multisampling samples a pixel multiple times at various implementation-dependent subpixel locations to generate antialiasing @@ -86,7 +87,7 @@ information, allowing those operations to be performed on each sample. - Notes + Notes The type of the value parameter was changed from GLclampf to GLfloat. This change is transparent @@ -95,7 +96,7 @@ page. - Associated Gets + Associated Gets glGet with argument GL_SAMPLE_COVERAGE_VALUE @@ -115,19 +116,19 @@ glIsEnabled with argument GL_SAMPLE_COVERAGE - See Also + See Also glEnable, removedTypes - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glSampleMaski.xml b/Source/Bind/Specifications/Docs/GL4/glSampleMaski.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glSampleMaski.xml rename to Source/Bind/Specifications/Docs/GL4/glSampleMaski.xml index 8466ff66..7d6ac4ae 100644 --- a/Source/Bind/Specifications/Docs/glSampleMaski.xml +++ b/Source/Bind/Specifications/Docs/GL4/glSampleMaski.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glSampleMaski 3G @@ -25,7 +26,7 @@ - Parameters + Parameters maskNumber @@ -45,7 +46,7 @@ - Description + Description glSampleMaski sets one 32-bit sub-word of the multi-word sample mask, GL_SAMPLE_MASK_VALUE. @@ -56,19 +57,19 @@ 32 x M + B. - Notes + Notes glSampleMaski is available only if the GL version is 3.2 or greater, or if the ARB_texture_multisample extension is supported. - Errors + Errors GL_INVALID_VALUE is generated if maskIndex is greater than or equal to the value of GL_MAX_SAMPLE_MASK_WORDS. - See Also + See Also glGenRenderbuffers, glBindRenderbuffer, @@ -77,12 +78,12 @@ glDeleteRenderbuffers - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glSamplerParameter.xml b/Source/Bind/Specifications/Docs/GL4/glSamplerParameter.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glSamplerParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glSamplerParameter.xml index 7bf62449..b044b89e 100644 --- a/Source/Bind/Specifications/Docs/glSamplerParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glSamplerParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 KhronosGroup - + glSamplerParameter 3G @@ -67,7 +68,7 @@ - Parameters + Parameters sampler @@ -120,7 +121,7 @@ - Description + Description glSamplerParameter assigns the value or values in params to the sampler parameter specified as pname. @@ -144,7 +145,7 @@ A mipmap is an ordered set of arrays representing the same image at progressively lower resolutions. If the texture has dimensions - + 2 @@ -157,7 +158,7 @@ , there are - + @@ -175,7 +176,7 @@ mipmaps. The first mipmap is the original texture, with dimensions - + 2 @@ -188,7 +189,7 @@ . Each subsequent mipmap has dimensions - + 2 @@ -213,7 +214,7 @@ , where - + 2 @@ -227,7 +228,7 @@ are the dimensions of the previous mipmap, until either - + k @@ -236,7 +237,7 @@ or - + l @@ -246,7 +247,7 @@ . At that point, subsequent mipmaps have dimension - + 1 @@ -263,7 +264,7 @@ or - + 2 @@ -281,7 +282,7 @@ until the final mipmap, which has dimension - + 1 @@ -295,7 +296,7 @@ with the level argument indicating the order of the mipmaps. Level 0 is the original texture; level - + max @@ -307,7 +308,7 @@ is the final - + 1 @@ -482,12 +483,12 @@ Sets the wrap parameter for texture coordinate - s + s to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, GL_REPEAT, or GL_MIRROR_CLAMP_TO_EDGE. GL_CLAMP_TO_BORDER causes the - s + s coordinate to be clamped to the range - + @@ -517,13 +518,13 @@ , where - N + N is the size of the texture in the direction of clamping.GL_CLAMP_TO_EDGE causes - s + s coordinates to be clamped to the range - + @@ -553,26 +554,26 @@ , where - N + N is the size of the texture in the direction of clamping. GL_REPEAT causes the integer part of the - s + s coordinate to be ignored; the GL uses only the fractional part, thereby creating a repeating pattern. GL_MIRRORED_REPEAT causes the - s + s coordinate to be set to the fractional part of the texture coordinate if the integer part of - s + s is even; if the integer part of - s + s is odd, then the - s + s texture coordinate is set to - + 1 @@ -587,7 +588,7 @@ , where - + frac @@ -598,8 +599,8 @@ represents the fractional part of - s. - GL_MIRROR_CLAMP_TO_EDGE causes the the s + s. + GL_MIRROR_CLAMP_TO_EDGE causes the the s coordinate to be repeated as for GL_MIRRORED_REPEAT for one reptition of the texture, at which point the coordinate to be clamped as in GL_CLAMP_TO_EDGE. Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT. @@ -615,7 +616,7 @@ Sets the wrap parameter for texture coordinate - t + t to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, GL_REPEAT, or GL_MIRROR_CLAMP_TO_EDGE. See the discussion under GL_TEXTURE_WRAP_S. Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT. @@ -627,7 +628,7 @@ Sets the wrap parameter for texture coordinate - r + r to either GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, GL_REPEAT, or GL_MIRROR_CLAMP_TO_EDGE. See the discussion under GL_TEXTURE_WRAP_S. Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT. @@ -644,7 +645,7 @@ texture's internal format and substituted for the non-existent texel data. If the texture contains depth components, the first component of GL_TEXTURE_BORDER_COLOR is interpreted as a depth value. The initial value is - + @@ -676,7 +677,7 @@ Specifies that the interpolated and clamped - r + r texture coordinate should be compared to the value in the currently bound texture. See the discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison @@ -723,7 +724,7 @@ GL_LEQUAL - + result @@ -774,7 +775,7 @@ GL_GEQUAL - + result @@ -825,7 +826,7 @@ GL_LESS - + result @@ -876,7 +877,7 @@ GL_GREATER - + result @@ -927,7 +928,7 @@ GL_EQUAL - + result @@ -978,7 +979,7 @@ GL_NOTEQUAL - + result @@ -1030,7 +1031,7 @@ - + result = @@ -1046,7 +1047,7 @@ - + result = @@ -1059,18 +1060,18 @@ - where r + where r is the current interpolated texture coordinate, and - + D t is the texture value sampled from the currently bound texture. - result + result is assigned to - + R t @@ -1081,7 +1082,7 @@ - Notes + Notes glSamplerParameter is available only if the GL version is 3.3 or higher. @@ -1097,7 +1098,7 @@ GL_MIRROR_CLAMP_TO_EDGE is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_VALUE is generated if sampler is not the name of a sampler object previously returned from a call to glGenSamplers. @@ -1107,12 +1108,12 @@ constant value (based on the value of pname) and does not. - Associated Gets + Associated Gets glGetSamplerParameter - See Also + See Also glGenSamplers, glBindSampler, @@ -1122,12 +1123,12 @@ glTexParameter - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glScissor.xml b/Source/Bind/Specifications/Docs/GL4/glScissor.xml new file mode 100644 index 00000000..0facb782 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glScissor.xml @@ -0,0 +1,115 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glScissor + 3G + + + glScissor + define the scissor box + + C Specification + + + void glScissor + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + x + y + + + Specify the lower left corner of the scissor box. + Initially (0, 0). + + + + + width + height + + + Specify the width and height of the scissor box. + When a GL context is first attached to a window, + width and height are set to the dimensions of that + window. + + + + + + Description + + glScissor defines a rectangle, called the scissor box, + in window coordinates. + The first two arguments, + x and y, + specify the lower left corner of the box. + width and height specify the width and height of the box. + + + To enable and disable the scissor test, call + glEnable and glDisable with argument + GL_SCISSOR_TEST. The test is initially disabled. + While the test is enabled, only pixels that lie within the scissor box + can be modified by drawing commands. + Window coordinates have integer values at the shared corners of + frame buffer pixels. + glScissor(0,0,1,1) allows modification of only the lower left + pixel in the window, and glScissor(0,0,0,0) doesn't allow + modification of any pixels in the window. + + + When the scissor test is disabled, + it is as though the scissor box includes the entire window. + + + Errors + + GL_INVALID_VALUE is generated if either width or height is negative. + + + Associated Gets + + glGet with argument GL_SCISSOR_BOX + + + glIsEnabled with argument GL_SCISSOR_TEST + + + See Also + + glEnable, + glViewport + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glScissorArray.xml b/Source/Bind/Specifications/Docs/GL4/glScissorArray.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glScissorArray.xml rename to Source/Bind/Specifications/Docs/GL4/glScissorArray.xml index 5c1a60e5..0ce790e2 100644 --- a/Source/Bind/Specifications/Docs/glScissorArray.xml +++ b/Source/Bind/Specifications/Docs/GL4/glScissorArray.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glScissorArray 3G @@ -26,7 +27,7 @@ - Parameters + Parameters first @@ -55,7 +56,7 @@ - Description + Description glScissorArrayv defines rectangles, called scissor boxes, in window coordinates for each viewport. @@ -83,7 +84,7 @@ it is as though the scissor box includes the entire window. - Errors + Errors GL_INVALID_VALUE is generated if first is greater than or equal to the value of GL_MAX_VIEWPORTS. @@ -96,7 +97,7 @@ GL_INVALID_VALUE is generated if any width or height specified in the array v is negative. - Associated Gets + Associated Gets glGet with argument GL_SCISSOR_BOX @@ -104,7 +105,7 @@ glIsEnabled with argument GL_SCISSOR_TEST - See Also + See Also glEnable, glViewport, @@ -112,12 +113,12 @@ glViewportArray - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glScissorIndexed.xml b/Source/Bind/Specifications/Docs/GL4/glScissorIndexed.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glScissorIndexed.xml rename to Source/Bind/Specifications/Docs/GL4/glScissorIndexed.xml index 42581749..2571baa8 100644 --- a/Source/Bind/Specifications/Docs/glScissorIndexed.xml +++ b/Source/Bind/Specifications/Docs/GL4/glScissorIndexed.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glScissorIndexed 3G @@ -33,7 +34,7 @@ - Parameters + Parameters index @@ -72,7 +73,7 @@ - Description + Description glScissorIndexed defines the scissor box for a specified viewport. index specifies the index of scissor box to modify. @@ -101,7 +102,7 @@ it is as though the scissor box includes the entire window. - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to the value of GL_MAX_VIEWPORTS. @@ -110,7 +111,7 @@ GL_INVALID_VALUE is generated if any width or height specified in the array v is negative. - Associated Gets + Associated Gets glGet with argument GL_SCISSOR_BOX @@ -118,19 +119,19 @@ glIsEnabled with argument GL_SCISSOR_TEST - See Also + See Also glEnable, glScissor, glScissorArray - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glShaderBinary.xml b/Source/Bind/Specifications/Docs/GL4/glShaderBinary.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glShaderBinary.xml rename to Source/Bind/Specifications/Docs/GL4/glShaderBinary.xml index 490d57f8..1500c9b7 100644 --- a/Source/Bind/Specifications/Docs/glShaderBinary.xml +++ b/Source/Bind/Specifications/Docs/GL4/glShaderBinary.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glShaderBinary 3G @@ -28,7 +29,7 @@ - Parameters + Parameters count @@ -72,7 +73,7 @@ - Description + Description glShaderBinary loads pre-compiled shader binary code into the count shader objects whose handles are given in shaders. binary @@ -91,7 +92,7 @@ pair of vertex and fragment shaders stored in the same binary. - Errors + Errors GL_INVALID_OPERATION is generated if more than one of the handles in shaders refers to the same shader object. @@ -105,7 +106,7 @@ does not match the format specified by binaryFormat. - Associated Gets + Associated Gets glGet with parameter GL_NUM_SHADER_BINARY_FORMATS. @@ -113,19 +114,19 @@ glGet with parameter GL_SHADER_BINARY_FORMATS. - See Also + See Also glGetProgram, glGetProgramBinary, glProgramBinary - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glShaderSource.xml b/Source/Bind/Specifications/Docs/GL4/glShaderSource.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glShaderSource.xml rename to Source/Bind/Specifications/Docs/GL4/glShaderSource.xml index f716204b..a397e179 100644 --- a/Source/Bind/Specifications/Docs/glShaderSource.xml +++ b/Source/Bind/Specifications/Docs/GL4/glShaderSource.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glShaderSource 3G @@ -31,7 +32,7 @@ - Parameters + Parameters shader @@ -65,7 +66,7 @@ - Description + Description glShaderSource sets the source code in shader to the source code in the array of strings specified by string. Any @@ -84,13 +85,13 @@ not scanned or parsed at this time; they are simply copied into the specified shader object. - Notes + Notes OpenGL copies the shader source code strings when glShaderSource is called, so an application may free its copy of the source code strings immediately after the function returns. - Errors + Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. @@ -102,7 +103,7 @@ count is less than 0. - Associated Gets + Associated Gets glGetShader with arguments shader and GL_SHADER_SOURCE_LENGTH @@ -112,18 +113,18 @@ glIsShader - See Also + See Also glCompileShader, glCreateShader, glDeleteShader - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glShaderStorageBlockBinding.xml b/Source/Bind/Specifications/Docs/GL4/glShaderStorageBlockBinding.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glShaderStorageBlockBinding.xml rename to Source/Bind/Specifications/Docs/GL4/glShaderStorageBlockBinding.xml index c56f9183..cf7d60fb 100644 --- a/Source/Bind/Specifications/Docs/glShaderStorageBlockBinding.xml +++ b/Source/Bind/Specifications/Docs/GL4/glShaderStorageBlockBinding.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glShaderStorageBlockBinding 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -54,7 +55,7 @@ - Description + Description glShaderStorageBlockBinding, changes the active shader storage block with an assigned index of storageBlockIndex @@ -65,7 +66,7 @@ and write the values of the buffer variables in the shader storage block identified by storageBlockIndex. - Errors + Errors GL_INVALID_VALUE is generated if attribindex is greater than or equal to the value of GL_MAX_VERTEX_ATTRIBS. @@ -78,7 +79,7 @@ GL_INVALID_OPERATION is generated if no vertex array object is bound. - Associated Gets + Associated Gets glGet with arguments GL_SHADER_STORAGE_BUFFER_BINDING, GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, @@ -88,12 +89,12 @@ GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, or GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glStencilFunc.xml b/Source/Bind/Specifications/Docs/GL4/glStencilFunc.xml new file mode 100644 index 00000000..10f21165 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glStencilFunc.xml @@ -0,0 +1,298 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glStencilFunc + 3G + + + glStencilFunc + set front and back function and reference value for stencil testing + + C Specification + + + void glStencilFunc + GLenum func + GLint ref + GLuint mask + + + + Parameters + + + func + + + Specifies the test function. + Eight symbolic constants are valid: + GL_NEVER, + GL_LESS, + GL_LEQUAL, + GL_GREATER, + GL_GEQUAL, + GL_EQUAL, + GL_NOTEQUAL, and + GL_ALWAYS. The initial value is GL_ALWAYS. + + + + + ref + + + Specifies the reference value for the stencil test. + ref is clamped to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. The + initial value is 0. + + + + + mask + + + Specifies a mask that is ANDed with both the reference value + and the stored stencil value when the test is done. The initial value + is all 1's. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + Stencil planes are first drawn into using GL drawing primitives, then + geometry and images are rendered using the stencil planes to mask out + portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the reference value + and the value in the stencil buffer. + To enable and disable the test, call glEnable and glDisable + with argument GL_STENCIL_TEST. + To specify actions based on the outcome of the stencil test, call + glStencilOp or + glStencilOpSeparate. + + + There can be two separate sets of func, ref, and + mask parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilFunc sets both front + and back stencil state to the same values. Use glStencilFuncSeparate + to set front and back stencil state to different values. + + + func is a symbolic constant that determines the stencil comparison function. + It accepts one of eight values, + shown in the following list. + ref is an integer reference value that is used in the stencil comparison. + It is clamped to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + mask is bitwise ANDed with both the reference value + and the stored stencil value, + with the ANDed values participating in the comparison. + + + If stencil represents the value stored in the corresponding + stencil buffer location, + the following list shows the effect of each comparison function + that can be specified by func. + Only if the comparison succeeds is the pixel passed through + to the next stage in the rasterization process + (see glStencilOp). + All tests treat stencil values as unsigned integers in the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + + + The following values are accepted by func: + + + + GL_NEVER + + + Always fails. + + + + + GL_LESS + + + Passes if ( ref & mask ) < ( stencil & mask ). + + + + + GL_LEQUAL + + + Passes if ( ref & mask ) <= ( stencil & mask ). + + + + + GL_GREATER + + + Passes if ( ref & mask ) > ( stencil & mask ). + + + + + GL_GEQUAL + + + Passes if ( ref & mask ) >= ( stencil & mask ). + + + + + GL_EQUAL + + + Passes if ( ref & mask ) = ( stencil & mask ). + + + + + GL_NOTEQUAL + + + Passes if ( ref & mask ) != ( stencil & mask ). + + + + + GL_ALWAYS + + + Always passes. + + + + + + Notes + + Initially, the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur and it is as if + the stencil test always passes. + + + glStencilFunc is the same as + calling glStencilFuncSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if func is not one of the eight + accepted values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + See Also + + glBlendFunc, + glDepthFunc, + glEnable, + glLogicOp, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL4/glStencilFuncSeparate.xml b/Source/Bind/Specifications/Docs/GL4/glStencilFuncSeparate.xml new file mode 100644 index 00000000..678e89c6 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glStencilFuncSeparate.xml @@ -0,0 +1,302 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + + glStencilFuncSeparate + 3G + + + glStencilFuncSeparate + set front and/or back function and reference value for stencil testing + + C Specification + + + void glStencilFuncSeparate + GLenum face + GLenum func + GLint ref + GLuint mask + + + + Parameters + + + face + + + Specifies whether front and/or back stencil state is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + func + + + Specifies the test function. + Eight symbolic constants are valid: + GL_NEVER, + GL_LESS, + GL_LEQUAL, + GL_GREATER, + GL_GEQUAL, + GL_EQUAL, + GL_NOTEQUAL, and + GL_ALWAYS. The initial value is GL_ALWAYS. + + + + + ref + + + Specifies the reference value for the stencil test. + ref is clamped to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. The + initial value is 0. + + + + + mask + + + Specifies a mask that is ANDed with both the reference value + and the stored stencil value when the test is done. The initial value + is all 1's. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the reference value + and the value in the stencil buffer. + To enable and disable the test, call glEnable and glDisable + with argument GL_STENCIL_TEST. + To specify actions based on the outcome of the stencil test, call + glStencilOp or + glStencilOpSeparate. + + + There can be two separate sets of func, ref, and + mask parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilFunc sets both front + and back stencil state to the same values, as if + glStencilFuncSeparate were called + with face set to GL_FRONT_AND_BACK. + + + func is a symbolic constant that determines the stencil comparison function. + It accepts one of eight values, + shown in the following list. + ref is an integer reference value that is used in the stencil comparison. + It is clamped to the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + mask is bitwise ANDed with both the reference value + and the stored stencil value, + with the ANDed values participating in the comparison. + + + If stencil represents the value stored in the corresponding + stencil buffer location, + the following list shows the effect of each comparison function + that can be specified by func. + Only if the comparison succeeds is the pixel passed through + to the next stage in the rasterization process + (see glStencilOp). + All tests treat stencil values as unsigned integers in the range + + + + 0 + + 2 + n + + - + 1 + + + , + where + n + is the number of bitplanes in the stencil buffer. + + + The following values are accepted by func: + + + + GL_NEVER + + + Always fails. + + + + + GL_LESS + + + Passes if ( ref & mask ) < ( stencil & mask ). + + + + + GL_LEQUAL + + + Passes if ( ref & mask ) <= ( stencil & mask ). + + + + + GL_GREATER + + + Passes if ( ref & mask ) > ( stencil & mask ). + + + + + GL_GEQUAL + + + Passes if ( ref & mask ) >= ( stencil & mask ). + + + + + GL_EQUAL + + + Passes if ( ref & mask ) = ( stencil & mask ). + + + + + GL_NOTEQUAL + + + Passes if ( ref & mask ) != ( stencil & mask ). + + + + + GL_ALWAYS + + + Always passes. + + + + + + Notes + + Initially, the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur and it is as if + the stencil test always passes. + + + Errors + + GL_INVALID_ENUM is generated if func is not one of the eight + accepted values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, + GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, + GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + See Also + + glBlendFunc, + glDepthFunc, + glEnable, + glLogicOp, + glStencilFunc, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL4/glStencilMask.xml b/Source/Bind/Specifications/Docs/GL4/glStencilMask.xml new file mode 100644 index 00000000..2112edee --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glStencilMask.xml @@ -0,0 +1,104 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glStencilMask + 3G + + + glStencilMask + control the front and back writing of individual bits in the stencil planes + + C Specification + + + void glStencilMask + GLuint mask + + + + Parameters + + + mask + + + Specifies a bit mask to enable and disable writing of individual bits + in the stencil planes. + Initially, the mask is all 1's. + + + + + + Description + + glStencilMask controls the writing of individual bits in the stencil planes. + The least significant + n + bits of mask, + where + n + is the number of bits in the stencil buffer, + specify a mask. + Where a 1 appears in the mask, + it's possible to write to the corresponding bit in the stencil buffer. + Where a 0 appears, + the corresponding bit is write-protected. + Initially, all bits are enabled for writing. + + + There can be two separate mask writemasks; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilMask sets both front + and back stencil writemasks to the same values. Use glStencilMaskSeparate + to set front and back stencil writemasks to different values. + + + Notes + + glStencilMask is the same as + calling glStencilMaskSeparate + with face set to GL_FRONT_AND_BACK. + + + Associated Gets + + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + or GL_STENCIL_BITS + + + See Also + + glColorMask, + glDepthMask, + glStencilFunc, + glStencilFuncSeparate, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL4/glStencilMaskSeparate.xml b/Source/Bind/Specifications/Docs/GL4/glStencilMaskSeparate.xml new file mode 100644 index 00000000..7bcde1e5 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glStencilMaskSeparate.xml @@ -0,0 +1,111 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + + glStencilMaskSeparate + 3G + + + glStencilMaskSeparate + control the front and/or back writing of individual bits in the stencil planes + + C Specification + + + void glStencilMaskSeparate + GLenum face + GLuint mask + + + + Parameters + + + face + + + Specifies whether the front and/or back stencil writemask is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + mask + + + Specifies a bit mask to enable and disable writing of individual bits + in the stencil planes. + Initially, the mask is all 1's. + + + + + + Description + + glStencilMaskSeparate controls the writing of individual bits in the stencil planes. + The least significant + n + bits of mask, + where + n + is the number of bits in the stencil buffer, + specify a mask. + Where a 1 appears in the mask, + it's possible to write to the corresponding bit in the stencil buffer. + Where a 0 appears, + the corresponding bit is write-protected. + Initially, all bits are enabled for writing. + + + There can be two separate mask writemasks; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilMask sets both front + and back stencil writemasks to the same values, as if + glStencilMaskSeparate were called + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if face is not one of the accepted tokens. + + + Associated Gets + + glGet with argument + GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, + or GL_STENCIL_BITS + + + See Also + + glColorMask, + glDepthMask, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilOp, + glStencilOpSeparate + + + Copyright + + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/GL4/glStencilOp.xml b/Source/Bind/Specifications/Docs/GL4/glStencilOp.xml new file mode 100644 index 00000000..677ad6bb --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glStencilOp.xml @@ -0,0 +1,275 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glStencilOp + 3G + + + glStencilOp + set front and back stencil test actions + + C Specification + + + void glStencilOp + GLenum sfail + GLenum dpfail + GLenum dppass + + + + Parameters + + + sfail + + + Specifies the action to take when the stencil test fails. + Eight symbolic constants are accepted: + GL_KEEP, + GL_ZERO, + GL_REPLACE, + GL_INCR, + GL_INCR_WRAP, + GL_DECR, + GL_DECR_WRAP, and + GL_INVERT. The initial value is GL_KEEP. + + + + + dpfail + + + Specifies the stencil action when the stencil test passes, + but the depth test fails. + dpfail accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + dppass + + + Specifies the stencil action when both the stencil test and the depth + test pass, or when the stencil test passes and either there is no + depth buffer or depth testing is not enabled. + dppass accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the value in the stencil buffer and a + reference value. To enable and disable the test, call glEnable + and glDisable with argument + GL_STENCIL_TEST; to control it, call + glStencilFunc or + glStencilFuncSeparate. + + + There can be two separate sets of sfail, dpfail, and + dppass parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilOp sets both front + and back stencil state to the same values. Use glStencilOpSeparate + to set front and back stencil state to different values. + + + glStencilOp takes three arguments that indicate what happens + to the stored stencil value while stenciling is enabled. + If the stencil test fails, + no change is made to the pixel's color or depth buffers, + and sfail specifies what happens to the stencil buffer contents. + The following eight actions are possible. + + + + GL_KEEP + + + Keeps the current value. + + + + + GL_ZERO + + + Sets the stencil buffer value to 0. + + + + + GL_REPLACE + + + Sets the stencil buffer value to ref, + as specified by glStencilFunc. + + + + + GL_INCR + + + Increments the current stencil buffer value. + Clamps to the maximum representable unsigned value. + + + + + GL_INCR_WRAP + + + Increments the current stencil buffer value. + Wraps stencil buffer value to zero when incrementing the maximum + representable unsigned value. + + + + + GL_DECR + + + Decrements the current stencil buffer value. + Clamps to 0. + + + + + GL_DECR_WRAP + + + Decrements the current stencil buffer value. + Wraps stencil buffer value to the maximum representable unsigned value when + decrementing a stencil buffer value of zero. + + + + + GL_INVERT + + + Bitwise inverts the current stencil buffer value. + + + + + + Stencil buffer values are treated as unsigned integers. + When incremented and decremented, + values are clamped to 0 and + + + + 2 + n + + - + 1 + + , + where + n + is the value returned by querying GL_STENCIL_BITS. + + + The other two arguments to glStencilOp specify stencil buffer actions + that depend on whether subsequent depth buffer tests succeed (dppass) + or fail (dpfail) (see + glDepthFunc). + The actions are specified using the same eight symbolic constants as sfail. + Note that dpfail is ignored when there is no depth buffer, + or when the depth buffer is not enabled. + In these cases, sfail and dppass specify stencil action when the + stencil test fails and passes, + respectively. + + + Notes + + Initially the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur + and it is as if the stencil tests always pass, + regardless of any call to glStencilOp. + + + glStencilOp is the same as + calling glStencilOpSeparate + with face set to GL_FRONT_AND_BACK. + + + Errors + + GL_INVALID_ENUM is generated if sfail, + dpfail, or dppass is any value other than the defined constant values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + See Also + + glBlendFunc, + glDepthFunc, + glEnable, + glLogicOp, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOpSeparate + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/GL4/glStencilOpSeparate.xml b/Source/Bind/Specifications/Docs/GL4/glStencilOpSeparate.xml new file mode 100644 index 00000000..22fda6d2 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glStencilOpSeparate.xml @@ -0,0 +1,282 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + + glStencilOpSeparate + 3G + + + glStencilOpSeparate + set front and/or back stencil test actions + + C Specification + + + void glStencilOpSeparate + GLenum face + GLenum sfail + GLenum dpfail + GLenum dppass + + + + Parameters + + + face + + + Specifies whether front and/or back stencil state is updated. + Three symbolic constants are valid: + GL_FRONT, + GL_BACK, and + GL_FRONT_AND_BACK. + + + + + sfail + + + Specifies the action to take when the stencil test fails. + Eight symbolic constants are accepted: + GL_KEEP, + GL_ZERO, + GL_REPLACE, + GL_INCR, + GL_INCR_WRAP, + GL_DECR, + GL_DECR_WRAP, and + GL_INVERT. The initial value is GL_KEEP. + + + + + dpfail + + + Specifies the stencil action when the stencil test passes, + but the depth test fails. + dpfail accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + dppass + + + Specifies the stencil action when both the stencil test and the depth + test pass, or when the stencil test passes and either there is no + depth buffer or depth testing is not enabled. + dppass accepts the same symbolic constants as sfail. The initial value + is GL_KEEP. + + + + + + Description + + Stenciling, + like depth-buffering, + enables and disables drawing on a per-pixel basis. + You draw into the stencil planes using GL drawing primitives, + then render geometry and images, + using the stencil planes to mask out portions of the screen. + Stenciling is typically used in multipass rendering algorithms + to achieve special effects, + such as decals, + outlining, + and constructive solid geometry rendering. + + + The stencil test conditionally eliminates a pixel based on the outcome + of a comparison between the value in the stencil buffer and a + reference value. To enable and disable the test, call glEnable + and glDisable with argument + GL_STENCIL_TEST; to control it, call + glStencilFunc or + glStencilFuncSeparate. + + + There can be two separate sets of sfail, dpfail, and + dppass parameters; one affects back-facing polygons, and the other + affects front-facing polygons as well as other non-polygon primitives. + glStencilOp sets both front + and back stencil state to the same values, as if + glStencilOpSeparate were called + with face set to GL_FRONT_AND_BACK. + + + glStencilOpSeparate takes three arguments that indicate what happens + to the stored stencil value while stenciling is enabled. + If the stencil test fails, + no change is made to the pixel's color or depth buffers, + and sfail specifies what happens to the stencil buffer contents. + The following eight actions are possible. + + + + GL_KEEP + + + Keeps the current value. + + + + + GL_ZERO + + + Sets the stencil buffer value to 0. + + + + + GL_REPLACE + + + Sets the stencil buffer value to ref, + as specified by glStencilFunc. + + + + + GL_INCR + + + Increments the current stencil buffer value. + Clamps to the maximum representable unsigned value. + + + + + GL_INCR_WRAP + + + Increments the current stencil buffer value. + Wraps stencil buffer value to zero when incrementing the maximum + representable unsigned value. + + + + + GL_DECR + + + Decrements the current stencil buffer value. + Clamps to 0. + + + + + GL_DECR_WRAP + + + Decrements the current stencil buffer value. + Wraps stencil buffer value to the maximum representable unsigned value when + decrementing a stencil buffer value of zero. + + + + + GL_INVERT + + + Bitwise inverts the current stencil buffer value. + + + + + + Stencil buffer values are treated as unsigned integers. + When incremented and decremented, + values are clamped to 0 and + + + + 2 + n + + - + 1 + + , + where + n + is the value returned by querying GL_STENCIL_BITS. + + + The other two arguments to glStencilOpSeparate specify stencil buffer actions + that depend on whether subsequent depth buffer tests succeed (dppass) + or fail (dpfail) (see + glDepthFunc). + The actions are specified using the same eight symbolic constants as sfail. + Note that dpfail is ignored when there is no depth buffer, + or when the depth buffer is not enabled. + In these cases, sfail and dppass specify stencil action when the + stencil test fails and passes, + respectively. + + + Notes + + Initially the stencil test is disabled. + If there is no stencil buffer, + no stencil modification can occur + and it is as if the stencil test always passes. + + + Errors + + GL_INVALID_ENUM is generated if face is any value + other than GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. + + + GL_INVALID_ENUM is generated if sfail, + dpfail, or dppass is any value other than the eight defined constant values. + + + Associated Gets + + glGet with argument + GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, + GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, + GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, + or GL_STENCIL_BITS + + + glIsEnabled with argument GL_STENCIL_TEST + + + See Also + + glBlendFunc, + glDepthFunc, + glEnable, + glLogicOp, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp + + + Copyright + + Copyright 2006 Khronos Group. + This material may be distributed subject to the terms and conditions set forth in + the Open Publication License, v 1.0, 8 June 1999. + http://opencontent.org/openpub/. + + + diff --git a/Source/Bind/Specifications/Docs/glTexBuffer.xml b/Source/Bind/Specifications/Docs/GL4/glTexBuffer.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glTexBuffer.xml rename to Source/Bind/Specifications/Docs/GL4/glTexBuffer.xml index 44c34691..b3050f56 100644 --- a/Source/Bind/Specifications/Docs/glTexBuffer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexBuffer.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glTexBuffer 3G @@ -26,7 +27,7 @@ - Parameters + Parameters target @@ -54,7 +55,7 @@ - Description + Description glTexBuffer attaches the storage for the buffer object named buffer to the active buffer texture, and specifies the internal format for the texel array found in the attached buffer object. If buffer @@ -62,7 +63,7 @@ is non-zero, it must be the name of an existing buffer object. target must be GL_TEXTURE_BUFFER. internalformat specifies the storage format, and must be one of the following sized internal formats: - + When a buffer object is attached to a buffer texture, the buffer object's data store is taken as the texture's texel array. The number of texels in the buffer texture's @@ -70,8 +71,8 @@ - - + + buffer_size @@ -97,7 +98,7 @@ greater than or equal to the clamped number of texels in the texel array. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_BUFFER. @@ -108,12 +109,12 @@ GL_INVALID_OPERATION is generated if buffer is not zero or the name of an existing buffer object. - Notes + Notes glTexBuffer is available only if the GL version is 3.1 or greater. - Associated Gets + Associated Gets glGet with argument GL_MAX_TEXTURE_BUFFER_SIZE glGet @@ -121,7 +122,7 @@ glGetTexLevelParameter with argument GL_TEXTURE_BUFFER_DATA_STORE_BINDING - See Also + See Also glGenBuffers, glBindBuffer, @@ -132,12 +133,12 @@ glDeleteTextures - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexBufferRange.xml b/Source/Bind/Specifications/Docs/GL4/glTexBufferRange.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glTexBufferRange.xml rename to Source/Bind/Specifications/Docs/GL4/glTexBufferRange.xml index cccaddfd..55b40089 100644 --- a/Source/Bind/Specifications/Docs/glTexBufferRange.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexBufferRange.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glTexBufferRange 3G @@ -28,7 +29,7 @@ - Parameters + Parameters target @@ -72,7 +73,7 @@ - Description + Description glTexBufferRange attaches the a range of the data store of the buffer object named buffer to the active buffer texture, and specifies the internal format for the texel array found in the attached buffer object. If buffer @@ -85,9 +86,9 @@ an integer multiple of the value of GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT. internalformat specifies the storage format, and must be one of the following sized internal formats: - + - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_BUFFER. @@ -107,7 +108,7 @@ an integer multiple of the value of GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT. - Associated Gets + Associated Gets glGet with argument GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT @@ -116,17 +117,17 @@ or GL_TEXTURE_BUFFER_SIZE. - See Also + See Also glTexBuffer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexImage1D.xml b/Source/Bind/Specifications/Docs/GL4/glTexImage1D.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glTexImage1D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexImage1D.xml index ed70fcff..2d89d47b 100644 --- a/Source/Bind/Specifications/Docs/glTexImage1D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexImage1D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. - + glTexImage1D 3G @@ -31,7 +32,7 @@ - Parameters + Parameters target @@ -143,7 +144,7 @@ - Description + Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. @@ -272,21 +273,21 @@ Table 1, below - + internalFormat may also be one of the sized internal formats shown in Table 2, below - + Finally, internalFormat may also be one of the generic or compressed compressed texture formats shown in Table 3 below - + If the internalFormat parameter is one of the generic compressed formats, @@ -300,13 +301,13 @@ GL_SRGB8, GL_SRGB_ALPHAor GL_SRGB8_ALPHA8, 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 - + c s to a linear component - + c l @@ -314,7 +315,7 @@ is: - + c @@ -392,7 +393,7 @@ Assume - + c s @@ -417,7 +418,7 @@ Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See glTexParameter for details on texture comparison. - Notes + Notes glPixelStore modes affect texture images. @@ -437,7 +438,7 @@ version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. @@ -455,7 +456,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log @@ -527,7 +528,7 @@ into the number of bytes needed to store in memory a datum indicated by type. - Associated Gets + Associated Gets glGetTexImage @@ -535,7 +536,7 @@ glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING - See Also + See Also glActiveTexture, glCompressedTexImage1D, @@ -552,13 +553,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2011-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glTexImage2D.xml b/Source/Bind/Specifications/Docs/GL4/glTexImage2D.xml similarity index 95% rename from Source/Bind/Specifications/Docs/glTexImage2D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexImage2D.xml index d4aee5a4..d8aec523 100644 --- a/Source/Bind/Specifications/Docs/glTexImage2D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexImage2D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. - + glTexImage2D 3G @@ -32,7 +33,7 @@ - Parameters + Parameters target @@ -167,7 +168,7 @@ - Description + Description Texturing allows elements of an image array to be read by shaders. @@ -303,21 +304,21 @@ Table 1, below - + internalFormat may also be one of the sized internal formats shown in Table 2, below - + Finally, internalFormat may also be one of the generic or compressed compressed texture formats shown in Table 3 below - + If the internalFormat parameter is one of the generic compressed formats, @@ -331,13 +332,13 @@ GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8, 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 - + c s to a linear component - + c l @@ -345,7 +346,7 @@ is: - + c @@ -423,7 +424,7 @@ Assume - + c s @@ -451,7 +452,7 @@ See glTexParameter for details on texture comparison. - Notes + Notes The glPixelStore mode affects texture images. @@ -473,7 +474,7 @@ version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, @@ -513,7 +514,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log @@ -599,7 +600,7 @@ or GL_PROXY_TEXTURE_RECTANGLE and level is not 0. - Associated Gets + Associated Gets glGetTexImage @@ -607,7 +608,7 @@ glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING - See Also + See Also glActiveTexture, glCopyTexImage1D, @@ -624,13 +625,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2011-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glTexImage2DMultisample.xml b/Source/Bind/Specifications/Docs/GL4/glTexImage2DMultisample.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glTexImage2DMultisample.xml rename to Source/Bind/Specifications/Docs/GL4/glTexImage2DMultisample.xml index 8f9b9a95..990e2748 100644 --- a/Source/Bind/Specifications/Docs/glTexImage2DMultisample.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexImage2DMultisample.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glTexImage2DMultisample 3G @@ -29,7 +30,7 @@ - Parameters + Parameters target @@ -82,7 +83,7 @@ - Description + Description glTexImage2DMultisample establishes the data storage, format, dimensions and number of samples of a multisample texture's image. @@ -111,12 +112,12 @@ multisample texture targets. - Notes + Notes glTexImage2DMultisample is available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_OPERATION is generated if internalformat is a depth- or stencil-renderable format and samples is greater than the value of GL_MAX_DEPTH_TEXTURE_SAMPLES. @@ -136,18 +137,18 @@ GL_INVALID_VALUE is generated if samples is greater than GL_MAX_SAMPLES. - See Also + See Also glTexImage3D, glTexImage2DMultisample - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexImage3D.xml b/Source/Bind/Specifications/Docs/GL4/glTexImage3D.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glTexImage3D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexImage3D.xml index c6f88411..c9077501 100644 --- a/Source/Bind/Specifications/Docs/glTexImage3D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexImage3D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glTexImage3D 3G @@ -33,7 +34,7 @@ - Parameters + Parameters target @@ -52,9 +53,9 @@ Specifies the level-of-detail number. Level 0 is the base image level. Level - n + n is the - + n th @@ -175,7 +176,7 @@ - Description + Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. @@ -299,21 +300,21 @@ Table 1, below - + internalFormat may also be one of the sized internal formats shown in Table 2, below - + Finally, internalFormat may also be one of the generic or compressed compressed texture formats shown in Table 3 below - + If the internalFormat parameter is one of the generic compressed formats, @@ -327,13 +328,13 @@ GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component - + c s to a linear component - + c l @@ -341,7 +342,7 @@ is: - + c @@ -419,7 +420,7 @@ Assume - + c s @@ -441,7 +442,7 @@ A four-component image uses all of the RGBA components. - Notes + Notes The glPixelStore mode affects texture images. @@ -464,7 +465,7 @@ version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. @@ -482,7 +483,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log @@ -546,7 +547,7 @@ into the number of bytes needed to store in memory a datum indicated by type. - Associated Gets + Associated Gets glGetTexImage @@ -554,7 +555,7 @@ glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING - See Also + See Also glActiveTexture, glCompressedTexImage1D, @@ -578,13 +579,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2011-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glTexImage3DMultisample.xml b/Source/Bind/Specifications/Docs/GL4/glTexImage3DMultisample.xml similarity index 90% rename from Source/Bind/Specifications/Docs/glTexImage3DMultisample.xml rename to Source/Bind/Specifications/Docs/GL4/glTexImage3DMultisample.xml index cbe24c9a..1cc49198 100644 --- a/Source/Bind/Specifications/Docs/glTexImage3DMultisample.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexImage3DMultisample.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glTexImage3DMultisample 3G @@ -30,7 +31,7 @@ - Parameters + Parameters target @@ -83,7 +84,7 @@ - Description + Description glTexImage3DMultisample establishes the data storage, format, dimensions and number of samples of a multisample texture's image. @@ -114,12 +115,12 @@ multisample texture targets. - Notes + Notes glTexImage2DMultisample is available only if the GL version is 3.2 or greater. - Errors + Errors GL_INVALID_OPERATION is generated if internalformat is a depth- or stencil-renderable format and samples is greater than the value of GL_MAX_DEPTH_TEXTURE_SAMPLES. @@ -142,18 +143,18 @@ GL_INVALID_VALUE is generated if samples is greater than GL_MAX_SAMPLES. - See Also + See Also glTexImage3D, glTexImage2DMultisample - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexParameter.xml b/Source/Bind/Specifications/Docs/GL4/glTexParameter.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glTexParameter.xml rename to Source/Bind/Specifications/Docs/GL4/glTexParameter.xml index bbe4dbe3..7ea38843 100644 --- a/Source/Bind/Specifications/Docs/glTexParameter.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexParameter.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. - + glTexParameter 3G @@ -67,7 +68,7 @@ - Parameters + Parameters target @@ -135,7 +136,7 @@ - Description + Description glTexParameter assigns the value or values in params to the texture parameter specified as pname. @@ -153,9 +154,9 @@ must be one of GL_DEPTH_COMPONENT or GL_STENCIL_COMPONENT. If the depth stencil mode is GL_DEPTH_COMPONENT, then reads from depth-stencil format textures will return the depth component of the texel in - Rt and the stencil component + Rt and the stencil component will be discarded. If the depth stencil mode is GL_STENCIL_COMPONENT then - the stencil component is returned in Rt + the stencil component is returned in Rt and the depth component is discarded. The initial value is GL_DEPTH_COMPONENT. @@ -185,7 +186,7 @@ texture's internal format and substituted for the non-existent texel data. If the texture contains depth components, the first component of GL_TEXTURE_BORDER_COLOR is interpreted as a depth value. The initial value is - + @@ -206,7 +207,7 @@ or glTexParameterIuiv, the values are stored unmodified with an internal data type of integer. If specified with glTexParameteriv, they are converted to floating point with the following equation: - + f = @@ -258,7 +259,7 @@ GL_LEQUAL - + result @@ -309,7 +310,7 @@ GL_GEQUAL - + result @@ -360,7 +361,7 @@ GL_LESS - + result @@ -411,7 +412,7 @@ GL_GREATER - + result @@ -462,7 +463,7 @@ GL_EQUAL - + result @@ -513,7 +514,7 @@ GL_NOTEQUAL - + result @@ -565,7 +566,7 @@ - + result = @@ -581,7 +582,7 @@ - + result = @@ -594,16 +595,16 @@ - where r + where r is the current interpolated texture coordinate, and - + D t is the depth texture value sampled from the currently bound depth texture. - result + result is assigned to the the red channel. @@ -622,7 +623,7 @@ Specifies that the interpolated and clamped - r + r texture coordinate should be compared to the value in the currently bound depth texture. See the discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison @@ -650,7 +651,7 @@ params specifies a fixed bias value that is to be added to the level-of-detail parameter for the texture before texture sampling. The specified value is added to the shader-supplied bias value (if any) and subsequently clamped into the implementation-defined range - + @@ -674,7 +675,7 @@ , where - + bias max @@ -700,7 +701,7 @@ A mipmap is an ordered set of arrays representing the same image at progressively lower resolutions. If the texture has dimensions - + 2 @@ -713,7 +714,7 @@ , there are - + @@ -731,7 +732,7 @@ mipmaps. The first mipmap is the original texture, with dimensions - + 2 @@ -744,7 +745,7 @@ . Each subsequent mipmap has dimensions - + 2 @@ -769,7 +770,7 @@ , where - + 2 @@ -783,7 +784,7 @@ are the dimensions of the previous mipmap, until either - + k @@ -792,7 +793,7 @@ or - + l @@ -802,7 +803,7 @@ . At that point, subsequent mipmaps have dimension - + 1 @@ -819,7 +820,7 @@ or - + 2 @@ -837,7 +838,7 @@ until the final mipmap, which has dimension - + 1 @@ -851,7 +852,7 @@ with the level argument indicating the order of the mipmaps. Level 0 is the original texture; level - + max @@ -863,7 +864,7 @@ is the final - + 1 @@ -1052,28 +1053,28 @@ GL_TEXTURE_SWIZZLE_R - Sets the swizzle that will be applied to the r + Sets the swizzle that will be applied to the r component of a texel before it is returned to the shader. Valid values for param are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_ZERO and GL_ONE. If GL_TEXTURE_SWIZZLE_R is GL_RED, the value for - r will be taken from the first + r will be taken from the first channel of the fetched texel. If GL_TEXTURE_SWIZZLE_R is GL_GREEN, the value for - r will be taken from the second + r will be taken from the second channel of the fetched texel. If GL_TEXTURE_SWIZZLE_R is GL_BLUE, the value for - r will be taken from the third + r will be taken from the third channel of the fetched texel. If GL_TEXTURE_SWIZZLE_R is GL_ALPHA, the value for - r will be taken from the fourth + r will be taken from the fourth channel of the fetched texel. If GL_TEXTURE_SWIZZLE_R is GL_ZERO, the value for - r will be subtituted with - 0.0. + r will be subtituted with + 0.0. If GL_TEXTURE_SWIZZLE_R is GL_ONE, the value for - r will be subtituted with - 1.0. + r will be subtituted with + 1.0. The initial value is GL_RED. @@ -1086,7 +1087,7 @@ GL_TEXTURE_SWIZZLE_G - Sets the swizzle that will be applied to the g + Sets the swizzle that will be applied to the g component of a texel before it is returned to the shader. Valid values for param and their effects are similar to those of GL_TEXTURE_SWIZZLE_R. The initial value is GL_GREEN. @@ -1101,7 +1102,7 @@ GL_TEXTURE_SWIZZLE_B - Sets the swizzle that will be applied to the b + Sets the swizzle that will be applied to the b component of a texel before it is returned to the shader. Valid values for param and their effects are similar to those of GL_TEXTURE_SWIZZLE_R. The initial value is GL_BLUE. @@ -1116,7 +1117,7 @@ GL_TEXTURE_SWIZZLE_A - Sets the swizzle that will be applied to the a + Sets the swizzle that will be applied to the a component of a texel before it is returned to the shader. Valid values for param and their effects are similar to those of GL_TEXTURE_SWIZZLE_R. The initial value is GL_ALPHA. @@ -1132,10 +1133,10 @@ Sets the swizzles that will be applied to the - r, - g, - b, and - a + r, + g, + b, and + a components of a texel before they are returned to the shader. Valid values for params and their effects are similar to those of GL_TEXTURE_SWIZZLE_R, except that all channels are specified simultaneously. Setting the value of GL_TEXTURE_SWIZZLE_RGBA is equivalent (assuming no errors are generated) to @@ -1155,14 +1156,14 @@ Sets the wrap parameter for texture coordinate - s + s to either GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER, GL_MIRRORED_REPEAT, GL_REPEAT, or GL_MIRROR_CLAMP_TO_EDGE. GL_CLAMP_TO_EDGE causes - s + s coordinates to be clamped to the range - + @@ -1192,30 +1193,30 @@ , where - N + N is the size of the texture in the direction of clamping. - GL_CLAMP_TO_BORDER evaluates s coordinates in a similar manner to GL_CLAMP_TO_EDGE. + GL_CLAMP_TO_BORDER evaluates s coordinates in a similar manner to GL_CLAMP_TO_EDGE. However, in cases where clamping would have occurred in GL_CLAMP_TO_EDGE mode, the fetched texel data is substituted with the values specified by GL_TEXTURE_BORDER_COLOR. GL_REPEAT causes the integer part of the - s + s coordinate to be ignored; the GL uses only the fractional part, thereby creating a repeating pattern. GL_MIRRORED_REPEAT causes the - s + s coordinate to be set to the fractional part of the texture coordinate if the integer part of - s + s is even; if the integer part of - s + s is odd, then the - s + s texture coordinate is set to - + 1 @@ -1230,7 +1231,7 @@ , where - + frac @@ -1241,8 +1242,8 @@ represents the fractional part of - s. - GL_MIRROR_CLAMP_TO_EDGE causes the the s + s. + GL_MIRROR_CLAMP_TO_EDGE causes the the s coordinate to be repeated as for GL_MIRRORED_REPEAT for one reptition of the texture, at which point the coordinate to be clamped as in GL_CLAMP_TO_EDGE. Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT. @@ -1258,7 +1259,7 @@ Sets the wrap parameter for texture coordinate - t + t to either GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER, GL_MIRRORED_REPEAT, GL_REPEAT, or GL_MIRROR_CLAMP_TO_EDGE. See the discussion under GL_TEXTURE_WRAP_S. @@ -1275,7 +1276,7 @@ Sets the wrap parameter for texture coordinate - r + r to either GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER, GL_MIRRORED_REPEAT, GL_REPEAT, or GL_MIRROR_CLAMP_TO_EDGE. See the discussion under GL_TEXTURE_WRAP_S. @@ -1285,7 +1286,7 @@ - Notes + Notes Suppose that a program attempts to sample from a texture and has set GL_TEXTURE_MIN_FILTER to one of the functions that requires a @@ -1313,7 +1314,7 @@ GL_MIRROR_CLAMP_TO_EDGE is available only if the GL version is 4.4 or greater. - Errors + Errors GL_INVALID_ENUM is generated if target or pname is not one of the accepted defined values. @@ -1323,7 +1324,7 @@ constant value (based on the value of pname) and does not. - Associated Gets + Associated Gets glGetTexParameter @@ -1331,7 +1332,7 @@ glGetTexLevelParameter - See Also + See Also glActiveTexture, glBindTexture, @@ -1350,14 +1351,14 @@ glTexSubImage3D - Copyright + Copyright - Copyright 1991-2006 + Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2012-2013 + Copyright 2012-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glTexStorage1D.xml b/Source/Bind/Specifications/Docs/GL4/glTexStorage1D.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glTexStorage1D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexStorage1D.xml index d5feb37e..af01702f 100644 --- a/Source/Bind/Specifications/Docs/glTexStorage1D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexStorage1D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glTexStorage1D 3G @@ -27,7 +28,7 @@ - Parameters + Parameters target @@ -64,7 +65,7 @@ - Description + Description glTexStorage1D specifies the storage requirements for all levels of a one-dimensional texture simultaneously. Once a texture is specified with this @@ -77,11 +78,10 @@ Calling glTexStorage1D is equivalent, assuming no errors are generated, to executing the following pseudo-code: - for (i = 0; i < levels; i++) { glTexImage1D(target, i, internalformat, width, 0, format, type, NULL); width = max(1, (width / 2)); - }]]> + } Since no texture data is actually provided, the values used in the pseudo-code for format and type are @@ -104,16 +104,16 @@ would not, in fact, alter the dimensions or format of the object. - + - Notes + Notes GL_STENCIL_INDEX8 is accepted for internalformat only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not a valid sized internal format. @@ -129,15 +129,15 @@ GL_INVALID_OPERATION is generated if levels is greater than - + - + log 2 - + width @@ -149,19 +149,19 @@ . - See Also + See Also glTexImage1D, glTexStorage2D, glTexStorage3D. - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexStorage2D.xml b/Source/Bind/Specifications/Docs/GL4/glTexStorage2D.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glTexStorage2D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexStorage2D.xml index 74c87003..abe1a6df 100644 --- a/Source/Bind/Specifications/Docs/glTexStorage2D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexStorage2D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glTexStorage2D 3G @@ -28,7 +29,7 @@ - Parameters + Parameters target @@ -76,7 +77,7 @@ - Description + Description glTexStorage2D specifies the storage requirements for all levels of a two-dimensional texture or one-dimensional texture array simultaneously. Once a texture is specified with this @@ -92,34 +93,30 @@ calling glTexStorage2D is equivalent, assuming no errors are generated, to executing the following pseudo-code: - for (i = 0; i < levels; i++) { glTexImage2D(target, i, internalformat, width, height, 0, format, type, NULL); width = max(1, (width / 2)); height = max(1, (height / 2)); - }]]> + } When target is GL_TEXTURE_CUBE_MAP, glTexStorage2D is equivalent to: - for (i = 0; i < levels; i++) { + for (face in (+X, -X, +Y, -Y, +Z, -Z)) { glTexImage2D(face, i, internalformat, width, height, 0, format, type, NULL); } width = max(1, (width / 2)); height = max(1, (height / 2)); - }]]> + } When target is GL_TEXTURE_1D or GL_TEXTURE_1D_ARRAY, glTexStorage2D is equivalent to: - for (i = 0; i < levels; i++) { glTexImage2D(target, i, internalformat, width, height, 0, format, type, NULL); width = max(1, (width / 2)); - }]]> + } Since no texture data is actually provided, the values used in the pseudo-code for format and type are @@ -142,16 +139,16 @@ would not, in fact, alter the dimensions or format of the object. - + - Notes + Notes GL_STENCIL_INDEX8 is accepted for internalformat only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not a valid sized internal format. @@ -168,15 +165,15 @@ GL_INVALID_OPERATION is generated if target is GL_TEXTURE_1D_ARRAY or GL_PROXY_TEXTURE_1D_ARRAY and levels is greater than - + - + log 2 - + width @@ -191,22 +188,22 @@ GL_INVALID_OPERATION is generated if target is not GL_TEXTURE_1D_ARRAY or GL_PROXY_TEXTURE_1D_ARRAY and levels is greater than - + - + log 2 - + max - + width , -   +   height @@ -221,19 +218,19 @@ . - See Also + See Also glTexImage2D, glTexStorage1D, glTexStorage3D. - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexStorage2DMultisample.xml b/Source/Bind/Specifications/Docs/GL4/glTexStorage2DMultisample.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glTexStorage2DMultisample.xml rename to Source/Bind/Specifications/Docs/GL4/glTexStorage2DMultisample.xml index 8e3114b8..d64d83b1 100644 --- a/Source/Bind/Specifications/Docs/glTexStorage2DMultisample.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexStorage2DMultisample.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glTexStorage2DMultisample 3G @@ -29,7 +30,7 @@ - Parameters + Parameters target @@ -83,7 +84,7 @@ - Description + Description glTexStorage2DMultisample specifies the storage requirements for a two-dimensional multisample texture. Once a texture is specified with this @@ -102,10 +103,10 @@ and the sample locations will not depend on the internal format or size of the image. - + - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not a valid color-renderable, depth-renderable or stencil-renderable format. @@ -127,7 +128,7 @@ for the texture bound to target is not GL_FALSE. - See Also + See Also glTexImage2D, glTexImage2DMultisample, @@ -135,12 +136,12 @@ glTexStorage3D. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexStorage3D.xml b/Source/Bind/Specifications/Docs/GL4/glTexStorage3D.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glTexStorage3D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexStorage3D.xml index 8c40c7ae..6a328c6b 100644 --- a/Source/Bind/Specifications/Docs/glTexStorage3D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexStorage3D.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2011-2013 Khronos Group - + glTexStorage3D 3G @@ -29,7 +30,7 @@ - Parameters + Parameters target @@ -84,7 +85,7 @@ - Description + Description glTexStorage3D specifies the storage requirements for all levels of a three-dimensional, two-dimensional array or cube-map array texture simultaneously. Once a texture is specified with this @@ -99,24 +100,22 @@ calling glTexStorage3D is equivalent, assuming no errors are generated, to executing the following pseudo-code: - for (i = 0; i < levels; i++) { glTexImage3D(target, i, internalformat, width, height, depth, 0, format, type, NULL); width = max(1, (width / 2)); height = max(1, (height / 2)); depth = max(1, (depth / 2)); - }]]> + } When target is GL_TEXTURE_2D_ARRAY, GL_PROXY_TEXTURE_2D_ARRAY, GL_TEXTURE_CUBE_MAP_ARRAY, or GL_PROXY_TEXTURE_CUBE_MAP_ARRAY, glTexStorage3D is equivalent to: - for (i = 0; i < levels; i++) { glTexImage3D(target, i, internalformat, width, height, depth, 0, format, type, NULL); width = max(1, (width / 2)); height = max(1, (height / 2)); - }]]> + } Since no texture data is actually provided, the values used in the pseudo-code for format and type are @@ -139,16 +138,16 @@ would not, in fact, alter the dimensions or format of the object. - + - Notes + Notes GL_STENCIL_INDEX8 is accepted for internalformat only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not a valid sized internal format. @@ -165,25 +164,25 @@ GL_INVALID_OPERATION is generated if target is GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D and levels is greater than - + - + log 2 - + max - + width , -   +   height , -   +   depth @@ -202,22 +201,22 @@ GL_PROXY_TEXTURE_2D_ARRAY, GL_TEXURE_CUBE_ARRAY, or GL_PROXY_TEXTURE_CUBE_MAP_ARRAY and levels is greater than - + - + log 2 - + max - + width , -   +   height @@ -232,19 +231,19 @@ . - See Also + See Also glTexImage3D, glTexStorage1D, glTexStorage2D. - Copyright + Copyright - Copyright 2011-2013 Khronos Group. + Copyright 2011-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexStorage3DMultisample.xml b/Source/Bind/Specifications/Docs/GL4/glTexStorage3DMultisample.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glTexStorage3DMultisample.xml rename to Source/Bind/Specifications/Docs/GL4/glTexStorage3DMultisample.xml index 2f436571..fef91821 100644 --- a/Source/Bind/Specifications/Docs/glTexStorage3DMultisample.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexStorage3DMultisample.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glTexStorage3DMultisample 3G @@ -30,7 +31,7 @@ - Parameters + Parameters target @@ -92,7 +93,7 @@ - Description + Description glTexStorage3DMultisample specifies the storage requirements for a two-dimensional multisample array texture. Once a texture is specified with this @@ -112,10 +113,10 @@ and the sample locations will not depend on the internal format or size of the image. - + - Errors + Errors GL_INVALID_ENUM is generated if internalformat is not a valid color-renderable, depth-renderable or stencil-renderable format. @@ -141,14 +142,14 @@ for the texture bound to target is not GL_FALSE. - Associated Gets + Associated Gets glGetInteger with arguments GL_MAX_TEXTURE_SIZE, GL_MAX_ARRAY_TEXTURE_LEVELS, GL_TEXTURE_VIEW_MIN_LAYER, GL_TEXTURE_VIEW_NUM_LAYERS, or GL_TEXTURE_IMMUTABLE_LEVELS. - See Also + See Also glTexImage3D, glTexImage3DMultisample, @@ -157,12 +158,12 @@ glTexStorage3D. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTexSubImage1D.xml b/Source/Bind/Specifications/Docs/GL4/glTexSubImage1D.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glTexSubImage1D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexSubImage1D.xml index c2ba43c6..48ea5ba7 100644 --- a/Source/Bind/Specifications/Docs/glTexSubImage1D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexSubImage1D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glTexSubImage1D 3G @@ -34,7 +35,7 @@ - Parameters + Parameters target @@ -125,7 +126,7 @@ - Description + Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. @@ -137,7 +138,7 @@ texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and - + xoffset @@ -159,7 +160,7 @@ specified, data is treated as a byte offset into the buffer object's data store. - Notes + Notes glPixelStore modes affect texture images. @@ -172,7 +173,7 @@ is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. @@ -190,7 +191,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log 2 @@ -201,7 +202,7 @@ GL_INVALID_VALUE is generated if - + xoffset @@ -213,7 +214,7 @@ , or if - + @@ -234,14 +235,14 @@ , where - w + w is the GL_TEXTURE_WIDTH, and - b + b is the width of the GL_TEXTURE_BORDER of the texture image being modified. Note that - w + w includes twice the border width. @@ -290,7 +291,7 @@ into the number of bytes needed to store in memory a datum indicated by type. - Associated Gets + Associated Gets glGetTexImage @@ -298,7 +299,7 @@ glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING - See Also + See Also glActiveTexture, glCopyTexImage1D, @@ -315,13 +316,13 @@ glTexSubImage3D - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glTexSubImage2D.xml b/Source/Bind/Specifications/Docs/GL4/glTexSubImage2D.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glTexSubImage2D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexSubImage2D.xml index 013919ab..3723cbc9 100644 --- a/Source/Bind/Specifications/Docs/glTexSubImage2D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexSubImage2D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glTexSubImage2D 3G @@ -36,7 +37,7 @@ - Parameters + Parameters target @@ -151,7 +152,7 @@ - Description + Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. @@ -161,7 +162,7 @@ or one-dimensional arary texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and - + xoffset @@ -173,7 +174,7 @@ , inclusive, and y indices yoffset and - + yoffset @@ -195,7 +196,7 @@ specified, data is treated as a byte offset into the buffer object's data store. - Notes + Notes glPixelStore modes affect texture images. @@ -208,7 +209,7 @@ is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, @@ -232,7 +233,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log 2 @@ -243,7 +244,7 @@ GL_INVALID_VALUE is generated if - + xoffset @@ -254,7 +255,7 @@ , - + @@ -274,7 +275,7 @@ , - + yoffset @@ -286,7 +287,7 @@ , or - + @@ -307,17 +308,17 @@ , where - w + w is the GL_TEXTURE_WIDTH, - h + h is the GL_TEXTURE_HEIGHT, and - b + b is the border width of the texture image being modified. Note that - w + w and - h + h include twice the border width. @@ -366,7 +367,7 @@ into the number of bytes needed to store in memory a datum indicated by type. - Associated Gets + Associated Gets glGetTexImage @@ -374,7 +375,7 @@ glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING - See Also + See Also glActiveTexture, glCopyTexImage1D, @@ -391,13 +392,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glTexSubImage3D.xml b/Source/Bind/Specifications/Docs/GL4/glTexSubImage3D.xml similarity index 86% rename from Source/Bind/Specifications/Docs/glTexSubImage3D.xml rename to Source/Bind/Specifications/Docs/GL4/glTexSubImage3D.xml index 7ec862b6..17cb8de9 100644 --- a/Source/Bind/Specifications/Docs/glTexSubImage3D.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTexSubImage3D.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 1991-2006 Silicon Graphics, Inc. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glTexSubImage3D 3G @@ -38,7 +39,7 @@ - Parameters + Parameters target @@ -161,7 +162,7 @@ - Description + Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. @@ -171,7 +172,7 @@ or two-dimensioanl array texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and - + xoffset @@ -183,7 +184,7 @@ , inclusive, y indices yoffset and - + yoffset @@ -195,7 +196,7 @@ , inclusive, and z indices zoffset and - + zoffset @@ -220,7 +221,7 @@ specified, data is treated as a byte offset into the buffer object's data store. - Notes + Notes The glPixelStore modes affect texture images. @@ -233,7 +234,7 @@ is 4.4 or higher. - Errors + Errors GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY. @@ -250,7 +251,7 @@ GL_INVALID_VALUE may be generated if level is greater than - + log 2 @@ -261,7 +262,7 @@ GL_INVALID_VALUE is generated if - + xoffset @@ -272,7 +273,7 @@ , - + @@ -292,7 +293,7 @@ , - + yoffset @@ -304,7 +305,7 @@ , or - + @@ -325,7 +326,7 @@ , or - + zoffset @@ -337,7 +338,7 @@ , or - + @@ -358,20 +359,20 @@ , where - w + w is the GL_TEXTURE_WIDTH, - h + h is the GL_TEXTURE_HEIGHT, - d + d is the GL_TEXTURE_DEPTH and - b + b is the border width of the texture image being modified. Note that - w, - h, + w, + h, and - d + d include twice the border width. @@ -422,7 +423,7 @@ into the number of bytes needed to store in memory a datum indicated by type. - Associated Gets + Associated Gets glGetTexImage @@ -430,7 +431,7 @@ glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING - See Also + See Also glActiveTexture, glCopyTexImage1D, @@ -447,13 +448,13 @@ glTexParameter - Copyright + Copyright - Copyright 1991-2006 Silicon Graphics, Inc. - Copyright 2010-2013 Khronos Group. + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see - http://oss.sgi.com/projects/FreeB/. + http://oss.sgi.com/projects/FreeB/. diff --git a/Source/Bind/Specifications/Docs/glTextureView.xml b/Source/Bind/Specifications/Docs/GL4/glTextureView.xml similarity index 96% rename from Source/Bind/Specifications/Docs/glTextureView.xml rename to Source/Bind/Specifications/Docs/GL4/glTextureView.xml index d7070dd7..4a6ff3a1 100644 --- a/Source/Bind/Specifications/Docs/glTextureView.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTextureView.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glTextureView 3G @@ -31,7 +32,7 @@ - Parameters + Parameters texture @@ -99,7 +100,7 @@ - Description + Description glTextureView initializes a texture object as an alias, or view of another texture object, sharing some or all of the @@ -287,7 +288,7 @@ GL_TEXTURE_VIEW_MIN_LEVEL. - Errors + Errors GL_INVALID_VALUE is generated if minlayer or minlevel are larger than the greatest layer or level of origtexture. @@ -331,14 +332,14 @@ returned from a successful call to glGenTextures. - Associated Gets + Associated Gets glTexParameter with arguments GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_VIEW_MIN_LAYER, GL_TEXTURE_VIEW_NUM_LAYERS, or GL_TEXTURE_IMMUTABLE_LEVELS. - See Also + See Also glTexStorage1D, glTexStorage2D, @@ -346,12 +347,12 @@ glGetTexParameter. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glTransformFeedbackVaryings.xml b/Source/Bind/Specifications/Docs/GL4/glTransformFeedbackVaryings.xml similarity index 88% rename from Source/Bind/Specifications/Docs/glTransformFeedbackVaryings.xml rename to Source/Bind/Specifications/Docs/GL4/glTransformFeedbackVaryings.xml index a0523eca..feee185b 100644 --- a/Source/Bind/Specifications/Docs/glTransformFeedbackVaryings.xml +++ b/Source/Bind/Specifications/Docs/GL4/glTransformFeedbackVaryings.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glTransformFeedbackVaryings 3G @@ -27,7 +28,7 @@ - Parameters + Parameters program @@ -65,7 +66,7 @@ - Description + Description The names of the vertex or geometry shader outputs to be recorded in transform feedback mode are specified using glTransformFeedbackVaryings. When a geometry shader @@ -120,12 +121,12 @@ - Notes + Notes glGetTransformFeedbackVarying is available only if the GL version is 3.0 or greater. - Errors + Errors GL_INVALID_VALUE is generated if program is not the name of a program object. @@ -135,23 +136,23 @@ and count is greater than the implementation-dependent limit GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS. - Associated Gets + Associated Gets glGetTransformFeedbackVarying - See Also + See Also glBeginTransformFeedback, glEndTransformFeedback, glGetTransformFeedbackVarying - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glUniform.xml b/Source/Bind/Specifications/Docs/GL4/glUniform.xml similarity index 96% rename from Source/Bind/Specifications/Docs/glUniform.xml rename to Source/Bind/Specifications/Docs/GL4/glUniform.xml index 84412371..203d238e 100644 --- a/Source/Bind/Specifications/Docs/glUniform.xml +++ b/Source/Bind/Specifications/Docs/GL4/glUniform.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glUniform 3G @@ -272,7 +273,7 @@ - Parameters + Parameters location @@ -334,7 +335,7 @@ - Description + Description glUniform modifies the value of a uniform variable or a uniform variable array. The location of the uniform variable to be modified is specified by @@ -434,7 +435,7 @@ and a count greater than 1 can be used to modify an array of matrices. - Notes + Notes glUniform1i and glUniform1iv are the only two functions that may be used to load uniform variables defined as sampler @@ -461,7 +462,7 @@ equal to -1, the data passed in will be silently ignored and the specified uniform variable will not be changed. - Errors + Errors GL_INVALID_OPERATION is generated if there is no current program object. @@ -506,7 +507,7 @@ glUniform1iv. - Associated Gets + Associated Gets glGet with the argument GL_CURRENT_PROGRAM @@ -521,17 +522,17 @@ with the handle of a program object and the name of a uniform variable - See Also + See Also glLinkProgram, glUseProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glUniformBlockBinding.xml b/Source/Bind/Specifications/Docs/GL4/glUniformBlockBinding.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glUniformBlockBinding.xml rename to Source/Bind/Specifications/Docs/GL4/glUniformBlockBinding.xml index e64cfaec..bf6630ee 100644 --- a/Source/Bind/Specifications/Docs/glUniformBlockBinding.xml +++ b/Source/Bind/Specifications/Docs/GL4/glUniformBlockBinding.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glUniformBlockBinding 3G @@ -26,7 +27,7 @@ - Parameters + Parameters program @@ -54,7 +55,7 @@ - Description + Description Binding points for active uniform blocks are assigned using glUniformBlockBinding. Each of a program's active uniform blocks has a corresponding uniform buffer binding point. program is the name of a program object for which the command @@ -69,7 +70,7 @@ When a program object is linked or re-linked, the uniform buffer object binding point assigned to each of its active uniform blocks is reset to zero. - Errors + Errors GL_INVALID_VALUE is generated if uniformBlockIndex is not an active uniform block index of program. @@ -80,17 +81,17 @@ GL_INVALID_VALUE is generated if program is not the name of a program object generated by the GL. - Notes + Notes glUniformBlockBinding is available only if the GL version is 3.1 or greater. - Associated Gets + Associated Gets glGetActiveUniformBlock with argument GL_UNIFORM_BLOCK_BINDING - See Also + See Also glLinkProgram, glBindBufferBase, @@ -99,12 +100,12 @@ - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glUniformSubroutines.xml b/Source/Bind/Specifications/Docs/GL4/glUniformSubroutines.xml similarity index 85% rename from Source/Bind/Specifications/Docs/glUniformSubroutines.xml rename to Source/Bind/Specifications/Docs/GL4/glUniformSubroutines.xml index 97e86c63..c981e665 100644 --- a/Source/Bind/Specifications/Docs/glUniformSubroutines.xml +++ b/Source/Bind/Specifications/Docs/GL4/glUniformSubroutines.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group. - + glUniformSubroutines 3G @@ -26,7 +27,7 @@ - Parameters + Parameters shadertype @@ -58,7 +59,7 @@ - Description + Description glUniformSubroutines loads all active subroutine uniforms for shader stage shadertype of the current program with subroutine indices from indices, @@ -69,7 +70,7 @@ for the shader stage. - Errors + Errors GL_INVALID_OPERATION is generated if no program object is current. @@ -87,7 +88,7 @@ GL_INVALID_ENUM is generated if shadertype is not one of the accepted values. - Associated Gets + Associated Gets glGetProgramStage with argument GL_ACTIVE_SUBROUTINES @@ -95,7 +96,7 @@ glGetProgramStage with argument GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS - See Also + See Also glGetProgram, glGetActiveSubroutineUniform, @@ -103,12 +104,12 @@ glGetProgramStage - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glUseProgram.xml b/Source/Bind/Specifications/Docs/GL4/glUseProgram.xml similarity index 89% rename from Source/Bind/Specifications/Docs/glUseProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glUseProgram.xml index 45f16258..4000cb16 100644 --- a/Source/Bind/Specifications/Docs/glUseProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glUseProgram.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glUseProgram 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -40,7 +41,7 @@ - Description + Description glUseProgram installs the program object specified by program as part of current rendering state. One or more executables are created in @@ -91,7 +92,7 @@ executable will be installed on the vertex, and possibly geometry processors, but the results of fragment shader execution will be undefined. - Notes + Notes Like buffer and texture objects, the name space for program objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address @@ -104,7 +105,7 @@ different execution threads. - Errors + Errors GL_INVALID_VALUE is generated if program is neither 0 nor a value generated by OpenGL. @@ -120,7 +121,7 @@ transform feedback mode is active. - Associated Gets + Associated Gets glGet with the argument GL_CURRENT_PROGRAM @@ -155,7 +156,7 @@ glIsProgram - See Also + See Also glAttachShader, glBindAttribLocation, glCompileShader, @@ -167,13 +168,13 @@ glValidateProgram, glVertexAttrib - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glUseProgramStages.xml b/Source/Bind/Specifications/Docs/GL4/glUseProgramStages.xml similarity index 87% rename from Source/Bind/Specifications/Docs/glUseProgramStages.xml rename to Source/Bind/Specifications/Docs/GL4/glUseProgramStages.xml index 7fe0d9d9..de1ad364 100644 --- a/Source/Bind/Specifications/Docs/glUseProgramStages.xml +++ b/Source/Bind/Specifications/Docs/GL4/glUseProgramStages.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glUseProgramStages 3G @@ -26,7 +27,7 @@ - Parameters + Parameters pipeline @@ -54,7 +55,7 @@ - Description + Description glUseProgramStages binds executables from a program object associated with a specified set of shader stages to the program pipeline object given @@ -80,12 +81,12 @@ listed above, and is not equal to GL_ALL_SHADER_BITS, an error is generated. - Notes + Notes The GL_COMPUTE_SHADER_BIT bit is available only if the GL version is 4.3 or greater. - Errors + Errors GL_INVALID_VALUE is generated if shaders contains set bits that are not recognized, and is not the reserved value GL_ALL_SHADER_BITS. @@ -105,19 +106,19 @@ glDeleteProgramPipelines. - See Also + See Also glGenProgramPipelines, glDeleteProgramPipelines, glIsProgramPipeline - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glValidateProgram.xml b/Source/Bind/Specifications/Docs/GL4/glValidateProgram.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glValidateProgram.xml rename to Source/Bind/Specifications/Docs/GL4/glValidateProgram.xml index 8402315e..9640fe9d 100644 --- a/Source/Bind/Specifications/Docs/glValidateProgram.xml +++ b/Source/Bind/Specifications/Docs/GL4/glValidateProgram.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glValidateProgram 3G @@ -28,7 +29,7 @@ - Parameters + Parameters program @@ -39,7 +40,7 @@ - Description + Description glValidateProgram checks to see whether the executables contained in program can execute given the current @@ -71,7 +72,7 @@ application should not expect different OpenGL implementations to produce identical information strings. - Notes + Notes This function mimics the validation operation that OpenGL implementations must perform when rendering commands are issued while programmable shaders are part of current state. The error @@ -96,7 +97,7 @@ glValidateProgram to detect these issues during application development. - Errors + Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. @@ -104,7 +105,7 @@ GL_INVALID_OPERATION is generated if program is not a program object. - Associated Gets + Associated Gets glGetProgram with arguments program and GL_VALIDATE_STATUS @@ -114,17 +115,17 @@ glIsProgram - See Also + See Also glLinkProgram, glUseProgram - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glValidateProgramPipeline.xml b/Source/Bind/Specifications/Docs/GL4/glValidateProgramPipeline.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glValidateProgramPipeline.xml rename to Source/Bind/Specifications/Docs/GL4/glValidateProgramPipeline.xml index a8a0e523..67e30dc7 100644 --- a/Source/Bind/Specifications/Docs/glValidateProgramPipeline.xml +++ b/Source/Bind/Specifications/Docs/GL4/glValidateProgramPipeline.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glValidateProgramPipeline 3G @@ -24,7 +25,7 @@ - Parameters + Parameters pipeline @@ -36,7 +37,7 @@ - Description + Description glValidateProgramPipeline instructs the implementation to validate the shader executables contained in pipeline against the current GL state. @@ -58,7 +59,7 @@ the default state vector. - Errors + Errors GL_INVALID_OPERATION is generated if pipeline is not a name previously returned from a call to glGenProgramPipelines @@ -66,26 +67,26 @@ glDeleteProgramPipelines. - Associated Gets + Associated Gets glGetProgramPipeline with parameter GL_VALIDATE_STATUS. - See Also + See Also glGenProgramPipelines, glBindProgramPipeline, glDeleteProgramPipelines - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glVertexAttrib.xml b/Source/Bind/Specifications/Docs/GL4/glVertexAttrib.xml similarity index 97% rename from Source/Bind/Specifications/Docs/glVertexAttrib.xml rename to Source/Bind/Specifications/Docs/GL4/glVertexAttrib.xml index cd7ef4b6..5882871b 100644 --- a/Source/Bind/Specifications/Docs/glVertexAttrib.xml +++ b/Source/Bind/Specifications/Docs/GL4/glVertexAttrib.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glVertexAttrib 3G @@ -413,7 +414,7 @@ - Parameters + Parameters index @@ -487,7 +488,7 @@ - Description + Description The glVertexAttrib family of entry points allows an application to pass generic vertex attributes in numbered locations. @@ -590,7 +591,7 @@ shader will repeatedly use the current value for the generic vertex attribute. - Notes + Notes Generic vertex attributes can be updated at any time. It is possible for an application to bind more than one @@ -617,7 +618,7 @@ by glVertexAttribP* only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. @@ -635,7 +636,7 @@ GL_DOUBLE. - Associated Gets + Associated Gets glGet with the argument GL_CURRENT_PROGRAM @@ -651,17 +652,17 @@ with arguments GL_CURRENT_VERTEX_ATTRIB and index - See Also + See Also glBindAttribLocation, glVertexAttribPointer - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glVertexAttribBinding.xml b/Source/Bind/Specifications/Docs/GL4/glVertexAttribBinding.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glVertexAttribBinding.xml rename to Source/Bind/Specifications/Docs/GL4/glVertexAttribBinding.xml index ab64f7fc..1c3b6eca 100644 --- a/Source/Bind/Specifications/Docs/glVertexAttribBinding.xml +++ b/Source/Bind/Specifications/Docs/GL4/glVertexAttribBinding.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glVertexAttribBinding 3G @@ -25,7 +26,7 @@ - Parameters + Parameters attribindex @@ -45,7 +46,7 @@ - Description + Description glVertexAttribBinding, establishes an association between the generic vertex attribute whose index is given by attribindex and a vertex buffer binding @@ -54,7 +55,7 @@ must be less than the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. - Errors + Errors GL_INVALID_VALUE is generated if attribindex is greater than or equal to the value of GL_MAX_VERTEX_ATTRIBS. @@ -67,13 +68,13 @@ GL_INVALID_OPERATION is generated if no vertex array object is bound. - Associated Gets + Associated Gets glGet with arguments GL_MAX_VERTEX_ATTRIB_BINDINGS, GL_VERTEX_BINDING_DIVISOR. - See Also + See Also glBindVertexBuffer, glVertexAttribFormat, @@ -81,12 +82,12 @@ glVertexAttribPointer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glVertexAttribDivisor.xml b/Source/Bind/Specifications/Docs/GL4/glVertexAttribDivisor.xml similarity index 80% rename from Source/Bind/Specifications/Docs/glVertexAttribDivisor.xml rename to Source/Bind/Specifications/Docs/GL4/glVertexAttribDivisor.xml index e32290cb..fb911d50 100644 --- a/Source/Bind/Specifications/Docs/glVertexAttribDivisor.xml +++ b/Source/Bind/Specifications/Docs/GL4/glVertexAttribDivisor.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glVertexAttribDivisor 3G @@ -25,7 +26,7 @@ - Parameters + Parameters index @@ -45,7 +46,7 @@ - Description + Description glVertexAttribDivisor modifies the rate at which generic vertex attributes advance when rendering multiple instances of primitives in a single draw call. If divisor is zero, the attribute at slot @@ -57,30 +58,30 @@ index must be less than the value of GL_MAX_VERTEX_ATTRIBS. - Notes + Notes glVertexAttribDivisor is available only if the GL version is 3.3 or higher. - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to the value of GL_MAX_VERTEX_ATTRIBS. - See Also + See Also glVertexAttribPointer, glEnableVertexAttribArray, glDisableVertexAttribArray - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glVertexAttribFormat.xml b/Source/Bind/Specifications/Docs/GL4/glVertexAttribFormat.xml similarity index 91% rename from Source/Bind/Specifications/Docs/glVertexAttribFormat.xml rename to Source/Bind/Specifications/Docs/GL4/glVertexAttribFormat.xml index 3bfcff17..b3e8701f 100644 --- a/Source/Bind/Specifications/Docs/glVertexAttribFormat.xml +++ b/Source/Bind/Specifications/Docs/GL4/glVertexAttribFormat.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glVertexAttribFormat 3G @@ -46,7 +47,7 @@ - Parameters + Parameters attribindex @@ -90,7 +91,7 @@ - Description + Description glVertexAttribFormat, glVertexAttribIFormat and glVertexAttribLFormat specify the organization of data in vertex arrays. @@ -145,13 +146,13 @@ such data are referred to as pure integers. - Notes + Notes GL_UNSIGNED_INT_10F_11F_11F_REV is accepted for type only if the GL version is 4.4 or higher. - Errors + Errors GL_INVAILD_VALUE is generated if attribindex is greater than or equal to the value of GL_MAX_VERTEX_ATTRIBS. @@ -172,7 +173,7 @@ GL_INVALID_OPERATION is generated if no vertex array object is bound. - Associated Gets + Associated Gets glGet with arguments GL_MAX_VERTEX_ATTRIB_BINDINGS, or GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET. @@ -181,7 +182,7 @@ glGetVertexAttrib with argument GL_VERTEX_ATTRIB_RELATIVE_OFFSET. - See Also + See Also glBindVertexBuffer, glVertexAttribBinding, @@ -190,12 +191,12 @@ glVertexAttribPointer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glVertexAttribPointer.xml b/Source/Bind/Specifications/Docs/GL4/glVertexAttribPointer.xml similarity index 94% rename from Source/Bind/Specifications/Docs/glVertexAttribPointer.xml rename to Source/Bind/Specifications/Docs/GL4/glVertexAttribPointer.xml index 8c5a6769..65e1aec4 100644 --- a/Source/Bind/Specifications/Docs/glVertexAttribPointer.xml +++ b/Source/Bind/Specifications/Docs/GL4/glVertexAttribPointer.xml @@ -1,8 +1,9 @@ - - - - + %mathent; ]> + + + + + 2003-2005 3Dlabs Inc. Ltd. @@ -11,7 +12,7 @@ 2010-2013 Khronos Group - + glVertexAttribPointer 3G @@ -49,7 +50,7 @@ - Parameters + Parameters index @@ -119,7 +120,7 @@ - Description + Description glVertexAttribPointer, glVertexAttribIPointer and glVertexAttribLPointer specify the @@ -173,7 +174,7 @@ is called. - Notes + Notes Each generic vertex attribute array is initially disabled and isn't accessed when glDrawElements, glDrawRangeElements, @@ -185,7 +186,7 @@ only if the GL version is 4.4 or higher. - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. @@ -220,7 +221,7 @@ GL_ARRAY_BUFFER buffer object binding point and the pointer argument is not NULL. - Associated Gets + Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS @@ -249,7 +250,7 @@ with arguments index and GL_VERTEX_ATTRIB_ARRAY_POINTER - See Also + See Also glBindAttribLocation, glBindBuffer, @@ -263,13 +264,13 @@ glVertexAttrib - Copyright + Copyright - Copyright 2003-2005 3Dlabs Inc. Ltd. - Copyright 2010-2013 Khronos Group. + Copyright 2003-2005 3Dlabs Inc. Ltd. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glVertexBindingDivisor.xml b/Source/Bind/Specifications/Docs/GL4/glVertexBindingDivisor.xml similarity index 81% rename from Source/Bind/Specifications/Docs/glVertexBindingDivisor.xml rename to Source/Bind/Specifications/Docs/GL4/glVertexBindingDivisor.xml index 036df250..db651077 100644 --- a/Source/Bind/Specifications/Docs/glVertexBindingDivisor.xml +++ b/Source/Bind/Specifications/Docs/GL4/glVertexBindingDivisor.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2013 Khronos Group - + glVertexBindingDivisor 3G @@ -25,7 +26,7 @@ - Parameters + Parameters bindingindex @@ -45,7 +46,7 @@ - Description + Description glVertexBindingDivisor, modifies the rate at which generic vertex attributes advance when rendering multiple instances of primitives in a single draw command. If @@ -56,7 +57,7 @@ value is non-zero. - Errors + Errors GL_INVAILD_VALUE is generated if bindingindex is greater than or equal to the value of GL_MAX_VERTEX_ATTRIB_BINDINGS. @@ -65,13 +66,13 @@ GL_INVALID_OPERATION is generated if no vertex array object is bound. - Associated Gets + Associated Gets glGet with arguments GL_MAX_VERTEX_ATTRIB_BINDINGS, GL_VERTEX_BINDING_DIVISOR. - See Also + See Also glBindVertexBuffer, glVertexAttribBinding, @@ -80,12 +81,12 @@ glVertexAttribPointer. - Copyright + Copyright - Copyright 2013 Khronos Group. + Copyright 2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/GL4/glViewport.xml b/Source/Bind/Specifications/Docs/GL4/glViewport.xml new file mode 100644 index 00000000..eda01918 --- /dev/null +++ b/Source/Bind/Specifications/Docs/GL4/glViewport.xml @@ -0,0 +1,193 @@ + %mathent; ]> + + + + + + + 1991-2006 + Silicon Graphics, Inc. + + + 2010-2013 + Khronos Group + + + + glViewport + 3G + + + glViewport + set the viewport + + C Specification + + + void glViewport + GLint x + GLint y + GLsizei width + GLsizei height + + + + Parameters + + + x + y + + + Specify the lower left corner of the viewport rectangle, + in pixels. The initial value is (0,0). + + + + + width + height + + + Specify the width and height + of the viewport. + When a GL context is first attached to a window, + width and height are set to the dimensions of that + window. + + + + + + Description + + glViewport specifies the affine transformation of + x + and + y + from + normalized device coordinates to window coordinates. + Let + + + + x + nd + + y + nd + + + + be normalized device coordinates. + Then the window coordinates + + + + x + w + + y + w + + + + are computed as follows: + + + + + + x + w + + = + + + + x + nd + + + + 1 + + + + + + width + 2 + + + + + x + + + + + + + + + y + w + + = + + + + y + nd + + + + 1 + + + + + + height + 2 + + + + + y + + + + + + Viewport width and height are silently clamped + to a range that depends on the implementation. + To query this range, call glGet with argument + GL_MAX_VIEWPORT_DIMS. + + + Errors + + GL_INVALID_VALUE is generated if either width or height is negative. + + + Associated Gets + + glGet with argument GL_VIEWPORT + + + glGet with argument GL_MAX_VIEWPORT_DIMS + + + See Also + + glDepthRange + + + Copyright + + Copyright 1991-2006 Silicon Graphics, Inc. + Copyright 2010-2013 Khronos Group. + This document is licensed under the SGI Free Software B License. + For details, see + http://oss.sgi.com/projects/FreeB/. + + + diff --git a/Source/Bind/Specifications/Docs/glViewportArray.xml b/Source/Bind/Specifications/Docs/GL4/glViewportArray.xml similarity index 73% rename from Source/Bind/Specifications/Docs/glViewportArray.xml rename to Source/Bind/Specifications/Docs/GL4/glViewportArray.xml index 6c93b061..e4d12b83 100644 --- a/Source/Bind/Specifications/Docs/glViewportArray.xml +++ b/Source/Bind/Specifications/Docs/GL4/glViewportArray.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glViewportArray 3G @@ -26,7 +27,7 @@ - Parameters + Parameters first @@ -54,7 +55,7 @@ - Description + Description glViewportArrayv specifies the parameters for multiple viewports simulataneously. first specifies the index of the first viewport @@ -65,24 +66,24 @@ the range [first, first + count) are not modified. v contains the address of an array of floating point values specifying the - left (x), - bottom (y), - width (w), - and height (h) - of each viewport, in that order. x - and y give + left (x), + bottom (y), + width (w), + and height (h) + of each viewport, in that order. x + and y give the location of the viewport's lower left corner, and - w - and h + w + and h give the width and height of the viewport, respectively. The viewport specifies the affine transformation of - x + x and - y + y from normalized device coordinates to window coordinates. Let - + x @@ -95,7 +96,7 @@ be normalized device coordinates. Then the window coordinates - + x @@ -109,7 +110,7 @@ are computed as follows: - + x @@ -140,7 +141,7 @@ - + y @@ -172,9 +173,9 @@ The location of the viewport's bottom left corner, given by - (x, y) + (x, y) is clamped to be within the implementaiton-dependent viewport bounds range. - The viewport bounds range [min, max] + The viewport bounds range [min, max] can be determined by calling glGet with argument GL_VIEWPORT_BOUNDS_RANGE. Viewport width and height are silently clamped @@ -187,7 +188,7 @@ and may be determined by querying the impementation-defined constant GL_VIEWPORT_SUBPIXEL_BITS. - Errors + Errors GL_INVALID_VALUE is generated if first is greater than or equal to the value of GL_MAX_VIEWPORTS. @@ -200,7 +201,7 @@ GL_INVALID_VALUE is generated if either width or height is negative. - Associated Gets + Associated Gets glGet with argument GL_VIEWPORT @@ -214,19 +215,19 @@ glGet with argument GL_VIEWPORT_SUBPIXEL_BITS - See Also + See Also glDepthRange, glViewport, glViewportIndexed - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glViewportIndexed.xml b/Source/Bind/Specifications/Docs/GL4/glViewportIndexed.xml similarity index 75% rename from Source/Bind/Specifications/Docs/glViewportIndexed.xml rename to Source/Bind/Specifications/Docs/GL4/glViewportIndexed.xml index 090a0b64..3b9505f5 100644 --- a/Source/Bind/Specifications/Docs/glViewportIndexed.xml +++ b/Source/Bind/Specifications/Docs/GL4/glViewportIndexed.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glViewportIndexed 3G @@ -35,7 +36,7 @@ - Parameters + Parameters index @@ -78,7 +79,7 @@ - Description + Description glViewportIndexedf and glViewportIndexedfv specify the parameters for a single viewport. @@ -90,24 +91,24 @@ of the viewport in pixels, respectively. For glViewportIndexedfv, v contains the address of an array of floating point values specifying the - left (x), - bottom (y), - width (w), - and height (h) - of each viewport, in that order. x - and y give + left (x), + bottom (y), + width (w), + and height (h) + of each viewport, in that order. x + and y give the location of the viewport's lower left corner, and - w - and h + w + and h give the width and height of the viewport, respectively. The viewport specifies the affine transformation of - x + x and - y + y from normalized device coordinates to window coordinates. Let - + x @@ -120,7 +121,7 @@ be normalized device coordinates. Then the window coordinates - + x @@ -134,7 +135,7 @@ are computed as follows: - + x @@ -165,7 +166,7 @@ - + y @@ -197,9 +198,9 @@ The location of the viewport's bottom left corner, given by - (x, y) + (x, y) is clamped to be within the implementaiton-dependent viewport bounds range. - The viewport bounds range [min, max] + The viewport bounds range [min, max] can be determined by calling glGet with argument GL_VIEWPORT_BOUNDS_RANGE. Viewport width and height are silently clamped @@ -217,13 +218,12 @@ 1 and v passsed directly. glViewportIndexedf is equivalent to: - void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { const float v[4] = { x, y, w, h }; glViewportArrayv(index, 1, v); - }]]> + } - Errors + Errors GL_INVALID_VALUE is generated if index is greater than or equal to the value of GL_MAX_VIEWPORTS. @@ -232,7 +232,7 @@ GL_INVALID_VALUE is generated if either width or height is negative. - Associated Gets + Associated Gets glGet with argument GL_VIEWPORT @@ -246,19 +246,19 @@ glGet with argument GL_VIEWPORT_SUBPIXEL_BITS - See Also + See Also glDepthRange, glViewport, glViewportArray - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glWaitSync.xml b/Source/Bind/Specifications/Docs/GL4/glWaitSync.xml similarity index 84% rename from Source/Bind/Specifications/Docs/glWaitSync.xml rename to Source/Bind/Specifications/Docs/GL4/glWaitSync.xml index 3835b898..69b6fd9f 100644 --- a/Source/Bind/Specifications/Docs/glWaitSync.xml +++ b/Source/Bind/Specifications/Docs/GL4/glWaitSync.xml @@ -1,13 +1,14 @@ - - - - + %mathent; ]> + + + + + 2010-2013 Khronos Group - + glWaitSync 3G @@ -26,7 +27,7 @@ - Parameters + Parameters sync @@ -54,7 +55,7 @@ - Description + Description glWaitSync causes the GL server to block and wait until sync becomes signaled. sync is the name of an existing sync object upon which to wait. flags and timeout are currently not used and @@ -69,12 +70,12 @@ If an error occurs, glWaitSync does not cause the GL server to block. - Notes + Notes glWaitSync is available only if the GL version is 3.2 or higher. - Errors + Errors GL_INVALID_VALUE is generated if sync is not the name of a sync object. @@ -85,18 +86,18 @@ GL_INVALID_VALUE is generated if timeout is not GL_TIMEOUT_IGNORED. - See Also + See Also glFenceSync, glClientWaitSync - Copyright + Copyright - Copyright 2010-2013 Khronos Group. + Copyright 2010-2013 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. + http://opencontent.org/openpub/. diff --git a/Source/Bind/Specifications/Docs/glFramebufferTextureFace.xml b/Source/Bind/Specifications/Docs/glFramebufferTextureFace.xml deleted file mode 100644 index fda5e9ad..00000000 --- a/Source/Bind/Specifications/Docs/glFramebufferTextureFace.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - 2010 - Khronos Group - - - glFramebufferTextureFace - 3G - - - glFramebufferTextureFace - attach a face of a cube map texture as a logical buffer to the currently bound framebuffer - - C Specification - - - void glFramebufferTextureFace - GLenum target - GLenum attachment - GLuint texture - GLint level - GLenum face - - - - - Parameters - - - target - - - Specifies the framebuffer target. target must be GL_DRAW_FRAMEBUFFER, - GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER - is equivalent to GL_DRAW_FRAMEBUFFER. - - - - - attachment - - - Specifies the attachment point of the framebuffer. attachment must be - GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, - GL_STENCIL_ATTACHMENT or GL_DEPTH_STENCIL_ATTACHMMENT. - - - - - texture - - - Specifies the texture object to attach to the framebuffer attachment point named by attachment. - texture must be the name of an existing cube-map texture. - - - - - level - - - Specifies the mipmap level of texture to attach. - - - - - face - - - Specifies the face of texture to attach. - - - - - - Description - - glFramebufferTextureFace operates like glFramebufferTexture, - except that only a single face of a cube map texture, given by face, is attached to the attachment point. - face must be GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, - GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, - or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. texture must either be zero, or the name of an existing cube map texture. - - - Errors - - GL_INVALID_ENUM is generated if target is not one of the accepted tokens. - - - GL_INVALID_ENUM is generated if attachment is not one of the accepted tokens. - - - GL_INVALID_ENUM is generated if face is not one of the accepted tokens. - - - GL_INVALID_OPERATION is generated if zero is bound to target. - - - GL_INVALID_OPERATION is generated if texture is not zero or the name of an existing cube map texture. - - - See Also - - glGenFramebuffers, - glBindFramebuffer, - glGenRenderbuffers, - glFramebufferTexture, - glFramebufferTextureLayer - - - Copyright - - Copyright 2010 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in - the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. - - - diff --git a/Source/Bind/Specifications/Docs/glGetInternalformativ.xml b/Source/Bind/Specifications/Docs/glGetInternalformativ.xml deleted file mode 100644 index 1009289e..00000000 --- a/Source/Bind/Specifications/Docs/glGetInternalformativ.xml +++ /dev/null @@ -1,480 +0,0 @@ - - - - - - 2011-2013 - Khronos Group. - - - - glGetInternalformativ - 3G - - - glGetInternalformativ - retrieve information about implementation-dependent support for internal formats - - C Specification - - - void glGetInternalformativ - GLenum target - GLenum internalformat - GLenum pname - GLsizei bufSize - GLint *params - - - void glGetInternalformati64v - GLenum target - GLenum internalformat - GLenum pname - GLsizei bufSize - GLint64 *params - - - - Parameters - - - target - - - Indicates the usage of the internal format. target must be GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, - GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, - GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_RECTANGLE, - GL_TEXTURE_BUFFER, - GL_RENDERBUFFER, GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY. - - - - - internalformat - - - Specifies the internal format about which to retrieve information. - - - - - pname - - - Specifies the type of information to query. - - - - - bufSize - - - Specifies the maximum number of basic machine units that may be written to params by the function. - - - - - params - - - Specifies the address of a variable into which to write the retrieved information. - - - - - - Description - - glGetInternalformativ and glGetInternalformati64v retrieve information about implementation-dependent support for - internal formats. target indicates the target with which the internal format will - be used and must be one of GL_RENDERBUFFER, GL_TEXTURE_2D_MULTISAMPLE, - or GL_TEXTURE_2D_MULTISAMPLE_ARRAY, corresponding to usage as a renderbuffer, two-dimensional - multisample texture or two-dimensional multisample array texture, respectively. - - - internalformat specifies the internal format about which to retrieve information and - must be a color-renderable, depth-renderable or stencil-renderable format. - - - The information retrieved will be written to memory addressed by the pointer specified in params. No - more than bufSize basic machine units will be written to this memory. - - - If pname is GL_NUM_SAMPLE_COUNTS, the number of sample counts that would be - returned by querying GL_SAMPLES will be returned in params. - - - If pname is GL_SAMPLES, the sample counts supported for internalformat - and target are written into params in descending numeric order. Only positive values are returned. - Querying GL_SAMPLES with bufSize of one will return just the maximum supported number of - samples for this format. The maximum value in GL_SAMPLES is guaranteed to be at least the lowest of the following: - - - - The value of - GL_MAX_INTEGER_SAMPLES if - internalformat is a signed or - unsigned integer format. - - - - - The value of - GL_MAX_DEPTH_TEXTURE_SAMPLES if - internalformat is a depth- or - stencil-renderable format and - target is - GL_TEXTURE_2D_MULTISAMPLE, - GL_TEXTURE_2D_MULTISAMPLE_ARRAY. - - - - - The value of - GL_MAX_COLOR_TEXTURE_SAMPLES if - internalformat is a - color-renderable format and - target is - GL_TEXTURE_2D_MULTISAMPLE or - GL_TEXTURE_2D_MULTISAMPLE_ARRAY. - - - - The value of GL_MAX_SAMPLES. - - - - - - If pname is GL_INTERNALFORMAT_SUPPORTED, params is set to GL_TRUE if internalFormat - is a supported internal format for target and to GL_FALSE otherwise. - - - If pname is GL_INTERNALFORMAT_PREFERRED, params is set to GL_TRUE if internalFormat - is an format for target that is preferred by the implementation and to GL_FALSE otherwise. - - - If pname is GL_INTERNALFORMAT_RED_SIZE, GL_INTERNALFORMAT_GREEN_SIZE, - GL_INTERNALFORMAT_BLUE_SIZE, GL_INTERNALFORMAT_ALPHA_SIZE, GL_INTERNALFORMAT_DEPTH_SIZE, - GL_INTERNALFORMAT_STENCIL_SIZE, or GL_INTERNALFORMAT_SHARED_SIZE then - params is set to the actual resolutions that would be used for storing image array components - for the resource for the red, green, blue, alpha, depth, stencil and shared channels respectively. If internalFormat - is a compressed internal format, then params is set to the component resolution of an uncompressed internal format that produces - an image of roughly the same quality as the compressed algorithm. If the internal format is unsupported, or if a particular component is - not present in the format, 0 is written to params. - - - If pname is GL_INTERNALFORMAT_RED_TYPE, GL_INTERNALFORMAT_GREEN_TYPE, - GL_INTERNALFORMAT_BLUE_TYPE, GL_INTERNALFORMAT_ALPHA_TYPE, GL_INTERNALFORMAT_DEPTH_TYPE, - or GL_INTERNALFORMAT_STENCIL_TYPE then params is set to a token identifying the data type used - to store the respective component. If the internalFormat represents a compressed internal format then - the types returned specify how components are interpreted after decompression. - - - If pname is GL_MAX_WIDTH, GL_MAX_HEIGHT, GL_MAX_DEPTH, - or GL_MAX_LAYERS then pname is filled with the maximum width, height, depth or layer count - for textures with internal format internalFormat, respectively. If pname is GL_MAX_COMBINED_DIMENSIONS - then pname is filled with the maximum combined dimensions of a texture of the specified internal format. - - - If pname is GL_COLOR_COMPONENTS then params is set to the value GL_TRUE - if the internal format contains any color component (i.e., red, green, blue or alpha) and to GL_FALSE otherwise. If - pname is GL_DEPTH_COMPONENTS or GL_STENCIL_COMPONENTS then params - is set to GL_TRUE if the internal format contains a depth or stencil component, respectively, and to GL_FALSE - otherwise. - - - If pname is GL_COLOR_RENDERABLE, GL_DEPTH_RENDERABLE or GL_STENCIL_RENDERABLE - then params is set to GL_TRUE if the specified internal format is color, depth or stencil renderable, respectively, - and to GL_FALSE otherwise. - - - If pname is GL_FRAMEBUFFER_RENDERABLE or GL_FRAMEBUFFER_RENDERABLE_LAYERED - then params is set to one of GL_FULL_SUPPORT, - GL_CAVEAT_SUPPORT or GL_NONE to indicate that framebuffer attachments (layered attachments in the - case of GL_FRAMEBUFFER_RENDERABLE_LAYERED) with that internal format are either - renderable with no restrictions, renderable with some restrictions or not renderable at all. - - - If pname is GL_FRAMEBUFFER_BLEND, params is set to GL_TRUE - to indicate that the internal format is supported for blending operations when attached to a framebuffer, and to GL_FALSE otherwise. - - - If pname is GL_READ_PIXELS then params is set to GL_FULL_SUPPORT, - GL_CAVEAT_SUPPORT or GL_NONE to that either full support, limited support or no support at all is supplied - for reading pixels from framebuffer attachments in the specified internal format. - - - If pname is GL_READ_PIXELS_FORMAT or GL_READ_PIXELS_TYPE then params - is filled with the format or type, respectively, most recommended to obtain the highest image quality and performance. For - GL_READ_PIXELS_FORMAT, the value returned in params is a token that is accepted for - the format argument to glReadPixels. For - GL_READ_PIXELS_TYPE, the value returned in params is a token that is accepted for - the type argument to glReadPixels. - - - If pname is GL_TEXTURE_IMAGE_FORMAT or GL_TEXTURE_IMAGE_TYPE then - params is filled with the implementation-recommended format or type to be used in calls to - glTexImage2D and other similar functions. For GL_TEXTURE_IMAGE_FORMAT, - params is filled with a token suitable for use as the format argument to - glTexImage2D. For GL_TEXTURE_IMAGE_TYPE, - params is filled with a token suitable for use as the type argument to - glTexImage2D. - - - If pname is GL_GET_TEXTURE_IMAGE_FORMAT or GL_GET_TEXTURE_IMAGE_TYPE then - params is filled with the implementation-recommended format or type to be used in calls to - glGetTexImage2D and other similar functions. For GL_GET_TEXTURE_IMAGE_FORMAT, - params is filled with a token suitable for use as the format argument to - glGetTexImage2D. For GL_GET_TEXTURE_IMAGE_TYPE, - params is filled with a token suitable for use as the type argument to - glGetTexImage2D. - - - If pname is GL_MIPMAP then pname is set to GL_TRUE - to indicate that the specified internal format supports mipmaps and to GL_FALSE otherwise. - - - If pname is GL_GENERATE_MIPMAP or GL_AUTO_GENERATE_MIPMAP then params - is indicates the level of support for manual or automatic mipmap generation for the specified internal format, respectively. Returned values - may be one of GL_FULL_SUPPORT, GL_CAVEAT_SUPPORT and GL_NONE to indicate - either full support, limited support or no support at all. - - - If pname is GL_COLOR_ENCODING then the color encoding for the resource is returned in - params. Possible values for color buffers are GL_LINEAR or GL_SRGB, - for linear or sRGB-encoded color components, respectively. For non-color - formats (such as depth or stencil), or for unsupported resources, - the value GL_NONE is returned. - - - If pname is GL_SRGB_READ, or GL_SRGB_WRITE then params - indicates the level of support for reading and writing to sRGB encoded images, respectively. For GL_SRGB_READ, - support for converting from sRGB colorspace on read operations is returned in params and for GL_SRGB_WRITE, - support for converting to sRGB colorspace on write operations to the resource is returned in params. params may be - set to GL_FULL_SUPPORT, GL_CAVEAT_SUPPORT, or GL_NONE to indicate - full support, limited support or no support at all, respecitively. - - - If pname is GL_FILTER the params is set to either GL_TRUE - or GL_FALSE to indicate support or lack thereof for filter modes other than GL_NEAREST or GL_NEAREST_MIPMAP - for the specified internal format. - - - If pname is GL_VERTEX_TEXTURE, GL_TESS_CONTROL_TEXTURE, GL_TESS_EVALUATION_TEXTURE, - GL_GEOMETRY_TEXTURE, GL_FRAGMENT_TEXTURE, or GL_COMPUTE_TEXTURE, then the value - written to params indicates support for use of the resource as a source of texturing in the vertex, tessellation control, - tessellation evaluation, geometry, fragment and compute shader stages, respectively. params may be set to - GL_FULL_SUPPORT, GL_CAVEAT_SUPPORT or GL_NONE to indicate full support, - limited support or no support at all, respectively. - - - If pname is GL_TEXTURE_SHADOW, GL_TEXTURE_GATHER or GL_TEXTURE_GATHER_SHADOW then the value written to - params indicates the level of support for using the resource with a shadow sampler, in gather operations or as a shadow sampler in gather operations, respectively. Returned values - may be GL_FULL_SUPPORT, GL_CAVEAT_SUPPORT or GL_NONE to indicate full support, - limited support or no support at all, respectively. - - - If pname is GL_SHADER_IMAGE_LOAD, GL_SHADER_IMAGE_STORE or GL_SHADER_IMAGE_ATOMIC - then the value returned in params indicates the level of support for image loads, stores and atomics for resources of the specified internal - format. Returned values - may be GL_FULL_SUPPORT, GL_CAVEAT_SUPPORT or GL_NONE to indicate full support, - limited support or no support at all, respectively. - - - If pname is GL_IMAGE_TEXEL_SIZE then the size of a texel when the resource when used as - an image texture is returned in params. If the resource is not supported for image - textures zero is returned. - - - If pname is GL_IMAGE_COMPATIBILITY_CLASS then the compatibility class of the resource when - used as an image texture is returned in params. The possible values - returned are GL_IMAGE_CLASS_4_X_32, GL_IMAGE_CLASS_2_X_32, GL_IMAGE_CLASS_1_X_32, - GL_IMAGE_CLASS_4_X_16, GL_IMAGE_CLASS_2_X_16, GL_IMAGE_CLASS_1_X_16, - GL_IMAGE_CLASS_4_X_8, GL_IMAGE_CLASS_2_X_8, GL_IMAGE_CLASS_1_X_8, - GL_IMAGE_CLASS_11_11_10, and GL_IMAGE_CLASS_10_10_10_2, which correspond to - the 4x32, 2x32, 1x32, 4x16, 2x16, 1x16, 4x8, 2x8, 1x8, the class - (a) 11/11/10 packed floating-point format, and the class (b) - 10/10/10/2 packed formats, respectively. - If the resource is not supported for image textures, GL_NONE is returned. - - - If pname is GL_IMAGE_PIXEL_FORMAT or GL_IMAGE_PIXEL_TYPE then - the pixel format or type of the resource when used as an image texture is returned in params, respectively. - In either case, the resource is not supported for image textures GL_NONE is returned. - - - If pname is GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, the matching criteria use for the - resource when used as an image textures is returned in params. Possible values returned in params are - GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE or GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS. - If the resource is not supported for image textures, GL_NONE is returned. - - - If pname is GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST or GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST, - support for using the resource both as a source for texture sampling while it is bound as a buffer for depth or stencil test, respectively, is written to params. - Possible values returned are GL_FULL_SUPPORT, GL_CAVEAT_SUPPORT, or GL_NONE to indicate - full support, limited support or no support at all. If the resource or operation is not supported, GL_NONE is returned. - - - If pname is GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE or GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE, - support for using the resource both as a source for texture sampling while performing depth or stencil writes to the resources, respectively, is written to params. - Possible values returned are GL_FULL_SUPPORT, GL_CAVEAT_SUPPORT, or GL_NONE to indicate - full support, limited support or no support at all. If the resource or operation is not supported, GL_NONE is returned. - - - If pname is GL_TEXTURE_COMPRESSED then GL_TRUE is returned in params - if internalformat is a compressed internal format. GL_FALSE is returned in params - otherwise. - - - If pname is GL_TEXTURE_COMPRESSED_BLOCK_WIDTH, GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT or - GL_TEXTURE_COMPRESSED_BLOCK_SIZE then the width, height or total size, respectively of a block (in basic machine units) is returned in - params. If the internal format is not compressed, or the resource is not supported, 0 is returned. - - - If pname is GL_CLEAR_BUFFER, the level of support for using the resource with glClearBufferData - and glClearBufferSubData is returned in params. Possible values returned are GL_FULL_SUPPORT, - GL_CAVEAT_SUPPORT, or GL_NONE to indicate - full support, limited support or no support at all, respectively. If the resource or operation is not supported, GL_NONE is returned. - - - If pname is GL_TEXTURE_VIEW, the level of support for using the resource with the glTextureView - command is returned in params. Possible values returned are GL_FULL_SUPPORT, - GL_CAVEAT_SUPPORT, or GL_NONE to indicate - full support, limited support or no support at all, respectively. If the resource or operation is not supported, GL_NONE is returned. - - - If pname is GL_VIEW_COMPATIBILITY_CLASS then the compatibility class of the resource when - used as a texture view is returned in params. The possible values - returned are GL_VIEW_CLASS_128_BITS, GL_VIEW_CLASS_96_BITS, - GL_VIEW_CLASS_64_BITS, GL_VIEW_CLASS_48_BITS, GL_VIEW_CLASS_32_BITS, - GL_VIEW_CLASS_24_BITS, GL_VIEW_CLASS_16_BITS, GL_VIEW_CLASS_8_BITS, - GL_VIEW_CLASS_S3TC_DXT1_RGB, GL_VIEW_CLASS_S3TC_DXT1_RGBA, - GL_VIEW_CLASS_S3TC_DXT3_RGBA, GL_VIEW_CLASS_S3TC_DXT5_RGBA, - GL_VIEW_CLASS_RGTC1_RED, GL_VIEW_CLASS_RGTC2_RG, GL_VIEW_CLASS_BPTC_UNORM, and - GL_VIEW_CLASS_BPTC_FLOAT. - - - If pname is GL_CLEAR_TEXTURE then the presence of support for using the - glClearTexImage and glClearTexSubImage - commands with the resource is written to params. Possible values written are GL_FULL_SUPPORT, - GL_CAVEAT_SUPPORT, or GL_NONE to indicate - full support, limited support or no support at all, respectively. If the resource or operation is not supported, GL_NONE is returned. - - - Notes - - glGetInternalformativ is available only if the - GL version is 4.2 or higher. - - - The tokens - GL_INTERNALFORMAT_SUPPORTED, - GL_INTERNALFORMAT_PREFERRED, - GL_INTERNALFORMAT_RED_SIZE, - GL_INTERNALFORMAT_GREEN_SIZE, - GL_INTERNALFORMAT_BLUE_SIZE, - GL_INTERNALFORMAT_ALPHA_SIZE, - GL_INTERNALFORMAT_DEPTH_SIZE, - GL_INTERNALFORMAT_STENCIL_SIZE, - GL_INTERNALFORMAT_SHARED_SIZE, - GL_INTERNALFORMAT_RED_TYPE, - GL_INTERNALFORMAT_GREEN_TYPE, - GL_INTERNALFORMAT_BLUE_TYPE, - GL_INTERNALFORMAT_ALPHA_TYPE, - GL_INTERNALFORMAT_DEPTH_TYPE, - GL_INTERNALFORMAT_STENCIL_TYPE, - GL_MAX_WIDTH, - GL_MAX_HEIGHT, - GL_MAX_DEPTH, - GL_MAX_LAYERS, - GL_MAX_COMBINED_DIMENSIONS, - GL_COLOR_COMPONENTS, - GL_DEPTH_COMPONENTS, - GL_STENCIL_COMPONENTS, - GL_COLOR_RENDERABLE, - GL_DEPTH_RENDERABLE, - GL_STENCIL_RENDERABLE, - GL_FRAMEBUFFER_RENDERABLE, - GL_FRAMEBUFFER_RENDERABLE_LAYERED, - GL_FRAMEBUFFER_BLEND, - GL_READ_PIXELS, - GL_READ_PIXELS_FORMAT, - GL_READ_PIXELS_TYPE, - GL_TEXTURE_IMAGE_FORMAT, - GL_TEXTURE_IMAGE_TYPE, - GL_GET_TEXTURE_IMAGE_FORMAT, - GL_GET_TEXTURE_IMAGE_TYPE, - GL_MIPMAP, - GL_GENERATE_MIPMAP, - GL_AUTO_GENERATE_MIPMAP, - GL_COLOR_ENCODING, - GL_SRGB_READ, - GL_SRGB_WRITE, - GL_SRGB_DECODE_ARB, - GL_FILTER, - GL_VERTEX_TEXTURE, - GL_TESS_CONTROL_TEXTURE, - GL_TESS_EVALUATION_TEXTURE, - GL_GEOMETRY_TEXTURE, - GL_FRAGMENT_TEXTURE, - GL_COMPUTE_TEXTURE, - GL_TEXTURE_SHADOW, - GL_TEXTURE_GATHER, - GL_TEXTURE_GATHER_SHADOW, - GL_SHADER_IMAGE_LOAD, - GL_SHADER_IMAGE_STORE, - GL_SHADER_IMAGE_ATOMIC, - GL_IMAGE_TEXEL_SIZE, - GL_IMAGE_COMPATIBILITY_CLASS, - GL_IMAGE_PIXEL_FORMAT, - GL_IMAGE_PIXEL_TYPE, - GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, - GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST, - GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST, - GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE, - GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE, - GL_TEXTURE_COMPRESSED, - GL_TEXTURE_COMPRESSED_BLOCK_WIDTH, - GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT, - GL_TEXTURE_COMPRESSED_BLOCK_SIZE, - GL_CLEAR_BUFFER, - GL_TEXTURE_VIEW, and - GL_VIEW_COMPATIBILITY_CLASS are supported only if the GL - version is 4.3 or higher. - - - The GL_CLEAR_TEXTURE token is accepted for pname only - if the GL version is 4.4 or higher. - - - Errors - - GL_INVALID_VALUE is generated if bufSize is negative. - - - GL_INVALID_ENUM is generated if pname is not GL_SAMPLES or GL_NUM_SAMPLE_COUNTS. - - - GL_INVALID_ENUM is generated if internalformat is not color-, depth-, or stencil-renderable. - - - GL_INVALID_ENUM is generated if target is not one of GL_TEXTURE_2D_MULTISAMPLE, - GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_RENDERBUFFER. - - - See Also - - glGet - - - Copyright - - Copyright 2011-2013 Khronos Group. - This material may be distributed subject to the terms and conditions set forth in - the Open Publication License, v 1.0, 8 June 1999. - http://opencontent.org/openpub/. - - -