Package icyllis.arc3d.opengl

# Interface GLInterface

All Superinterfaces:
  `GLInterfaceCommon`

All Known Implementing Classes:
  `GLCaps_GL`, `GLCaps_GLES`

public interface GLInterface extends GLInterfaceCommon
Interface for gl* function access between OpenGL 4.6 Core and OpenGL ES 3.2, depending on GLCapabilities or GLESCapabilities.

No javadoc here, please refer to LWJGL javadoc and OpenGL specification.

See Also:
  - `GLCaps`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `glBindTextureUnit(int unit, int texture)`
  `void`
  `glBindVertexBuffer(int bindingindex, int buffer, long offset, int stride)`
  `void`
  `glBufferStorage(int target, long size, long data, int flags)`
  `void`
  `glCopyImageSubData(int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth)`
  `void`
  `glCopyNamedBufferSubData(int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size)`
  `int`
  `glCreateBuffers()`
  `int`
  `glCreateTextures(int target)`
  `int`
  `glCreateVertexArrays()`
  `void`
  `glDrawArraysInstancedBaseInstance(int mode, int first, int count, int instancecount, int baseinstance)`
  `void`
  `glDrawElementsBaseVertex(int mode, int count, int type, long indices, int basevertex)`
  `void`
  `glDrawElementsInstancedBaseVertex(int mode, int count, int type, long indices, int instancecount, int basevertex)`
  `void`
  `glDrawElementsInstancedBaseVertexBaseInstance(int mode, int count, int type, long indices, int instancecount, int basevertex, int baseinstance)`
  `void`
  `glEnableVertexArrayAttrib(int vaobj, int index)`
  `void`
  `glInvalidateBufferSubData(int buffer, long offset, long length)`
  `void`
  `glInvalidateFramebuffer(int target, IntBuffer attachments)`
  `long`
  `glMapNamedBufferRange(int buffer, long offset, long length, int access)`
  `void`
  `glNamedBufferData(int buffer, long size, long data, int usage)`
  `void`
  `glNamedBufferStorage(int buffer, long size, long data, int flags)`
  `void`
  `glNamedBufferSubData(int buffer, long offset, long size, long data)`
  `void`
  `glObjectLabel(int identifier, int name, int length, long label)`
  `void`
  `glObjectLabel(int identifier, int name, CharSequence label)`
  `void`
  `glShaderBinary(IntBuffer shaders, int binaryformat, ByteBuffer binary)`
  `void`
  `glSpecializeShader(int shader, CharSequence pEntryPoint, IntBuffer pConstantIndex, IntBuffer pConstantValue)`
  `void`
  `glTexStorage2D(int target, int levels, int internalformat, int width, int height)`
  `void`
  `glTextureBarrier()`
  `void`
  `glTextureParameteri(int texture, int pname, int param)`
  `void`
  `glTextureParameteriv(int texture, int pname, IntBuffer params)`
  `void`
  `glTextureStorage2D(int texture, int levels, int internalformat, int width, int height)`
  `void`
  `glTextureSubImage2D(int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels)`
  `boolean`
  `glUnmapNamedBuffer(int buffer)`
  `void`
  `glVertexArrayAttribBinding(int vaobj, int attribindex, int bindingindex)`
  `void`
  `glVertexArrayAttribFormat(int vaobj, int attribindex, int size, int type, boolean normalized, int relativeoffset)`
  `void`
  `glVertexArrayAttribIFormat(int vaobj, int attribindex, int size, int type, int relativeoffset)`
  `void`
  `glVertexArrayBindingDivisor(int vaobj, int bindingindex, int divisor)`
  `void`
  `glVertexAttribBinding(int attribindex, int bindingindex)`
  `void`
  `glVertexAttribFormat(int attribindex, int size, int type, boolean normalized, int relativeoffset)`
  `void`
  `glVertexAttribIFormat(int attribindex, int size, int type, int relativeoffset)`
  `void`
  `glVertexBindingDivisor(int bindingindex, int divisor)`

  ### Methods inherited from interface icyllis.arc3d.opengl.GLInterfaceCommon

  `glActiveTexture, glAttachShader, glBindBuffer, glBindBufferBase, glBindBufferRange, glBindFramebuffer, glBindRenderbuffer, glBindSampler, glBindTexture, glBindVertexArray, glBlendEquation, glBlendFunc, glBlitFramebuffer, glBufferData, glBufferSubData, glCheckFramebufferStatus, glClearBufferfi, glClearBufferfv, glClearBufferiv, glClientWaitSync, glColorMask, glCompileShader, glCopyBufferSubData, glCopyTexSubImage2D, glCreateProgram, glCreateShader, glDeleteBuffers, glDeleteFramebuffers, glDeleteProgram, glDeleteRenderbuffers, glDeleteSamplers, glDeleteShader, glDeleteSync, glDeleteTextures, glDeleteVertexArrays, glDepthFunc, glDepthMask, glDetachShader, glDisable, glDrawArrays, glDrawArraysInstanced, glDrawBuffers, glDrawElements, glDrawElementsInstanced, glEnable, glEnableVertexAttribArray, glFenceSync, glFinish, glFlush, glFramebufferRenderbuffer, glFramebufferTexture2D, glFrontFace, glGenBuffers, glGenFramebuffers, glGenRenderbuffers, glGenSamplers, glGenTextures, glGenVertexArrays, glGetError, glGetInteger, glGetProgrami, glGetProgramInfoLog, glGetShaderi, glGetShaderInfoLog, glGetString, glGetUniformBlockIndex, glGetUniformLocation, glLineWidth, glLinkProgram, glMapBufferRange, glPixelStorei, glRenderbufferStorage, glRenderbufferStorageMultisample, glSamplerParameterf, glSamplerParameteri, glScissor, glShaderSource, glStencilFunc, glStencilFuncSeparate, glStencilMask, glStencilMaskSeparate, glStencilOp, glStencilOpSeparate, glTexImage2D, glTexParameteri, glTexParameteriv, glTexSubImage2D, glUniform1i, glUniformBlockBinding, glUnmapBuffer, glUseProgram, glVertexAttribDivisor, glVertexAttribIPointer, glVertexAttribPointer, glViewport`

- ## Method Details

  - ### glDrawElementsBaseVertex

    void glDrawElementsBaseVertex(int mode, int count, int type, long indices, int basevertex)

  - ### glDrawElementsInstancedBaseVertex

    void glDrawElementsInstancedBaseVertex(int mode, int count, int type, long indices, int instancecount, int basevertex)

  - ### glShaderBinary

    void glShaderBinary(IntBuffer shaders, int binaryformat, ByteBuffer binary)

  - ### glDrawArraysInstancedBaseInstance

    void glDrawArraysInstancedBaseInstance(int mode, int first, int count, int instancecount, int baseinstance)

  - ### glDrawElementsInstancedBaseVertexBaseInstance

    void glDrawElementsInstancedBaseVertexBaseInstance(int mode, int count, int type, long indices, int instancecount, int basevertex, int baseinstance)

  - ### glTexStorage2D

    void glTexStorage2D(int target, int levels, int internalformat, int width, int height)

  - ### glInvalidateBufferSubData

    void glInvalidateBufferSubData(int buffer, long offset, long length)

  - ### glInvalidateFramebuffer

    void glInvalidateFramebuffer(int target, IntBuffer attachments)

  - ### glCopyImageSubData

    void glCopyImageSubData(int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth)

  - ### glObjectLabel

    void glObjectLabel(int identifier, int name, int length, long label)

  - ### glObjectLabel

    void glObjectLabel(int identifier, int name, CharSequence label)

  - ### glBindVertexBuffer

    void glBindVertexBuffer(int bindingindex, int buffer, long offset, int stride)

  - ### glVertexAttribFormat

    void glVertexAttribFormat(int attribindex, int size, int type, boolean normalized, int relativeoffset)

  - ### glVertexAttribIFormat

    void glVertexAttribIFormat(int attribindex, int size, int type, int relativeoffset)

  - ### glVertexAttribBinding

    void glVertexAttribBinding(int attribindex, int bindingindex)

  - ### glVertexBindingDivisor

    void glVertexBindingDivisor(int bindingindex, int divisor)

  - ### glBufferStorage

    void glBufferStorage(int target, long size, long data, int flags)

  - ### glTextureBarrier

    void glTextureBarrier()

  - ### glCreateBuffers

    int glCreateBuffers()

  - ### glNamedBufferData

    void glNamedBufferData(int buffer, long size, long data, int usage)

  - ### glNamedBufferSubData

    void glNamedBufferSubData(int buffer, long offset, long size, long data)

  - ### glMapNamedBufferRange

    long glMapNamedBufferRange(int buffer, long offset, long length, int access)

  - ### glUnmapNamedBuffer

    boolean glUnmapNamedBuffer(int buffer)

  - ### glNamedBufferStorage

    void glNamedBufferStorage(int buffer, long size, long data, int flags)

  - ### glCopyNamedBufferSubData

    void glCopyNamedBufferSubData(int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size)

  - ### glCreateTextures

    int glCreateTextures(int target)

  - ### glTextureParameteri

    void glTextureParameteri(int texture, int pname, int param)

  - ### glTextureParameteriv

    void glTextureParameteriv(int texture, int pname, IntBuffer params)

  - ### glTextureSubImage2D

    void glTextureSubImage2D(int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels)

  - ### glTextureStorage2D

    void glTextureStorage2D(int texture, int levels, int internalformat, int width, int height)

  - ### glCreateVertexArrays

    int glCreateVertexArrays()

  - ### glEnableVertexArrayAttrib

    void glEnableVertexArrayAttrib(int vaobj, int index)

  - ### glVertexArrayAttribFormat

    void glVertexArrayAttribFormat(int vaobj, int attribindex, int size, int type, boolean normalized, int relativeoffset)

  - ### glVertexArrayAttribIFormat

    void glVertexArrayAttribIFormat(int vaobj, int attribindex, int size, int type, int relativeoffset)

  - ### glVertexArrayAttribBinding

    void glVertexArrayAttribBinding(int vaobj, int attribindex, int bindingindex)

  - ### glVertexArrayBindingDivisor

    void glVertexArrayBindingDivisor(int vaobj, int bindingindex, int divisor)

  - ### glBindTextureUnit

    void glBindTextureUnit(int unit, int texture)

  - ### glSpecializeShader

    void glSpecializeShader(int shader, CharSequence pEntryPoint, IntBuffer pConstantIndex, IntBuffer pConstantValue)