Class ARBGPUShaderFP64



  • public class ARBGPUShaderFP64
    extends java.lang.Object
    Native bindings to the ARB_gpu_shader_fp64 extension.

    This extension allows GLSL shaders to use double-precision floating-point data types, including vectors and matrices of doubles. Doubles may be used as inputs, outputs, and uniforms.

    The shading language supports various arithmetic and comparison operators on double-precision scalar, vector, and matrix types, and provides a set of built-in functions including:

    • square roots and inverse square roots;
    • fused floating-point multiply-add operations;
    • splitting a floating-point number into a significand and exponent (frexp), or building a floating-point number from a significand and exponent (ldexp);
    • absolute value, sign tests, various functions to round to an integer value, modulus, minimum, maximum, clamping, blending two values, step functions, and testing for infinity and NaN values;
    • packing and unpacking doubles into a pair of 32-bit unsigned integers;
    • matrix component-wise multiplication, and computation of outer products, transposes, determinants, and inverses; and
    • vector relational functions.

    Double-precision versions of angle, trigonometry, and exponential functions are not supported.

    Implicit conversions are supported from integer and single-precision floating-point values to doubles, and this extension uses the relaxed function overloading rules specified by the ARB_gpu_shader5 extension to resolve ambiguities.

    This extension provides API functions for specifying double-precision uniforms in the default uniform block, including functions similar to the uniform functions added by EXT_direct_state_access (if supported).

    This extension provides an "LF" suffix for specifying double-precision constants. Floating-point constants without a suffix in GLSL are treated as single-precision values for backward compatibility with versions not supporting doubles; similar constants are treated as double-precision values in the "C" programming language.

    This extension does not support interpolation of double-precision values; doubles used as fragment shader inputs must be qualified as "flat". Additionally, this extension does not allow vertex attributes with 64-bit components. That support is added separately by EXT_vertex_attrib_64bit.

    Requires GL32 and GLSL 1.50. Promoted to core in OpenGL 4.0.

    • Method Detail

      • glUniform1d

        public static void glUniform1d(int location,
                                       double x)
        Specifies the value of a double uniform variable for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        x - the uniform x value
      • glUniform2d

        public static void glUniform2d(int location,
                                       double x,
                                       double y)
        Specifies the value of a dvec2 uniform variable for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        x - the uniform x value
        y - the uniform y value
      • glUniform3d

        public static void glUniform3d(int location,
                                       double x,
                                       double y,
                                       double z)
        Specifies the value of a dvec3 uniform variable for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        x - the uniform x value
        y - the uniform y value
        z - the uniform z value
      • glUniform4d

        public static void glUniform4d(int location,
                                       double x,
                                       double y,
                                       double z,
                                       double w)
        Specifies the value of a dvec4 uniform variable for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        x - the uniform x value
        y - the uniform y value
        z - the uniform z value
        w - the uniform w value
      • glUniform1dv

        public static void glUniform1dv(int location,
                                        java.nio.DoubleBuffer value)
        Specifies the value of a single double uniform variable or a double uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        value - a pointer to an array of count values that will be used to update the specified uniform variable
      • glUniform2dv

        public static void glUniform2dv(int location,
                                        java.nio.DoubleBuffer value)
        Specifies the value of a single dvec2 uniform variable or a dvec2 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        value - a pointer to an array of count values that will be used to update the specified uniform variable
      • glUniform3dv

        public static void glUniform3dv(int location,
                                        java.nio.DoubleBuffer value)
        Specifies the value of a single dvec3 uniform variable or a dvec3 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        value - a pointer to an array of count values that will be used to update the specified uniform variable
      • glUniform4dv

        public static void glUniform4dv(int location,
                                        java.nio.DoubleBuffer value)
        Specifies the value of a single dvec4 uniform variable or a dvec4 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        value - a pointer to an array of count values that will be used to update the specified uniform variable
      • glUniformMatrix2dv

        public static void glUniformMatrix2dv(int location,
                                              boolean transpose,
                                              java.nio.DoubleBuffer value)
        Specifies the value of a single dmat2 uniform variable or a dmat2 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniformMatrix3dv

        public static void glUniformMatrix3dv(int location,
                                              boolean transpose,
                                              java.nio.DoubleBuffer value)
        Specifies the value of a single dmat3 uniform variable or a dmat3 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniformMatrix4dv

        public static void glUniformMatrix4dv(int location,
                                              boolean transpose,
                                              java.nio.DoubleBuffer value)
        Specifies the value of a single dmat4 uniform variable or a dmat4 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniformMatrix2x3dv

        public static void glUniformMatrix2x3dv(int location,
                                                boolean transpose,
                                                java.nio.DoubleBuffer value)
        Specifies the value of a single dmat2x3 uniform variable or a dmat2x3 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniformMatrix2x4dv

        public static void glUniformMatrix2x4dv(int location,
                                                boolean transpose,
                                                java.nio.DoubleBuffer value)
        Specifies the value of a single dmat2x4 uniform variable or a dmat2x4 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniformMatrix3x2dv

        public static void glUniformMatrix3x2dv(int location,
                                                boolean transpose,
                                                java.nio.DoubleBuffer value)
        Specifies the value of a single dmat3x2 uniform variable or a dmat3x2 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniformMatrix3x4dv

        public static void glUniformMatrix3x4dv(int location,
                                                boolean transpose,
                                                java.nio.DoubleBuffer value)
        Specifies the value of a single dmat3x4 uniform variable or a dmat3x4 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniformMatrix4x2dv

        public static void glUniformMatrix4x2dv(int location,
                                                boolean transpose,
                                                java.nio.DoubleBuffer value)
        Specifies the value of a single dmat4x2 uniform variable or a dmat4x2 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniformMatrix4x3dv

        public static void glUniformMatrix4x3dv(int location,
                                                boolean transpose,
                                                java.nio.DoubleBuffer value)
        Specifies the value of a single dmat4x3 uniform variable or a dmat4x3 uniform variable array for the current program object.
        Parameters:
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glGetUniformdv

        public static void glGetUniformdv(int program,
                                          int location,
                                          java.nio.DoubleBuffer params)
        Returns the double value(s) of a uniform variable.
        Parameters:
        program - the program object to be queried
        location - the location of the uniform variable to be queried
        params - the value of the specified uniform variable
      • glGetUniformd

        public static double glGetUniformd(int program,
                                           int location)
        Returns the double value(s) of a uniform variable.
        Parameters:
        program - the program object to be queried
        location - the location of the uniform variable to be queried
      • glProgramUniform1dEXT

        public static void glProgramUniform1dEXT(int program,
                                                 int location,
                                                 double x)
        DSA version of Uniform1d.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        x - the uniform x value
      • glProgramUniform2dEXT

        public static void glProgramUniform2dEXT(int program,
                                                 int location,
                                                 double x,
                                                 double y)
        DSA version of Uniform2d.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        x - the uniform x value
        y - the uniform y value
      • glProgramUniform3dEXT

        public static void glProgramUniform3dEXT(int program,
                                                 int location,
                                                 double x,
                                                 double y,
                                                 double z)
        DSA version of Uniform3d.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        x - the uniform x value
        y - the uniform y value
        z - the uniform z value
      • glProgramUniform4dEXT

        public static void glProgramUniform4dEXT(int program,
                                                 int location,
                                                 double x,
                                                 double y,
                                                 double z,
                                                 double w)
        DSA version of Uniform4d.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        x - the uniform x value
        y - the uniform y value
        z - the uniform z value
        w - the uniform w value
      • glProgramUniform1dvEXT

        public static void glProgramUniform1dvEXT(int program,
                                                  int location,
                                                  java.nio.DoubleBuffer value)
        DSA version of Uniform1dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        value - a pointer to an array of count values that will be used to update the specified uniform variable
      • glProgramUniform2dvEXT

        public static void glProgramUniform2dvEXT(int program,
                                                  int location,
                                                  java.nio.DoubleBuffer value)
        DSA version of Uniform2dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        value - a pointer to an array of count values that will be used to update the specified uniform variable
      • glProgramUniform3dvEXT

        public static void glProgramUniform3dvEXT(int program,
                                                  int location,
                                                  java.nio.DoubleBuffer value)
        DSA version of Uniform3dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        value - a pointer to an array of count values that will be used to update the specified uniform variable
      • glProgramUniform4dvEXT

        public static void glProgramUniform4dvEXT(int program,
                                                  int location,
                                                  java.nio.DoubleBuffer value)
        DSA version of Uniform4dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        value - a pointer to an array of count values that will be used to update the specified uniform variable
      • glProgramUniformMatrix2dvEXT

        public static void glProgramUniformMatrix2dvEXT(int program,
                                                        int location,
                                                        boolean transpose,
                                                        java.nio.DoubleBuffer value)
        DSA version of UniformMatrix2dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glProgramUniformMatrix3dvEXT

        public static void glProgramUniformMatrix3dvEXT(int program,
                                                        int location,
                                                        boolean transpose,
                                                        java.nio.DoubleBuffer value)
        DSA version of UniformMatrix3dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glProgramUniformMatrix4dvEXT

        public static void glProgramUniformMatrix4dvEXT(int program,
                                                        int location,
                                                        boolean transpose,
                                                        java.nio.DoubleBuffer value)
        DSA version of UniformMatrix4dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glProgramUniformMatrix2x3dvEXT

        public static void glProgramUniformMatrix2x3dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          java.nio.DoubleBuffer value)
        DSA version of UniformMatrix2x3dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glProgramUniformMatrix2x4dvEXT

        public static void glProgramUniformMatrix2x4dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          java.nio.DoubleBuffer value)
        DSA version of UniformMatrix2x4dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glProgramUniformMatrix3x2dvEXT

        public static void glProgramUniformMatrix3x2dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          java.nio.DoubleBuffer value)
        DSA version of UniformMatrix3x2dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glProgramUniformMatrix3x4dvEXT

        public static void glProgramUniformMatrix3x4dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          java.nio.DoubleBuffer value)
        DSA version of UniformMatrix3x4dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glProgramUniformMatrix4x2dvEXT

        public static void glProgramUniformMatrix4x2dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          java.nio.DoubleBuffer value)
        DSA version of UniformMatrix4x2dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glProgramUniformMatrix4x3dvEXT

        public static void glProgramUniformMatrix4x3dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          java.nio.DoubleBuffer value)
        DSA version of UniformMatrix4x3dv.
        Parameters:
        program - the program object to update
        location - the location of the uniform variable to be modified
        transpose - whether to transpose the matrix as the values are loaded into the uniform variable
        value - a pointer to an array of count values that will be used to update the specified uniform matrix variable
      • glUniform1dv

        public static void glUniform1dv(int location,
                                        double[] value)
        Array version of: Uniform1dv
      • glUniform2dv

        public static void glUniform2dv(int location,
                                        double[] value)
        Array version of: Uniform2dv
      • glUniform3dv

        public static void glUniform3dv(int location,
                                        double[] value)
        Array version of: Uniform3dv
      • glUniform4dv

        public static void glUniform4dv(int location,
                                        double[] value)
        Array version of: Uniform4dv
      • glUniformMatrix2dv

        public static void glUniformMatrix2dv(int location,
                                              boolean transpose,
                                              double[] value)
        Array version of: UniformMatrix2dv
      • glUniformMatrix3dv

        public static void glUniformMatrix3dv(int location,
                                              boolean transpose,
                                              double[] value)
        Array version of: UniformMatrix3dv
      • glUniformMatrix4dv

        public static void glUniformMatrix4dv(int location,
                                              boolean transpose,
                                              double[] value)
        Array version of: UniformMatrix4dv
      • glUniformMatrix2x3dv

        public static void glUniformMatrix2x3dv(int location,
                                                boolean transpose,
                                                double[] value)
        Array version of: UniformMatrix2x3dv
      • glUniformMatrix2x4dv

        public static void glUniformMatrix2x4dv(int location,
                                                boolean transpose,
                                                double[] value)
        Array version of: UniformMatrix2x4dv
      • glUniformMatrix3x2dv

        public static void glUniformMatrix3x2dv(int location,
                                                boolean transpose,
                                                double[] value)
        Array version of: UniformMatrix3x2dv
      • glUniformMatrix3x4dv

        public static void glUniformMatrix3x4dv(int location,
                                                boolean transpose,
                                                double[] value)
        Array version of: UniformMatrix3x4dv
      • glUniformMatrix4x2dv

        public static void glUniformMatrix4x2dv(int location,
                                                boolean transpose,
                                                double[] value)
        Array version of: UniformMatrix4x2dv
      • glUniformMatrix4x3dv

        public static void glUniformMatrix4x3dv(int location,
                                                boolean transpose,
                                                double[] value)
        Array version of: UniformMatrix4x3dv
      • glGetUniformdv

        public static void glGetUniformdv(int program,
                                          int location,
                                          double[] params)
        Array version of: GetUniformdv
      • glProgramUniform1dvEXT

        public static void glProgramUniform1dvEXT(int program,
                                                  int location,
                                                  double[] value)
        Array version of: ProgramUniform1dvEXT
      • glProgramUniform2dvEXT

        public static void glProgramUniform2dvEXT(int program,
                                                  int location,
                                                  double[] value)
        Array version of: ProgramUniform2dvEXT
      • glProgramUniform3dvEXT

        public static void glProgramUniform3dvEXT(int program,
                                                  int location,
                                                  double[] value)
        Array version of: ProgramUniform3dvEXT
      • glProgramUniform4dvEXT

        public static void glProgramUniform4dvEXT(int program,
                                                  int location,
                                                  double[] value)
        Array version of: ProgramUniform4dvEXT
      • glProgramUniformMatrix2dvEXT

        public static void glProgramUniformMatrix2dvEXT(int program,
                                                        int location,
                                                        boolean transpose,
                                                        double[] value)
        Array version of: ProgramUniformMatrix2dvEXT
      • glProgramUniformMatrix3dvEXT

        public static void glProgramUniformMatrix3dvEXT(int program,
                                                        int location,
                                                        boolean transpose,
                                                        double[] value)
        Array version of: ProgramUniformMatrix3dvEXT
      • glProgramUniformMatrix4dvEXT

        public static void glProgramUniformMatrix4dvEXT(int program,
                                                        int location,
                                                        boolean transpose,
                                                        double[] value)
        Array version of: ProgramUniformMatrix4dvEXT
      • glProgramUniformMatrix2x3dvEXT

        public static void glProgramUniformMatrix2x3dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          double[] value)
      • glProgramUniformMatrix2x4dvEXT

        public static void glProgramUniformMatrix2x4dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          double[] value)
      • glProgramUniformMatrix3x2dvEXT

        public static void glProgramUniformMatrix3x2dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          double[] value)
      • glProgramUniformMatrix3x4dvEXT

        public static void glProgramUniformMatrix3x4dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          double[] value)
      • glProgramUniformMatrix4x2dvEXT

        public static void glProgramUniformMatrix4x2dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          double[] value)
      • glProgramUniformMatrix4x3dvEXT

        public static void glProgramUniformMatrix4x3dvEXT(int program,
                                                          int location,
                                                          boolean transpose,
                                                          double[] value)