# ARBUniformBufferObject (LWJGL API)
Date: 2015-07-28

## org.lwjgl.opengl
Class ARBUniformBufferObject

    java.lang.Object
      org.lwjgl.opengl.ARBUniformBufferObject

    public final class ARBUniformBufferObject

extends java.lang.Object

Field Summary
`static int` `GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH` Accepted by the <pname> parameter of GetProgramiv:
`static int` `GL_ACTIVE_UNIFORM_BLOCKS` Accepted by the <pname> parameter of GetProgramiv:
`static int` `GL_INVALID_INDEX` Returned by GetActiveUniformsivARB and GetUniformBlockIndexARB
`static int` `GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_MAX_COMBINED_UNIFORM_BLOCKS` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_MAX_FRAGMENT_UNIFORM_BLOCKS` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_MAX_GEOMETRY_UNIFORM_BLOCKS` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_MAX_UNIFORM_BLOCK_SIZE` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_MAX_UNIFORM_BUFFER_BINDINGS` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_MAX_VERTEX_UNIFORM_BLOCKS` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_UNIFORM_ARRAY_STRIDE` Accepted by the <pname> parameter of GetActiveUniformsivARB:
`static int` `GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES` Accepted by the <pname> parameter of GetActiveUniformBlockivARB:
`static int` `GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS` Accepted by the <pname> parameter of GetActiveUniformBlockivARB:
`static int` `GL_UNIFORM_BLOCK_BINDING` Accepted by the <pname> parameter of GetActiveUniformBlockivARB:
`static int` `GL_UNIFORM_BLOCK_DATA_SIZE` Accepted by the <pname> parameter of GetActiveUniformBlockivARB:
`static int` `GL_UNIFORM_BLOCK_INDEX` Accepted by the <pname> parameter of GetActiveUniformsivARB:
`static int` `GL_UNIFORM_BLOCK_NAME_LENGTH` Accepted by the <pname> parameter of GetActiveUniformBlockivARB:
`static int` `GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER` Accepted by the <pname> parameter of GetActiveUniformBlockivARB:
`static int` `GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER` Accepted by the <pname> parameter of GetActiveUniformBlockivARB:
`static int` `GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER` Accepted by the <pname> parameter of GetActiveUniformBlockivARB:
`static int` `GL_UNIFORM_BUFFER` Accepted by the <target> parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, and GetBufferPointerv:
`static int` `GL_UNIFORM_BUFFER_BINDING` Accepted by the <pname> parameter of GetIntegeri_v, GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT` Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
`static int` `GL_UNIFORM_BUFFER_SIZE` Accepted by the <pname> parameter of GetIntegeri_v:
`static int` `GL_UNIFORM_BUFFER_START` Accepted by the <pname> parameter of GetIntegeri_v:
`static int` `GL_UNIFORM_IS_ROW_MAJOR` Accepted by the <pname> parameter of GetActiveUniformsivARB:
`static int` `GL_UNIFORM_MATRIX_STRIDE` Accepted by the <pname> parameter of GetActiveUniformsivARB:
`static int` `GL_UNIFORM_NAME_LENGTH` Accepted by the <pname> parameter of GetActiveUniformsivARB:
`static int` `GL_UNIFORM_OFFSET` Accepted by the <pname> parameter of GetActiveUniformsivARB:
`static int` `GL_UNIFORM_SIZE` Accepted by the <pname> parameter of GetActiveUniformsivARB:
`static int` `GL_UNIFORM_TYPE` Accepted by the <pname> parameter of GetActiveUniformsivARB:

Method Summary
`static void` `glBindBufferBase(int target, int index, int buffer)`
`static void` `glBindBufferRange(int target, int index, int buffer, long offset, long size)`
`static int` `glGetActiveUniformBlock(int program, int uniformBlockIndex, int pname)` Deprecated. Will be removed in 3.0. Use `glGetActiveUniformBlocki(int, int, int)` instead.
`static void` `glGetActiveUniformBlock(int program, int uniformBlockIndex, int pname, java.nio.IntBuffer params)`
`static int` `glGetActiveUniformBlocki(int program, int uniformBlockIndex, int pname)` Overloads glGetActiveUniformBlockiv.
`static java.lang.String` `glGetActiveUniformBlockName(int program, int uniformBlockIndex, int bufSize)` Overloads glGetActiveUniformBlockName.
`static void` `glGetActiveUniformBlockName(int program, int uniformBlockIndex, java.nio.IntBuffer length, java.nio.ByteBuffer uniformBlockName)`
`static java.lang.String` `glGetActiveUniformName(int program, int uniformIndex, int bufSize)` Overloads glGetActiveUniformName.
`static void` `glGetActiveUniformName(int program, int uniformIndex, java.nio.IntBuffer length, java.nio.ByteBuffer uniformName)`
`static void` `glGetActiveUniforms(int program, java.nio.IntBuffer uniformIndices, int pname, java.nio.IntBuffer params)`
`static int` `glGetActiveUniforms(int program, int uniformIndex, int pname)` Deprecated. Will be removed in 3.0. Use `glGetActiveUniformsi(int, int, int)` instead.
`static int` `glGetActiveUniformsi(int program, int uniformIndex, int pname)` Overloads glGetActiveUniformsiv.
`static int` `glGetInteger(int value, int index)` Overloads glGetIntegeri_v.
`static void` `glGetInteger(int value, int index, java.nio.IntBuffer data)`
`static int` `glGetUniformBlockIndex(int program, java.nio.ByteBuffer uniformBlockName)`
`static int` `glGetUniformBlockIndex(int program, java.lang.CharSequence uniformBlockName)` Overloads glGetUniformBlockIndex.
`static void` `glGetUniformIndices(int program, java.nio.ByteBuffer uniformNames, java.nio.IntBuffer uniformIndices)`
`static void` `glGetUniformIndices(int program, java.lang.CharSequence[] uniformNames, java.nio.IntBuffer uniformIndices)` Overloads glGetUniformIndices.
`static void` `glUniformBlockBinding(int program, int uniformBlockIndex, int uniformBlockBinding)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### GL_UNIFORM_BUFFER

    public static final int GL_UNIFORM_BUFFER

  Accepted by the <target> parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, and GetBufferPointerv:

  See Also:
    Constant Field Values

### GL_UNIFORM_BUFFER_BINDING

    public static final int GL_UNIFORM_BUFFER_BINDING

  Accepted by the <pname> parameter of GetIntegeri_v, GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_UNIFORM_BUFFER_START

    public static final int GL_UNIFORM_BUFFER_START

  Accepted by the <pname> parameter of GetIntegeri_v:

  See Also:
    Constant Field Values

### GL_UNIFORM_BUFFER_SIZE

    public static final int GL_UNIFORM_BUFFER_SIZE

  Accepted by the <pname> parameter of GetIntegeri_v:

  See Also:
    Constant Field Values

### GL_MAX_VERTEX_UNIFORM_BLOCKS

    public static final int GL_MAX_VERTEX_UNIFORM_BLOCKS

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_MAX_GEOMETRY_UNIFORM_BLOCKS

    public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_MAX_FRAGMENT_UNIFORM_BLOCKS

    public static final int GL_MAX_FRAGMENT_UNIFORM_BLOCKS

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_MAX_COMBINED_UNIFORM_BLOCKS

    public static final int GL_MAX_COMBINED_UNIFORM_BLOCKS

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_MAX_UNIFORM_BUFFER_BINDINGS

    public static final int GL_MAX_UNIFORM_BUFFER_BINDINGS

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_MAX_UNIFORM_BLOCK_SIZE

    public static final int GL_MAX_UNIFORM_BLOCK_SIZE

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS

    public static final int GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS

    public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS

    public static final int GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT

    public static final int GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT

  Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:

  See Also:
    Constant Field Values

### GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH

    public static final int GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH

  Accepted by the <pname> parameter of GetProgramiv:

  See Also:
    Constant Field Values

### GL_ACTIVE_UNIFORM_BLOCKS

    public static final int GL_ACTIVE_UNIFORM_BLOCKS

  Accepted by the <pname> parameter of GetProgramiv:

  See Also:
    Constant Field Values

### GL_UNIFORM_TYPE

    public static final int GL_UNIFORM_TYPE

  Accepted by the <pname> parameter of GetActiveUniformsivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_SIZE

    public static final int GL_UNIFORM_SIZE

  Accepted by the <pname> parameter of GetActiveUniformsivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_NAME_LENGTH

    public static final int GL_UNIFORM_NAME_LENGTH

  Accepted by the <pname> parameter of GetActiveUniformsivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_INDEX

    public static final int GL_UNIFORM_BLOCK_INDEX

  Accepted by the <pname> parameter of GetActiveUniformsivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_OFFSET

    public static final int GL_UNIFORM_OFFSET

  Accepted by the <pname> parameter of GetActiveUniformsivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_ARRAY_STRIDE

    public static final int GL_UNIFORM_ARRAY_STRIDE

  Accepted by the <pname> parameter of GetActiveUniformsivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_MATRIX_STRIDE

    public static final int GL_UNIFORM_MATRIX_STRIDE

  Accepted by the <pname> parameter of GetActiveUniformsivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_IS_ROW_MAJOR

    public static final int GL_UNIFORM_IS_ROW_MAJOR

  Accepted by the <pname> parameter of GetActiveUniformsivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_BINDING

    public static final int GL_UNIFORM_BLOCK_BINDING

  Accepted by the <pname> parameter of GetActiveUniformBlockivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_DATA_SIZE

    public static final int GL_UNIFORM_BLOCK_DATA_SIZE

  Accepted by the <pname> parameter of GetActiveUniformBlockivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_NAME_LENGTH

    public static final int GL_UNIFORM_BLOCK_NAME_LENGTH

  Accepted by the <pname> parameter of GetActiveUniformBlockivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS

    public static final int GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS

  Accepted by the <pname> parameter of GetActiveUniformBlockivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES

    public static final int GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES

  Accepted by the <pname> parameter of GetActiveUniformBlockivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER

    public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER

  Accepted by the <pname> parameter of GetActiveUniformBlockivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER

    public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER

  Accepted by the <pname> parameter of GetActiveUniformBlockivARB:

  See Also:
    Constant Field Values

### GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER

    public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER

  Accepted by the <pname> parameter of GetActiveUniformBlockivARB:

  See Also:
    Constant Field Values

### GL_INVALID_INDEX

    public static final int GL_INVALID_INDEX

  Returned by GetActiveUniformsivARB and GetUniformBlockIndexARB

  See Also:
    Constant Field Values

Method Detail

### glGetUniformIndices

    public static void glGetUniformIndices(int program,
                                           java.nio.ByteBuffer uniformNames,
                                           java.nio.IntBuffer uniformIndices)

### glGetUniformIndices

    public static void glGetUniformIndices(int program,
                                           java.lang.CharSequence[] uniformNames,
                                           java.nio.IntBuffer uniformIndices)

  Overloads glGetUniformIndices.

### glGetActiveUniforms

    public static void glGetActiveUniforms(int program,
                                           java.nio.IntBuffer uniformIndices,
                                           int pname,
                                           java.nio.IntBuffer params)

### glGetActiveUniforms

    @Deprecated
    public static int glGetActiveUniforms(int program,
                                                     int uniformIndex,
                                                     int pname)

  Deprecated. Will be removed in 3.0. Use `glGetActiveUniformsi(int, int, int)` instead.

  Overloads glGetActiveUniformsiv.

### glGetActiveUniformsi

    public static int glGetActiveUniformsi(int program,
                                           int uniformIndex,
                                           int pname)

  Overloads glGetActiveUniformsiv.

### glGetActiveUniformName

    public static void glGetActiveUniformName(int program,
                                              int uniformIndex,
                                              java.nio.IntBuffer length,
                                              java.nio.ByteBuffer uniformName)

### glGetActiveUniformName

    public static java.lang.String glGetActiveUniformName(int program,
                                                          int uniformIndex,
                                                          int bufSize)

  Overloads glGetActiveUniformName.

### glGetUniformBlockIndex

    public static int glGetUniformBlockIndex(int program,
                                             java.nio.ByteBuffer uniformBlockName)

### glGetUniformBlockIndex

    public static int glGetUniformBlockIndex(int program,
                                             java.lang.CharSequence uniformBlockName)

  Overloads glGetUniformBlockIndex.

### glGetActiveUniformBlock

    public static void glGetActiveUniformBlock(int program,
                                               int uniformBlockIndex,
                                               int pname,
                                               java.nio.IntBuffer params)

### glGetActiveUniformBlock

    @Deprecated
    public static int glGetActiveUniformBlock(int program,
                                                         int uniformBlockIndex,
                                                         int pname)

  Deprecated. Will be removed in 3.0. Use `glGetActiveUniformBlocki(int, int, int)` instead.

  Overloads glGetActiveUniformBlockiv.

### glGetActiveUniformBlocki

    public static int glGetActiveUniformBlocki(int program,
                                               int uniformBlockIndex,
                                               int pname)

  Overloads glGetActiveUniformBlockiv.

### glGetActiveUniformBlockName

    public static void glGetActiveUniformBlockName(int program,
                                                   int uniformBlockIndex,
                                                   java.nio.IntBuffer length,
                                                   java.nio.ByteBuffer uniformBlockName)

### glGetActiveUniformBlockName

    public static java.lang.String glGetActiveUniformBlockName(int program,
                                                               int uniformBlockIndex,
                                                               int bufSize)

  Overloads glGetActiveUniformBlockName.

### glBindBufferRange

    public static void glBindBufferRange(int target,
                                         int index,
                                         int buffer,
                                         long offset,
                                         long size)

### glBindBufferBase

    public static void glBindBufferBase(int target,
                                        int index,
                                        int buffer)

### glGetInteger

    public static void glGetInteger(int value,
                                    int index,
                                    java.nio.IntBuffer data)

### glGetInteger

    public static int glGetInteger(int value,
                                   int index)

  Overloads glGetIntegeri_v.

### glUniformBlockBinding

    public static void glUniformBlockBinding(int program,
                                             int uniformBlockIndex,
                                             int uniformBlockBinding)

Copyright © 2002-2009 lwjgl.org. All Rights Reserved.