Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class EXTVertexAttrib64bit

extends Object
Class Inheritance
Imports
java.nio.*, org.lwjgl.system.*

Native bindings to the EXT_vertex_attrib_64bit extension.

This extension provides OpenGL shading language support for vertex shader inputs with 64-bit floating-point components and OpenGL API support for specifying the value of those inputs using vertex array or immediate mode entry points. This builds on the support for general-purpose support for 64-bit floating-point values in the ARB_gpu_shader_fp64 extension.

This extension provides a new class of vertex attribute functions, beginning with "VertexAttribL" ("L" for "long"), that can be used to specify attributes with 64-bit floating-point components. This extension provides no automatic type conversion between attribute and shader variables; single-precision attributes are not automatically converted to double-precision or vice versa. For shader variables with 64-bit component types, the "VertexAttribL" functions must be used to specify attribute values. For other shader variables, the "VertexAttribL" functions must not be used. If a vertex attribute is specified using the wrong attribute function, the values of the corresponding shader input are undefined. This approach requiring matching types is identical to that used for the "VertexAttribI" functions provided by OpenGL 3.0 and the EXT_gpu_shader4 extension.

Additionally, some vertex shader inputs using the wider 64-bit components may count double against the implementation-dependent limit on the number of vertex shader attribute vectors. A 64-bit scalar or a two-component vector consumes only a single generic vertex attribute; three- and four-component "long" may count as two. This approach is similar to the one used in the current GL where matrix attributes consume multiple attributes.

Note that 64-bit generic vertex attributes were nominally supported beginning with the introduction of vertex shaders in OpenGL 2.0. However, the OpenGL Shading Language at the time had no support for 64-bit data types, so any such values were automatically converted to 32-bit.

Support for 64-bit floating-point vertex attributes in this extension can be combined with other extensions. In particular, this extension provides an entry point that can be used with EXT_direct_state_access to directly set state for any vertex array object. Also, the related NV_vertex_attrib_integer_64bit extension provides an entry point to specify bindless vertex attribute arrays with 64-bit components, integer or floating-point.

Requires OpenGL 3.0 and ARB_gpu_shader_fp64 (or equivalent functionality).

Field Summary

Modifier and TypeField and Description
public static final int
GL_DOUBLE_MAT2_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_MAT2x3_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_MAT2x4_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_MAT3_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_MAT3x2_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_MAT3x4_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_MAT4_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_MAT4x2_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_MAT4x3_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_VEC2_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_VEC3_EXT

Returned in the type parameter of GetActiveAttrib.

public static final int
GL_DOUBLE_VEC4_EXT

Returned in the type parameter of GetActiveAttrib.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
glGetVertexAttribLdvEXT(int index, int pname, DoubleBuffer params)

public static void
glGetVertexAttribLdvEXT(int index, int pname, double[] params)

Array version of: GetVertexAttribLdvEXT

public static void
glVertexArrayVertexAttribLOffsetEXT(int
the vertex array object
vaobj
,
int
the buffer object
buffer
,
int
the index of the generic vertex attribute to be modified
index
,
int
the number of values per vertex that are stored in the array. The initial value is 4. One of:
1234BGRA
size
,
int
the data type of each component in the array. Must be:
DOUBLE
type
,
int
the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
stride
,
long
the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer. The initial value is 0.
offset
)

DSA version of VertexAttribLPointer.

public static native void
glVertexAttribL1dEXT(int index, double x)

public static void
public static void
glVertexAttribL1dvEXT(int index, double[] v)

Array version of: VertexAttribL1dvEXT

public static native void
glVertexAttribL2dEXT(int index, double x, double y)

public static void
public static void
glVertexAttribL2dvEXT(int index, double[] v)

Array version of: VertexAttribL2dvEXT

public static native void
glVertexAttribL3dEXT(int index, double x, double y, double z)

public static void
public static void
glVertexAttribL3dvEXT(int index, double[] v)

Array version of: VertexAttribL3dvEXT

public static native void
glVertexAttribL4dEXT(int index, double x, double y, double z, double w)

public static void
public static void
glVertexAttribL4dvEXT(int index, double[] v)

Array version of: VertexAttribL4dvEXT

public static void
glVertexAttribLPointerEXT(int index, int size, int type, int stride, ByteBuffer pointer)

public static void
glVertexAttribLPointerEXT(int index, int size, int type, int stride, long pointer)

public static void
glVertexAttribLPointerEXT(int index, int size, int stride, DoubleBuffer pointer)

public static native void
nglGetVertexAttribLdvEXT(int index, int pname, long params)

public static native void
nglVertexAttribL1dvEXT(int index, long v)

public static native void
nglVertexAttribL2dvEXT(int index, long v)

public static native void
nglVertexAttribL3dvEXT(int index, long v)

public static native void
nglVertexAttribL4dvEXT(int index, long v)

public static native void
nglVertexAttribLPointerEXT(int index, int size, int type, int stride, long pointer)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_DOUBLE_MAT2_EXTback to summary
public static final int GL_DOUBLE_MAT2_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_MAT2x3_EXTback to summary
public static final int GL_DOUBLE_MAT2x3_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_MAT2x4_EXTback to summary
public static final int GL_DOUBLE_MAT2x4_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_MAT3_EXTback to summary
public static final int GL_DOUBLE_MAT3_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_MAT3x2_EXTback to summary
public static final int GL_DOUBLE_MAT3x2_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_MAT3x4_EXTback to summary
public static final int GL_DOUBLE_MAT3x4_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_MAT4_EXTback to summary
public static final int GL_DOUBLE_MAT4_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_MAT4x2_EXTback to summary
public static final int GL_DOUBLE_MAT4x2_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_MAT4x3_EXTback to summary
public static final int GL_DOUBLE_MAT4x3_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_VEC2_EXTback to summary
public static final int GL_DOUBLE_VEC2_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_VEC3_EXTback to summary
public static final int GL_DOUBLE_VEC3_EXT

Returned in the type parameter of GetActiveAttrib.

GL_DOUBLE_VEC4_EXTback to summary
public static final int GL_DOUBLE_VEC4_EXT

Returned in the type parameter of GetActiveAttrib.

Constructor Detail

EXTVertexAttrib64bitback to summary
protected EXTVertexAttrib64bit()

Method Detail

glGetVertexAttribLdvEXTback to summary
public static void glGetVertexAttribLdvEXT(int index, int pname, DoubleBuffer params)
glGetVertexAttribLdvEXTback to summary
public static void glGetVertexAttribLdvEXT(int index, int pname, double[] params)

Array version of: GetVertexAttribLdvEXT

glVertexArrayVertexAttribLOffsetEXTback to summary
public static void glVertexArrayVertexAttribLOffsetEXT(int vaobj, int buffer, int index, int size, int type, int stride, long offset)

DSA version of VertexAttribLPointer.

Parameters
vaobj:int

the vertex array object

buffer:int

the buffer object

index:int

the index of the generic vertex attribute to be modified

size:int

the number of values per vertex that are stored in the array. The initial value is 4. One of:

1234BGRA
type:int

the data type of each component in the array. Must be:

DOUBLE
stride:int

the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.

offset:long

the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer. The initial value is 0.

glVertexAttribL1dEXTback to summary
public static native void glVertexAttribL1dEXT(int index, double x)
glVertexAttribL1dvEXTback to summary
public static void glVertexAttribL1dvEXT(int index, DoubleBuffer v)
glVertexAttribL1dvEXTback to summary
public static void glVertexAttribL1dvEXT(int index, double[] v)

Array version of: VertexAttribL1dvEXT

glVertexAttribL2dEXTback to summary
public static native void glVertexAttribL2dEXT(int index, double x, double y)
glVertexAttribL2dvEXTback to summary
public static void glVertexAttribL2dvEXT(int index, DoubleBuffer v)
glVertexAttribL2dvEXTback to summary
public static void glVertexAttribL2dvEXT(int index, double[] v)

Array version of: VertexAttribL2dvEXT

glVertexAttribL3dEXTback to summary
public static native void glVertexAttribL3dEXT(int index, double x, double y, double z)
glVertexAttribL3dvEXTback to summary
public static void glVertexAttribL3dvEXT(int index, DoubleBuffer v)
glVertexAttribL3dvEXTback to summary
public static void glVertexAttribL3dvEXT(int index, double[] v)

Array version of: VertexAttribL3dvEXT

glVertexAttribL4dEXTback to summary
public static native void glVertexAttribL4dEXT(int index, double x, double y, double z, double w)
glVertexAttribL4dvEXTback to summary
public static void glVertexAttribL4dvEXT(int index, DoubleBuffer v)
glVertexAttribL4dvEXTback to summary
public static void glVertexAttribL4dvEXT(int index, double[] v)

Array version of: VertexAttribL4dvEXT

glVertexAttribLPointerEXTback to summary
public static void glVertexAttribLPointerEXT(int index, int size, int type, int stride, ByteBuffer pointer)
glVertexAttribLPointerEXTback to summary
public static void glVertexAttribLPointerEXT(int index, int size, int type, int stride, long pointer)
glVertexAttribLPointerEXTback to summary
public static void glVertexAttribLPointerEXT(int index, int size, int stride, DoubleBuffer pointer)
nglGetVertexAttribLdvEXTback to summary
public static native void nglGetVertexAttribLdvEXT(int index, int pname, long params)
nglVertexAttribL1dvEXTback to summary
public static native void nglVertexAttribL1dvEXT(int index, long v)
nglVertexAttribL2dvEXTback to summary
public static native void nglVertexAttribL2dvEXT(int index, long v)
nglVertexAttribL3dvEXTback to summary
public static native void nglVertexAttribL3dvEXT(int index, long v)
nglVertexAttribL4dvEXTback to summary
public static native void nglVertexAttribL4dvEXT(int index, long v)
nglVertexAttribLPointerEXTback to summary
public static native void nglVertexAttribLPointerEXT(int index, int size, int type, int stride, long pointer)