Interface GL4

All Superinterfaces:
GL, GL2, GL3
All Known Implementing Classes:
LwjglGL

public interface GL4 extends GL3
GL functions only available on vanilla desktop OpenGL 4.0.
  • Field Details

    • GL_TESS_CONTROL_SHADER

      static final int GL_TESS_CONTROL_SHADER
      See Also:
    • GL_TESS_EVALUATION_SHADER

      static final int GL_TESS_EVALUATION_SHADER
      See Also:
    • GL_PATCHES

      static final int GL_PATCHES
      See Also:
    • GL_COMPUTE_SHADER

      static final int GL_COMPUTE_SHADER
      Accepted by the shaderType parameter of CreateShader.
      See Also:
    • GL_SHADER_STORAGE_BARRIER_BIT

      static final int GL_SHADER_STORAGE_BARRIER_BIT
      Accepted by the barriers parameter of MemoryBarrier.
      See Also:
    • GL_TEXTURE_FETCH_BARRIER_BIT

      static final int GL_TEXTURE_FETCH_BARRIER_BIT
      See Also:
    • GL_SYNC_GPU_COMMANDS_COMPLETE

      static final int GL_SYNC_GPU_COMMANDS_COMPLETE
      Accepted by the condition parameter of FenceSync.
      See Also:
    • GL_ALREADY_SIGNALED

      static final int GL_ALREADY_SIGNALED
      Returned by ClientWaitSync.
      See Also:
    • GL_TIMEOUT_EXPIRED

      static final int GL_TIMEOUT_EXPIRED
      See Also:
    • GL_CONDITION_SATISFIED

      static final int GL_CONDITION_SATISFIED
      See Also:
    • GL_WAIT_FAILED

      static final int GL_WAIT_FAILED
      See Also:
    • GL_ATOMIC_COUNTER_BUFFER

      static final int GL_ATOMIC_COUNTER_BUFFER
      Accepted by the target parameter of BindBufferBase and BindBufferRange.
      See Also:
    • GL_SHADER_STORAGE_BUFFER

      static final int GL_SHADER_STORAGE_BUFFER
      Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, and GetBufferPointerv.
      See Also:
    • GL_SHADER_STORAGE_BLOCK

      static final int GL_SHADER_STORAGE_BLOCK
      See Also:
    • GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS

      static final int GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS
      Accepted by the <pname> parameter of GetIntegerv, GetBooleanv, GetInteger64v, GetFloatv, and GetDoublev:
      See Also:
    • GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS

      static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
      See Also:
    • GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS

      static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
      See Also:
    • GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS

      static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
      See Also:
    • GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS

      static final int GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
      See Also:
    • GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS

      static final int GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
      See Also:
    • GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS

      static final int GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS
      See Also:
    • GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS

      static final int GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
      See Also:
    • GL_MAX_SHADER_STORAGE_BLOCK_SIZE

      static final int GL_MAX_SHADER_STORAGE_BLOCK_SIZE
      See Also:
    • GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT

      static final int GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT
      See Also:
  • Method Details

    • glPatchParameter

      void glPatchParameter(int count)

      Reference Page

      Specifies the integer value of the specified parameter for patch primitives.

      Parameters:
      count - the new value for the parameter given by pname
    • glGetProgramResourceIndex

      int glGetProgramResourceIndex(int program, int programInterface, String name)
      Returns the unsigned integer index assigned to a resource named name in the interface type programInterface of program object program.
      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.
      Returns:
      the index of a named resource within a program.
    • glShaderStorageBlockBinding

      void glShaderStorageBlockBinding(int program, int storageBlockIndex, int storageBlockBinding)
      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, glShaderStorageBlockBinding 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.
      Parameters:
      program - the name of a program object whose resources to query.
      storageBlockIndex - The index storage block within the program.
      storageBlockBinding - The index storage block binding to associate with the specified storage block.
    • glBindImageTexture

      void glBindImageTexture(int unit, int texture, int level, boolean layered, int layer, int access, int format)
      Binds a single level of a texture to an image unit for the purpose of reading and writing it from shaders.
      Parameters:
      unit - image unit to bind to
      texture - texture to bind to the image unit
      level - level of the texture to bind
      layered - true to bind all array elements
      layer - if not layered, the layer to bind
      access - access types that may be performed
      format - format to use when performing formatted stores
    • glDispatchCompute

      void glDispatchCompute(int numGroupsX, int numGroupsY, int numGroupsZ)

      Reference Page

      Launches one or more compute work groups.

      Parameters:
      numGroupsX - the number of work groups to be launched in the X dimension
      numGroupsY - the number of work groups to be launched in the Y dimension
      numGroupsZ - the number of work groups to be launched in the Z dimension
    • glMemoryBarrier

      void glMemoryBarrier(int barriers)

      Reference Page

      Defines a barrier ordering memory transactions.

      Parameters:
      barriers - the barriers to insert. One or more of: GL_SHADER_STORAGE_BARRIER_BIT GL_TEXTURE_FETCH_BARRIER_BIT
    • glFenceSync

      GLFence glFenceSync(int condition, int flags)

      Reference Page

      Creates a new sync object and inserts it into the GL command stream.

      Parameters:
      condition - the condition that must be met to set the sync object's state to signaled. Must be GL_SYNC_GPU_COMMANDS_COMPLETE.
      flags - must be 0
      Returns:
      the sync object handle
    • glClientWaitSync

      int glClientWaitSync(GLFence sync, int flags, long timeout)

      Reference Page

      Causes the client to block and wait for a sync object to become signaled.

      Parameters:
      sync - the sync object to wait on
      flags - flags controlling command flushing behavior. May be 0 or GL_SYNC_FLUSH_COMMANDS_BIT.
      timeout - the timeout in nanoseconds for which to wait
      Returns:
      one of GL_ALREADY_SIGNALED, GL_TIMEOUT_EXPIRED, GL_CONDITION_SATISFIED, or GL_WAIT_FAILED
    • glDeleteSync

      void glDeleteSync(GLFence sync)

      Reference Page

      Deletes a sync object.

      Parameters:
      sync - the sync object to delete