Class EXTBindableUniform



  • public class EXTBindableUniform
    extends java.lang.Object
    Native bindings to the EXT_bindable_uniform extension.

    This extension introduces the concept of bindable uniforms to the OpenGL Shading Language. A uniform variable can be declared bindable, which means that the storage for the uniform is not allocated by the compiler/linker anymore, but is backed by a buffer object. This buffer object is bound to the bindable uniform through the new command UniformBufferEXT(). Binding needs to happen after linking a program object.

    Binding different buffer objects to a bindable uniform allows an application to easily use different "uniform data sets", without having to re-specify the data every time.

    A buffer object can be bound to bindable uniforms in different program objects. If those bindable uniforms are all of the same type, accessing a bindable uniform in program object A will result in the same data if the same access is made in program object B. This provides a mechanism for 'environment uniforms', uniform values that can be shared among multiple program objects.

    • Field Detail

      • GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT

        public static final int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT
        Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
        See Also:
        Constant Field Values
      • GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT

        public static final int GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT
        Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
        See Also:
        Constant Field Values
      • GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT

        public static final int GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT
        Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
        See Also:
        Constant Field Values
      • GL_MAX_BINDABLE_UNIFORM_SIZE_EXT

        public static final int GL_MAX_BINDABLE_UNIFORM_SIZE_EXT
        Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
        See Also:
        Constant Field Values
      • GL_UNIFORM_BUFFER_BINDING_EXT

        public static final int GL_UNIFORM_BUFFER_BINDING_EXT
        Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
        See Also:
        Constant Field Values
      • GL_UNIFORM_BUFFER_EXT

        public static final int GL_UNIFORM_BUFFER_EXT
        Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, and GetBufferPointerv.
        See Also:
        Constant Field Values
    • Method Detail

      • glUniformBufferEXT

        public static void glUniformBufferEXT(int program,
                                              int location,
                                              int buffer)
      • glGetUniformBufferSizeEXT

        public static int glGetUniformBufferSizeEXT(int program,
                                                    int location)
      • glGetUniformOffsetEXT

        public static long glGetUniformOffsetEXT(int program,
                                                 int location)