Class GL46


public class GL46 extends GL45
The OpenGL functionality up to version 4.6. Includes the deprecated symbols of the Compatibility Profile.

OpenGL 4.6 implementations support revision 4.60 of the OpenGL Shading Language.

Extensions promoted to core in this release:

  • Field Details

  • Method Details

    • nglMultiDrawArraysIndirectCount

      public static void nglMultiDrawArraysIndirectCount(int mode, long indirect, long drawcount, int maxdrawcount, int stride)
      Unsafe version of: MultiDrawArraysIndirectCount
    • glMultiDrawArraysIndirectCount

      public static void glMultiDrawArraysIndirectCount(int mode, ByteBuffer indirect, long drawcount, int maxdrawcount, int stride)
      Behaves similarly to MultiDrawArraysIndirect, except that drawcount defines an offset (in bytes) into the buffer object bound to the PARAMETER_BUFFER binding point at which a single sizei typed value is stored, which contains the draw count. maxdrawcount specifies the maximum number of draws that are expected to be stored in the buffer. If the value stored at drawcount into the buffer is greater than maxdrawcount, the implementation stops processing draws after maxdrawcount parameter sets. drawcount must be a multiple of four.
      Parameters:
      mode - what kind of primitives to render. One of:
      POINTSLINE_STRIPLINE_LOOPLINESTRIANGLE_STRIPTRIANGLE_FANTRIANGLES
      LINES_ADJACENCYLINE_STRIP_ADJACENCYTRIANGLES_ADJACENCYTRIANGLE_STRIP_ADJACENCYPATCHESPOLYGONQUADS
      QUAD_STRIP
      indirect - an array of structures containing the draw parameters
      drawcount - the offset into the parameter buffer object
      maxdrawcount - the maximum number of draws
      stride - the distance in basic machine units between elements of the draw parameter array
      See Also:
    • glMultiDrawArraysIndirectCount

      public static void glMultiDrawArraysIndirectCount(int mode, long indirect, long drawcount, int maxdrawcount, int stride)
      Behaves similarly to MultiDrawArraysIndirect, except that drawcount defines an offset (in bytes) into the buffer object bound to the PARAMETER_BUFFER binding point at which a single sizei typed value is stored, which contains the draw count. maxdrawcount specifies the maximum number of draws that are expected to be stored in the buffer. If the value stored at drawcount into the buffer is greater than maxdrawcount, the implementation stops processing draws after maxdrawcount parameter sets. drawcount must be a multiple of four.
      Parameters:
      mode - what kind of primitives to render. One of:
      POINTSLINE_STRIPLINE_LOOPLINESTRIANGLE_STRIPTRIANGLE_FANTRIANGLES
      LINES_ADJACENCYLINE_STRIP_ADJACENCYTRIANGLES_ADJACENCYTRIANGLE_STRIP_ADJACENCYPATCHESPOLYGONQUADS
      QUAD_STRIP
      indirect - an array of structures containing the draw parameters
      drawcount - the offset into the parameter buffer object
      maxdrawcount - the maximum number of draws
      stride - the distance in basic machine units between elements of the draw parameter array
      See Also:
    • glMultiDrawArraysIndirectCount

      public static void glMultiDrawArraysIndirectCount(int mode, IntBuffer indirect, long drawcount, int maxdrawcount, int stride)
      Behaves similarly to MultiDrawArraysIndirect, except that drawcount defines an offset (in bytes) into the buffer object bound to the PARAMETER_BUFFER binding point at which a single sizei typed value is stored, which contains the draw count. maxdrawcount specifies the maximum number of draws that are expected to be stored in the buffer. If the value stored at drawcount into the buffer is greater than maxdrawcount, the implementation stops processing draws after maxdrawcount parameter sets. drawcount must be a multiple of four.
      Parameters:
      mode - what kind of primitives to render. One of:
      POINTSLINE_STRIPLINE_LOOPLINESTRIANGLE_STRIPTRIANGLE_FANTRIANGLES
      LINES_ADJACENCYLINE_STRIP_ADJACENCYTRIANGLES_ADJACENCYTRIANGLE_STRIP_ADJACENCYPATCHESPOLYGONQUADS
      QUAD_STRIP
      indirect - an array of structures containing the draw parameters
      drawcount - the offset into the parameter buffer object
      maxdrawcount - the maximum number of draws
      stride - the distance in basic machine units between elements of the draw parameter array
      See Also:
    • nglMultiDrawElementsIndirectCount

      public static void nglMultiDrawElementsIndirectCount(int mode, int type, long indirect, long drawcount, int maxdrawcount, int stride)
    • glMultiDrawElementsIndirectCount

      public static void glMultiDrawElementsIndirectCount(int mode, int type, ByteBuffer indirect, long drawcount, int maxdrawcount, int stride)
      Behaves similarly to MultiDrawElementsIndirect, except that drawcount defines an offset (in bytes) into the buffer object bound to the PARAMETER_BUFFER binding point at which a single sizei typed value is stored, which contains the draw count. maxdrawcount specifies the maximum number of draws that are expected to be stored in the buffer. If the value stored at drawcount into the buffer is greater than maxdrawcount, the implementation stops processing draws after maxdrawcount parameter sets. drawcount must be a multiple of four.
      Parameters:
      mode - what kind of primitives to render. One of:
      POINTSLINE_STRIPLINE_LOOPLINESTRIANGLE_STRIPTRIANGLE_FANTRIANGLES
      LINES_ADJACENCYLINE_STRIP_ADJACENCYTRIANGLES_ADJACENCYTRIANGLE_STRIP_ADJACENCYPATCHESPOLYGONQUADS
      QUAD_STRIP
      type - the type of data in the buffer bound to the GL_ELEMENT_ARRAY_BUFFER binding. One of:
      UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
      indirect - a structure containing an array of draw parameters
      drawcount - the offset into the parameter buffer object
      maxdrawcount - the maximum number of draws
      stride - the distance in basic machine units between elements of the draw parameter array
      See Also:
    • glMultiDrawElementsIndirectCount

      public static void glMultiDrawElementsIndirectCount(int mode, int type, long indirect, long drawcount, int maxdrawcount, int stride)
      Behaves similarly to MultiDrawElementsIndirect, except that drawcount defines an offset (in bytes) into the buffer object bound to the PARAMETER_BUFFER binding point at which a single sizei typed value is stored, which contains the draw count. maxdrawcount specifies the maximum number of draws that are expected to be stored in the buffer. If the value stored at drawcount into the buffer is greater than maxdrawcount, the implementation stops processing draws after maxdrawcount parameter sets. drawcount must be a multiple of four.
      Parameters:
      mode - what kind of primitives to render. One of:
      POINTSLINE_STRIPLINE_LOOPLINESTRIANGLE_STRIPTRIANGLE_FANTRIANGLES
      LINES_ADJACENCYLINE_STRIP_ADJACENCYTRIANGLES_ADJACENCYTRIANGLE_STRIP_ADJACENCYPATCHESPOLYGONQUADS
      QUAD_STRIP
      type - the type of data in the buffer bound to the GL_ELEMENT_ARRAY_BUFFER binding. One of:
      UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
      indirect - a structure containing an array of draw parameters
      drawcount - the offset into the parameter buffer object
      maxdrawcount - the maximum number of draws
      stride - the distance in basic machine units between elements of the draw parameter array
      See Also:
    • glMultiDrawElementsIndirectCount

      public static void glMultiDrawElementsIndirectCount(int mode, int type, IntBuffer indirect, long drawcount, int maxdrawcount, int stride)
      Behaves similarly to MultiDrawElementsIndirect, except that drawcount defines an offset (in bytes) into the buffer object bound to the PARAMETER_BUFFER binding point at which a single sizei typed value is stored, which contains the draw count. maxdrawcount specifies the maximum number of draws that are expected to be stored in the buffer. If the value stored at drawcount into the buffer is greater than maxdrawcount, the implementation stops processing draws after maxdrawcount parameter sets. drawcount must be a multiple of four.
      Parameters:
      mode - what kind of primitives to render. One of:
      POINTSLINE_STRIPLINE_LOOPLINESTRIANGLE_STRIPTRIANGLE_FANTRIANGLES
      LINES_ADJACENCYLINE_STRIP_ADJACENCYTRIANGLES_ADJACENCYTRIANGLE_STRIP_ADJACENCYPATCHESPOLYGONQUADS
      QUAD_STRIP
      type - the type of data in the buffer bound to the GL_ELEMENT_ARRAY_BUFFER binding. One of:
      UNSIGNED_BYTEUNSIGNED_SHORTUNSIGNED_INT
      indirect - a structure containing an array of draw parameters
      drawcount - the offset into the parameter buffer object
      maxdrawcount - the maximum number of draws
      stride - the distance in basic machine units between elements of the draw parameter array
      See Also:
    • glPolygonOffsetClamp

      public static void glPolygonOffsetClamp(float factor, float units, float clamp)
      The depth values of all fragments generated by the rasterization of a polygon may be offset by a single value that is computed for that polygon. This function determines this value.

      factor scales the maximum depth slope of the polygon, and units scales an implementation-dependent constant that relates to the usable resolution of the depth buffer. The resulting values are summed to produce the polygon offset value, which may then be clamped to a minimum or maximum value specified by clamp.

      The values factor, units, and clamp may each be positive, negative, or zero. Calling the command PolygonOffset is equivalent to calling the command PolygonOffsetClamp with clamp equal to zero.

      Parameters:
      factor - scales the maximum depth slope of the polygon
      units - scales an implementation-dependent constant that relates to the usable resolution of the depth buffer
      clamp - the minimum or maximum polygon offset value
      See Also:
    • nglSpecializeShader

      public static void nglSpecializeShader(int shader, long pEntryPoint, int numSpecializationConstants, long pConstantIndex, long pConstantValue)
      Unsafe version of: SpecializeShader
      Parameters:
      numSpecializationConstants - the number of specialization constants whose values to set in this call
    • glSpecializeShader

      public static void glSpecializeShader(int shader, ByteBuffer pEntryPoint, @Nullable IntBuffer pConstantIndex, @Nullable IntBuffer pConstantValue)
      Specializes a shader created from a SPIR-V module.

      Shaders associated with SPIR-V modules must be specialized before they can be linked into a program object. It is not necessary to specialize the shader before it is attached to a program object. Once specialized, a shader may not be specialized again without first re-associating the original SPIR-V module with it, through ShaderBinary.

      Specialization does two things:

      • Selects the name of the entry point, for that shader’s stage, from the SPIR-V module.
      • Sets the values of all, or a subset of, the specialization constants in the SPIRV module.

      On successful shader specialization, the compile status for shader is set to TRUE. On failure, the compile status for shader is set to FALSE and additional information about the cause of the failure may be available in the shader compilation log.

      Parameters:
      shader - the name of a shader object containing unspecialized SPIR-V as created from a successful call to ShaderBinary to which a SPIR-V module was passed
      pEntryPoint - a pointer to a null-terminated UTF-8 string specifying the name of the entry point in the SPIR-V module to use for this shader
      pConstantIndex - is a pointer to an array of numSpecializationConstants unsigned integers, each holding the index of a specialization constant in the SPIR-V module whose value to set.

      Specialization constants not referenced by pConstantIndex retain their default values as specified in the SPIR-V module.

      pConstantValue - an entry in pConstantValue is used to set the value of the specialization constant indexed by the corresponding entry in pConstantIndex.

      Although this array is of unsigned integer, each entry is bitcast to the appropriate type for the module, and therefore, floating-point constants may be set by including their IEEE-754 bit representation in the pConstantValue array.

      See Also:
    • glSpecializeShader

      public static void glSpecializeShader(int shader, CharSequence pEntryPoint, @Nullable IntBuffer pConstantIndex, @Nullable IntBuffer pConstantValue)
      Specializes a shader created from a SPIR-V module.

      Shaders associated with SPIR-V modules must be specialized before they can be linked into a program object. It is not necessary to specialize the shader before it is attached to a program object. Once specialized, a shader may not be specialized again without first re-associating the original SPIR-V module with it, through ShaderBinary.

      Specialization does two things:

      • Selects the name of the entry point, for that shader’s stage, from the SPIR-V module.
      • Sets the values of all, or a subset of, the specialization constants in the SPIRV module.

      On successful shader specialization, the compile status for shader is set to TRUE. On failure, the compile status for shader is set to FALSE and additional information about the cause of the failure may be available in the shader compilation log.

      Parameters:
      shader - the name of a shader object containing unspecialized SPIR-V as created from a successful call to ShaderBinary to which a SPIR-V module was passed
      pEntryPoint - a pointer to a null-terminated UTF-8 string specifying the name of the entry point in the SPIR-V module to use for this shader
      pConstantIndex - is a pointer to an array of numSpecializationConstants unsigned integers, each holding the index of a specialization constant in the SPIR-V module whose value to set.

      Specialization constants not referenced by pConstantIndex retain their default values as specified in the SPIR-V module.

      pConstantValue - an entry in pConstantValue is used to set the value of the specialization constant indexed by the corresponding entry in pConstantIndex.

      Although this array is of unsigned integer, each entry is bitcast to the appropriate type for the module, and therefore, floating-point constants may be set by including their IEEE-754 bit representation in the pConstantValue array.

      See Also:
    • glMultiDrawArraysIndirectCount

      public static void glMultiDrawArraysIndirectCount(int mode, int[] indirect, long drawcount, int maxdrawcount, int stride)
      See Also:
    • glMultiDrawElementsIndirectCount

      public static void glMultiDrawElementsIndirectCount(int mode, int type, int[] indirect, long drawcount, int maxdrawcount, int stride)
      See Also:
    • glSpecializeShader

      public static void glSpecializeShader(int shader, ByteBuffer pEntryPoint, @Nullable int[] pConstantIndex, @Nullable int[] pConstantValue)
      Array version of: SpecializeShader
      See Also:
    • glSpecializeShader

      public static void glSpecializeShader(int shader, CharSequence pEntryPoint, @Nullable int[] pConstantIndex, @Nullable int[] pConstantValue)
      Array version of: SpecializeShader
      See Also: