JOGL v2.6.0-rc-20250706
JOGL, High-Performance Graphics Binding for Java™ (public API).
com.jogamp.opengl.util.GLArrayDataClient Class Reference
Inheritance diagram for com.jogamp.opengl.util.GLArrayDataClient:
Collaboration diagram for com.jogamp.opengl.util.GLArrayDataClient:

Public Member Functions

void associate (final Object obj, final boolean enable)
 Implementation and type dependent object association. More...
 
final boolean isVBOWritten ()
 Is the buffer written to the VBO ? More...
 
final boolean enabled ()
 
final void setVBOWritten (final boolean written)
 Marks the buffer written to the VBO. More...
 
void destroy (final GL gl)
 
void clear (final GL gl)
 Clears this buffer and resets states accordingly. More...
 
void seal (final GL gl, final boolean seal)
 Convenience method calling seal(boolean) and enableBuffer(GL, boolean). More...
 
void enableBuffer (final GL gl, final boolean enable)
 Enables the buffer if enable is true, and transfers the data if required. More...
 
boolean bindBuffer (final GL gl, final boolean bind)
 if bind is true and the data uses VBO, the latter will be bound and data written to the GPU if required. More...
 
void setEnableAlways (final boolean always)
 Affects the behavior of 'enableBuffer'. More...
 
void clear ()
 Clears this buffer and resets states accordingly. More...
 
void seal (final boolean seal)
 
void rewind ()
 Rewinds this buffer. More...
 
void padding (int doneInByteSize)
 
void put (final Buffer v)
 Generic buffer relative put method. More...
 
void putb (final byte v)
 
void put3b (final byte v1, final byte v2, final byte v3)
 
void put4b (final byte v1, final byte v2, final byte v3, final byte v4)
 
void putb (final byte[] src, final int offset, final int length)
 
void puts (final short v)
 
void put3s (final short v1, final short v2, final short v3)
 
void put4s (final short v1, final short v2, final short v3, final short v4)
 
void puts (final short[] src, final int offset, final int length)
 
void puti (final int v)
 
void put3i (final int v1, final int v2, final int v3)
 
void put4i (final int v1, final int v2, final int v3, final int v4)
 
void puti (final int[] src, final int offset, final int length)
 
void putx (final int v)
 
void putf (final float v)
 
void put3f (final float v1, final float v2, final float v3)
 
void put4f (final float v1, final float v2, final float v3, final float v4)
 
void putf (final float[] src, final int offset, final int length)
 
String toString ()
 
int compsToElemCount (final int componentCount)
 Returning element-count from given componentCount, rounding up to componentsPerElement. More...
 
final boolean growIfNeeded (final int spareComponents)
 Increase the capacity of the buffer if necessary to add given spareComponents components. More...
 
final boolean reserve (int elementCount)
 Increase the capacity of the buffer to given elementCount element size, i.e. More...
 
 GLArrayDataClient (final GLArrayDataClient src)
 Copy Constructor. More...
 
float getGrowthFactor ()
 Returns this buffer's growth factor. More...
 
void setGrowthFactor (final float v)
 Sets a new growth factor for this buffer. More...
 
- Public Member Functions inherited from com.jogamp.opengl.util.GLArrayDataWrapper
final boolean validate (final GLProfile glp, final boolean throwException)
 Validates this instance's parameter. More...
 
void associate (final Object obj, final boolean enable)
 Implementation and type dependent object association. More...
 
final boolean isVertexAttribute ()
 Returns true if this data set is intended for a GLSL vertex shader attribute, otherwise false, ie intended for fixed function vertex pointer. More...
 
final int getIndex ()
 The index of the predefined array index, see list below, or -1 in case of a shader attribute array. More...
 
final int getLocation ()
 Returns the shader attribute location for this name, -1 if not yet determined. More...
 
final int setLocation (final int v)
 Sets the given location of the shader attribute. More...
 
final int setLocation (final GL2ES2 gl, final int program)
 Retrieves the location of the shader attribute from the linked shader program. More...
 
final int setLocation (final GL2ES2 gl, final int program, final int location)
 Binds the location of the shader attribute to the given location for the unlinked shader program. More...
 
final String getName ()
 The name of the reflecting shader array attribute. More...
 
final long getVBOOffset ()
 The VBO buffer offset or 0 if not a VBO. More...
 
final int getVBOName ()
 The VBO name or 0 if not a VBO. More...
 
final boolean isVBO ()
 Determines whether the data is server side (VBO) and enabled, or a client side array (false). More...
 
final int getVBOUsage ()
 The VBO usage or 0 if not a VBO. More...
 
final int getVBOTarget ()
 The VBO target or 0 if not a VBO. More...
 
Buffer getBuffer ()
 The Buffer holding the data, may be null if a GPU buffer without client bound data. More...
 
final int getCompsPerElem ()
 The number of components per element. More...
 
final int getCompType ()
 The component's GL data type, ie. More...
 
final int getBytesPerComp ()
 The component's size in bytes. More...
 
final boolean sealed ()
 Returns true if data has been sealed (flipped to read), otherwise false (writing mode). More...
 
final int getElemCount ()
 Returns the element position (written elements) if not sealed() or the element limit (available to read) after sealed() (flip). More...
 
final int elemPosition ()
 Returns the element position. More...
 
int remainingElems ()
 The current number of remaining elements. More...
 
int getElemCapacity ()
 Return the element capacity. More...
 
final int getByteCount ()
 Returns the byte position (written elements) if not sealed() or the byte limit (available to read) after sealed() (flip). More...
 
final int bytePosition ()
 Returns the bytes position. More...
 
int remainingBytes ()
 The current number of remaining bytes. More...
 
int getByteCapacity ()
 Return the capacity in bytes. More...
 
String fillStatsToString ()
 Returns a string with detailed buffer fill stats. More...
 
String elemStatsToString ()
 Returns a string with detailed buffer element stats, i.e. More...
 
final boolean getNormalized ()
 True, if GL shall normalize fixed point data while converting them into float. More...
 
final int getStride ()
 
final Class<?> getBufferClass ()
 
void destroy (final GL gl)
 
String toString ()
 
void setName (final String newName)
 Set a new name for this array. More...
 
void setVBOEnabled (final boolean vboEnabled)
 Enable or disable use of VBO. More...
 
void setVBOName (final int vboName)
 Set the VBO buffer name, if valid (!= 0) enable use of VBO, otherwise (==0) disable VBO usage. More...
 
void setVBOUsage (final int vboUsage)
 
void setVBOTarget (final int vboTarget)
 
 GLArrayDataWrapper (final GLArrayDataWrapper src)
 Copy Constructor. More...
 
void associate (Object obj, boolean enable)
 Implementation and type dependent object association. More...
 
boolean isVertexAttribute ()
 Returns true if this data set is intended for a GLSL vertex shader attribute, otherwise false, ie intended for fixed function vertex pointer. More...
 
int getIndex ()
 The index of the predefined array index, see list below, or -1 in case of a shader attribute array. More...
 
String getName ()
 The name of the reflecting shader array attribute. More...
 
void setName (String newName)
 Set a new name for this array. More...
 
int getLocation ()
 Returns the shader attribute location for this name, -1 if not yet determined. More...
 
int setLocation (int v)
 Sets the given location of the shader attribute. More...
 
int setLocation (GL2ES2 gl, int program)
 Retrieves the location of the shader attribute from the linked shader program. More...
 
int setLocation (GL2ES2 gl, int program, int location)
 Binds the location of the shader attribute to the given location for the unlinked shader program. More...
 
boolean isVBO ()
 Determines whether the data is server side (VBO) and enabled, or a client side array (false). More...
 
long getVBOOffset ()
 The VBO buffer offset or 0 if not a VBO. More...
 
int getVBOName ()
 The VBO name or 0 if not a VBO. More...
 
int getVBOUsage ()
 The VBO usage or 0 if not a VBO. More...
 
int getVBOTarget ()
 The VBO target or 0 if not a VBO. More...
 
Buffer getBuffer ()
 The Buffer holding the data, may be null if a GPU buffer without client bound data. More...
 
int getCompsPerElem ()
 The number of components per element. More...
 
int getCompType ()
 The component's GL data type, ie. More...
 
int getBytesPerComp ()
 The component's size in bytes. More...
 
boolean sealed ()
 Returns true if data has been sealed (flipped to read), otherwise false (writing mode). More...
 
int getElemCount ()
 Returns the element position (written elements) if not sealed() or the element limit (available to read) after sealed() (flip). More...
 
int elemPosition ()
 Returns the element position. More...
 
int remainingElems ()
 The current number of remaining elements. More...
 
int getElemCapacity ()
 Return the element capacity. More...
 
int getByteCount ()
 Returns the byte position (written elements) if not sealed() or the byte limit (available to read) after sealed() (flip). More...
 
int bytePosition ()
 Returns the bytes position. More...
 
int remainingBytes ()
 The current number of remaining bytes. More...
 
int getByteCapacity ()
 Return the capacity in bytes. More...
 
String fillStatsToString ()
 Returns a string with detailed buffer fill stats. More...
 
String elemStatsToString ()
 Returns a string with detailed buffer element stats, i.e. More...
 
boolean getNormalized ()
 True, if GL shall normalize fixed point data while converting them into float. More...
 
int getStride ()
 
String toString ()
 
void destroy (GL gl)
 
boolean enabled ()
 
boolean isVBOWritten ()
 Is the buffer written to the VBO ? More...
 
void setVBOWritten (boolean written)
 Marks the buffer written to the VBO. More...
 
void destroy (GL gl)
 
void clear (GL gl)
 Clears this buffer and resets states accordingly. More...
 
void seal (GL gl, boolean seal)
 Convenience method calling seal(boolean) and enableBuffer(GL, boolean). More...
 
void enableBuffer (GL gl, boolean enable)
 Enables the buffer if enable is true, and transfers the data if required. More...
 
boolean bindBuffer (GL gl, boolean bind)
 if bind is true and the data uses VBO, the latter will be bound and data written to the GPU if required. More...
 
void setEnableAlways (boolean always)
 Affects the behavior of 'enableBuffer'. More...
 
void clear ()
 Clears this buffer and resets states accordingly. More...
 
void seal (boolean seal)
 
void rewind ()
 Rewinds this buffer. More...
 
void padding (int doneInByteSize)
 
void put (Buffer v)
 
void putb (byte v)
 
void put3b (byte v1, byte v2, byte v3)
 
void put4b (byte v1, byte v2, byte v3, byte v4)
 
void putb (byte[] src, int offset, int length)
 
void puts (short v)
 
void put3s (short v1, short v2, short v3)
 
void put4s (short v1, short v2, short v3, short v4)
 
void puts (short[] src, int offset, int length)
 
void puti (int v)
 
void put3i (int v1, int v2, int v3)
 
void put4i (int v1, int v2, int v3, int v4)
 
void puti (int[] src, int offset, int length)
 
void putx (int v)
 
void putf (float v)
 
void put3f (float v1, float v2, float v3)
 
void put4f (float v1, float v2, float v3, float v4)
 
void putf (float[] src, int offset, int length)
 

Static Public Member Functions

static GLArrayDataClient createFixed (final int index, final int comps, final int dataType, final boolean normalized, final int initialElementCount) throws GLException
 Create a client side buffer object, using a predefined fixed function array index and starting with a new created Buffer object with initialElementCount size. More...
 
static GLArrayDataClient createFixed (final int index, final int comps, final int dataType, final boolean normalized, final int stride, final Buffer buffer) throws GLException
 Create a client side buffer object, using a predefined fixed function array index and starting with a given Buffer object incl it's stride. More...
 
static GLArrayDataClient createGLSL (final String name, final int comps, final int dataType, final boolean normalized, final int initialElementCount) throws GLException
 Create a client side buffer object, using a custom GLSL array attribute name and starting with a new created Buffer object with initialElementCount size. More...
 
static GLArrayDataClient createGLSL (final String name, final int comps, final int dataType, final boolean normalized, final int stride, final Buffer buffer) throws GLException
 Create a client side buffer object, using a custom GLSL array attribute name and starting with a given Buffer object incl it's stride. More...
 
- Static Public Member Functions inherited from com.jogamp.opengl.util.GLArrayDataWrapper
static GLArrayDataWrapper createFixed (final int index, final int comps, final int dataType, final boolean normalized, final int stride, final Buffer buffer, final int vboName, final long vboOffset, final int vboUsage, final int vboTarget) throws GLException
 Create a VBO, using a predefined fixed function array index, wrapping the given data. More...
 
static GLArrayDataWrapper createFixed (final int index, final int comps, final int dataType, final boolean normalized, final int stride, final int mappedElementCount, final int vboName, final long vboOffset, final int vboUsage, final int vboTarget) throws GLException
 Create a VBO, using a predefined fixed function array index, wrapping the mapped data characteristics. More...
 
static GLArrayDataWrapper createGLSL (final String name, final int comps, final int dataType, final boolean normalized, final int stride, final Buffer buffer, final int vboName, final long vboOffset, final int vboUsage, final int vboTarget) throws GLException
 Create a VBO, using a custom GLSL array attribute name, wrapping the given data. More...
 
static GLArrayDataWrapper createGLSL (final String name, final int comps, final int dataType, final boolean normalized, final int stride, final int mappedElementCount, final int vboName, final long vboOffset, final int vboUsage, final int vboTarget) throws GLException
 Create a VBO, using a custom GLSL array attribute name, wrapping the mapped data characteristics. More...
 
static final Class<?> getBufferClass (final int dataType)
 

Static Public Attributes

static final float DEFAULT_GROWTH_FACTOR = 1.618f
 Default growth factor using the golden ratio 1.618. More...
 
- Static Public Attributes inherited from com.jogamp.opengl.util.GLArrayDataWrapper
static final boolean DEBUG = Debug.debug("GLArrayData")
 

Protected Member Functions

final void checkSeal (final boolean test) throws GLException
 
 GLArrayDataClient (final String name, final int index, final int comps, final int dataType, final boolean normalized, final int stride, final Buffer data, final int initialElementCount, final float growthFactor, final int mappedElementCount, final boolean isVertexAttribute, final Class<? extends GLArrayHandler > handlerClass, final int vboName, final long vboOffset, final int vboUsage, final int vboTarget, final boolean usesGLSL) throws GLException
 
void init_vbo (final GL gl)
 
- Protected Member Functions inherited from com.jogamp.opengl.util.GLArrayDataWrapper
 GLArrayDataWrapper (final String name, final int index, final int componentsPerElement, final int componentType, final boolean normalized, final int stride, final Buffer data, final int mappedElementCount, final boolean isVertexAttribute, final int vboName, final long vboOffset, final int vboUsage, final int vboTarget) throws GLException
 

Protected Attributes

final int initElemCount
 
final GLArrayHandler glArrayHandler
 
final boolean usesGLSL
 
float growthFactor
 
boolean bufferEnabled
 
boolean bufferWritten
 
boolean enableBufferAlways
 
ShaderState shaderState
 
- Protected Attributes inherited from com.jogamp.opengl.util.GLArrayDataWrapper
final int compType
 
final Class<?> compClazz
 
final int bytesPerComp
 
final int compsPerElement
 
final int strideB
 stride in bytes; strideB >= compsPerElement * bytesPerComp More...
 
final int strideL
 stride in logical components More...
 
final boolean normalized
 
final int mappedElemCount
 
final boolean isVertexAttr
 
boolean alive
 
int index
 
int location
 
String name
 
Buffer buffer
 
int vboName
 
long vboOffset
 
boolean vboEnabled
 
int vboUsage
 
int vboTarget
 
boolean sealed
 

Detailed Description

Definition at line 50 of file GLArrayDataClient.java.

Constructor & Destructor Documentation

◆ GLArrayDataClient() [1/2]

com.jogamp.opengl.util.GLArrayDataClient.GLArrayDataClient ( final String  name,
final int  index,
final int  comps,
final int  dataType,
final boolean  normalized,
final int  stride,
final Buffer  data,
final int  initialElementCount,
final float  growthFactor,
final int  mappedElementCount,
final boolean  isVertexAttribute,
final Class<? extends GLArrayHandler >  handlerClass,
final int  vboName,
final long  vboOffset,
final int  vboUsage,
final int  vboTarget,
final boolean  usesGLSL 
) throws GLException
protected

Definition at line 537 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GLArrayDataClient() [2/2]

com.jogamp.opengl.util.GLArrayDataClient.GLArrayDataClient ( final GLArrayDataClient  src)

Copy Constructor.

Buffer is sliced, i.e. sharing content but using own state.

All other values are simply copied.

Definition at line 589 of file GLArrayDataClient.java.

Member Function Documentation

◆ associate()

void com.jogamp.opengl.util.GLArrayDataClient.associate ( final Object  obj,
final boolean  enable 
)

Implementation and type dependent object association.

One currently known use case is to associate a ShaderState to an GLSL aware vertex attribute object, allowing to use the ShaderState to handle it's data persistence, location and state change.
This is implicitly done via shaderState.ownAttribute(GLArrayData, boolean).

Parameters
objimplementation and type dependent association
enablepass true to enable the association and false to disable it.

Reimplemented from com.jogamp.opengl.util.GLArrayDataWrapper.

Definition at line 146 of file GLArrayDataClient.java.

◆ bindBuffer()

boolean com.jogamp.opengl.util.GLArrayDataClient.bindBuffer ( final GL  gl,
final boolean  bind 
)

if bind is true and the data uses VBO, the latter will be bound and data written to the GPU if required.

If bind is false and the data uses VBO, the latter will be unbound.

This method is exposed to allow data VBO arrays, i.e. GL#GL_ELEMENT_ARRAY_BUFFER, to be bounded and written while keeping the VBO bound. The latter is in contrast to enableBuffer(GL, boolean), which leaves the VBO unbound, since it's not required for vertex attributes or pointers.

Parameters
glcurrent GL object
bindtrue if VBO shall be bound and data written, otherwise clear VBO binding.
Returns
true if data uses VBO and action was performed, otherwise false

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 207 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkSeal()

final void com.jogamp.opengl.util.GLArrayDataClient.checkSeal ( final boolean  test) throws GLException
protected

Definition at line 524 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ clear() [1/2]

void com.jogamp.opengl.util.GLArrayDataClient.clear ( )

Clears this buffer and resets states accordingly.

The position is set to zero, the limit is set to the capacity, and the mark is discarded.

Invoke this method before using a sequence of get or put operations to fill this buffer.

This method does not actually erase the data in the buffer and will most often be used when erasing the underlying memory is suitable.

See also
clear(GL)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 226 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ clear() [2/2]

void com.jogamp.opengl.util.GLArrayDataClient.clear ( final GL  gl)

Clears this buffer and resets states accordingly.

Implementation calls seal(gl, false) and clear(), i.e. turns-off the GL buffer and then clearing it.

The position is set to zero, the limit is set to the capacity, and the mark is discarded.

Invoke this method before using a sequence of get or put operations to fill this buffer.

This method does not actually erase the data in the buffer and will most often be used when erasing the underlying memory is suitable.

See also
seal(GL, boolean)
clear()

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 182 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compsToElemCount()

int com.jogamp.opengl.util.GLArrayDataClient.compsToElemCount ( final int  componentCount)

Returning element-count from given componentCount, rounding up to componentsPerElement.

Definition at line 427 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ createFixed() [1/2]

static GLArrayDataClient com.jogamp.opengl.util.GLArrayDataClient.createFixed ( final int  index,
final int  comps,
final int  dataType,
final boolean  normalized,
final int  initialElementCount 
) throws GLException
static

Create a client side buffer object, using a predefined fixed function array index and starting with a new created Buffer object with initialElementCount size.

On profiles GL2 and ES1 the fixed function pipeline behavior is as expected. On profile ES2 the fixed function emulation will transform these calls to EnableVertexAttribArray and VertexAttribPointer calls, and a predefined vertex attribute variable name will be chosen.

The default name mapping will be used, see GLPointerFuncUtil#getPredefinedArrayIndexName(int).

Parameters
indexThe GL array index
compsThe array component number
dataTypeThe array index GL data type
normalizedWhether the data shall be normalized
initialElementCount
See also
com.jogamp.opengl.GLContext::getPredefinedArrayIndexName(int)

Definition at line 74 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ createFixed() [2/2]

static GLArrayDataClient com.jogamp.opengl.util.GLArrayDataClient.createFixed ( final int  index,
final int  comps,
final int  dataType,
final boolean  normalized,
final int  stride,
final Buffer  buffer 
) throws GLException
static

Create a client side buffer object, using a predefined fixed function array index and starting with a given Buffer object incl it's stride.

On profiles GL2 and ES1 the fixed function pipeline behavior is as expected. On profile ES2 the fixed function emulation will transform these calls to EnableVertexAttribArray and VertexAttribPointer calls, and a predefined vertex attribute variable name will be chosen.

The default name mapping will be used, see GLPointerFuncUtil#getPredefinedArrayIndexName(int).

Parameters
indexThe GL array index
compsThe array component number
dataTypeThe array index GL data type
normalizedWhether the data shall be normalized
stride
bufferthe user define data
See also
com.jogamp.opengl.GLContext::getPredefinedArrayIndexName(int)

Definition at line 102 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ createGLSL() [1/2]

static GLArrayDataClient com.jogamp.opengl.util.GLArrayDataClient.createGLSL ( final String  name,
final int  comps,
final int  dataType,
final boolean  normalized,
final int  initialElementCount 
) throws GLException
static

Create a client side buffer object, using a custom GLSL array attribute name and starting with a new created Buffer object with initialElementCount size.

Parameters
nameThe custom name for the GL attribute.
compsThe array component number
dataTypeThe array index GL data type
normalizedWhether the data shall be normalized
initialElementCount

Definition at line 119 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ createGLSL() [2/2]

static GLArrayDataClient com.jogamp.opengl.util.GLArrayDataClient.createGLSL ( final String  name,
final int  comps,
final int  dataType,
final boolean  normalized,
final int  stride,
final Buffer  buffer 
) throws GLException
static

Create a client side buffer object, using a custom GLSL array attribute name and starting with a given Buffer object incl it's stride.

Parameters
nameThe custom name for the GL attribute.
compsThe array component number
dataTypeThe array index GL data type
normalizedWhether the data shall be normalized
stride
bufferthe user define data

Definition at line 137 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ destroy()

void com.jogamp.opengl.util.GLArrayDataClient.destroy ( final GL  gl)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Reimplemented in com.jogamp.opengl.util.GLArrayDataServer.

Definition at line 176 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ enableBuffer()

void com.jogamp.opengl.util.GLArrayDataClient.enableBuffer ( final GL  gl,
final boolean  enable 
)

Enables the buffer if enable is true, and transfers the data if required.

In case VBO is used, it is bound accordingly for the data transfer and association, i.e. it issued bindBuffer(GL, boolean). The VBO buffer is unbound when the method returns.

Disables the buffer if enable is false.

The action will only be executed, if the internal enable state differs, or 'setEnableAlways' was called with 'true'.

It is up to the user to enable/disable the array properly, ie in case of multiple data sets for the same vertex attribute (VA). Meaning in such case usage of one set while expecting another one to be used for the same VA implies decorating each usage with enable/disable.

See also
setEnableAlways(boolean)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 194 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enabled()

final boolean com.jogamp.opengl.util.GLArrayDataClient.enabled ( )

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 164 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ getGrowthFactor()

float com.jogamp.opengl.util.GLArrayDataClient.getGrowthFactor ( )

Returns this buffer's growth factor.

Default is DEFAULT_GROWTH_FACTOR, i.e. the golden ratio 1.618.

See also
setGrowthFactor(float)
DEFAULT_GROWTH_FACTOR

Definition at line 624 of file GLArrayDataClient.java.

◆ growIfNeeded()

final boolean com.jogamp.opengl.util.GLArrayDataClient.growIfNeeded ( final int  spareComponents)

Increase the capacity of the buffer if necessary to add given spareComponents components.

Buffer will not change if remaining free slots, capacity less position, satisfy spareComponents components.

Parameters
spareComponentsnumber of components to add if necessary.
Returns
true if buffer size has changed, i.e. grown. Otherwise false.

Definition at line 439 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_vbo()

void com.jogamp.opengl.util.GLArrayDataClient.init_vbo ( final GL  gl)
protected

Reimplemented in com.jogamp.opengl.util.GLArrayDataServer.

Definition at line 573 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isVBOWritten()

final boolean com.jogamp.opengl.util.GLArrayDataClient.isVBOWritten ( )

Is the buffer written to the VBO ?

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 161 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ padding()

void com.jogamp.opengl.util.GLArrayDataClient.padding ( int  doneInByteSize)

◆ put()

void com.jogamp.opengl.util.GLArrayDataClient.put ( final Buffer  v)

Generic buffer relative put method.

This class buffer Class must match the arguments buffer class. The arguments remaining elements must be a multiple of this arrays element stride.

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 275 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ put3b()

void com.jogamp.opengl.util.GLArrayDataClient.put3b ( final byte  v1,
final byte  v2,
final byte  v3 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 293 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ put3f()

void com.jogamp.opengl.util.GLArrayDataClient.put3f ( final float  v1,
final float  v2,
final float  v3 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 382 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ put3i()

void com.jogamp.opengl.util.GLArrayDataClient.put3i ( final int  v1,
final int  v2,
final int  v3 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 349 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ put3s()

void com.jogamp.opengl.util.GLArrayDataClient.put3s ( final short  v1,
final short  v2,
final short  v3 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 321 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ put4b()

void com.jogamp.opengl.util.GLArrayDataClient.put4b ( final byte  v1,
final byte  v2,
final byte  v3,
final byte  v4 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 300 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ put4f()

void com.jogamp.opengl.util.GLArrayDataClient.put4f ( final float  v1,
final float  v2,
final float  v3,
final float  v4 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 389 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ put4i()

void com.jogamp.opengl.util.GLArrayDataClient.put4i ( final int  v1,
final int  v2,
final int  v3,
final int  v4 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 356 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ put4s()

void com.jogamp.opengl.util.GLArrayDataClient.put4s ( final short  v1,
final short  v2,
final short  v3,
final short  v4 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 328 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ putb() [1/2]

void com.jogamp.opengl.util.GLArrayDataClient.putb ( final byte  v)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 286 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ putb() [2/2]

void com.jogamp.opengl.util.GLArrayDataClient.putb ( final byte[]  src,
final int  offset,
final int  length 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 307 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ putf() [1/2]

void com.jogamp.opengl.util.GLArrayDataClient.putf ( final float  v)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 375 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ putf() [2/2]

void com.jogamp.opengl.util.GLArrayDataClient.putf ( final float[]  src,
final int  offset,
final int  length 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 396 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ puti() [1/2]

void com.jogamp.opengl.util.GLArrayDataClient.puti ( final int  v)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 342 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ puti() [2/2]

void com.jogamp.opengl.util.GLArrayDataClient.puti ( final int[]  src,
final int  offset,
final int  length 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 363 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ puts() [1/2]

void com.jogamp.opengl.util.GLArrayDataClient.puts ( final short  v)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 314 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ puts() [2/2]

void com.jogamp.opengl.util.GLArrayDataClient.puts ( final short[]  src,
final int  offset,
final int  length 
)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 335 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ putx()

void com.jogamp.opengl.util.GLArrayDataClient.putx ( final int  v)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 370 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ reserve()

final boolean com.jogamp.opengl.util.GLArrayDataClient.reserve ( int  elementCount)

Increase the capacity of the buffer to given elementCount element size, i.e.

elementCount * componentsPerElement components.

Buffer will not change if given elementCount is lower or equal current capacity.

Parameters
elementCountnumber of elements to hold.
Returns
true if buffer size has changed, i.e. grown. Otherwise false.

Definition at line 469 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ rewind()

void com.jogamp.opengl.util.GLArrayDataClient.rewind ( )

Rewinds this buffer.

The position is set to zero and the mark is discarded.

Invoke this method before a sequence of put or get operations.

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 253 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ seal() [1/2]

void com.jogamp.opengl.util.GLArrayDataClient.seal ( final boolean  seal)

If seal is true, it disables write operations to the buffer. Calls flip, ie limit:=position and position:=0.

If seal is false, it enable write operations continuing at the buffer position, where you left off at seal(true), ie position:=limit and limit:=capacity.

See also
seal(boolean)
sealed()

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 236 of file GLArrayDataClient.java.

Here is the call graph for this function:

◆ seal() [2/2]

void com.jogamp.opengl.util.GLArrayDataClient.seal ( final GL  gl,
final boolean  seal 
)

Convenience method calling seal(boolean) and enableBuffer(GL, boolean).

See also
seal(boolean)
enableBuffer(GL, boolean)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 188 of file GLArrayDataClient.java.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setEnableAlways()

void com.jogamp.opengl.util.GLArrayDataClient.setEnableAlways ( final boolean  always)

Affects the behavior of 'enableBuffer'.

The default is 'false'

This is useful when you mix up GLArrayData usage with conventional GL array calls or in case of a buggy GL VBO implementation.

See also
enableBuffer(GL, boolean)

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 217 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ setGrowthFactor()

void com.jogamp.opengl.util.GLArrayDataClient.setGrowthFactor ( final float  v)

Sets a new growth factor for this buffer.

Default is DEFAULT_GROWTH_FACTOR, i.e. the golden ratio 1.618.

Parameters
vnew growth factor, which will be clipped to a minimum of 1, i.e. 0% minimum growth.
See also
getGrowthFactor()
DEFAULT_GROWTH_FACTOR

Definition at line 635 of file GLArrayDataClient.java.

Here is the caller graph for this function:

◆ setVBOWritten()

final void com.jogamp.opengl.util.GLArrayDataClient.setVBOWritten ( final boolean  written)

Marks the buffer written to the VBO.

Implements com.jogamp.opengl.util.GLArrayDataEditable.

Definition at line 171 of file GLArrayDataClient.java.

◆ toString()

String com.jogamp.opengl.util.GLArrayDataClient.toString ( )

Reimplemented from com.jogamp.opengl.util.GLArrayDataWrapper.

Reimplemented in com.jogamp.opengl.util.GLArrayDataServer.

Definition at line 403 of file GLArrayDataClient.java.

Here is the call graph for this function:

Member Data Documentation

◆ bufferEnabled

boolean com.jogamp.opengl.util.GLArrayDataClient.bufferEnabled
protected

Definition at line 645 of file GLArrayDataClient.java.

◆ bufferWritten

boolean com.jogamp.opengl.util.GLArrayDataClient.bufferWritten
protected

Definition at line 646 of file GLArrayDataClient.java.

◆ DEFAULT_GROWTH_FACTOR

final float com.jogamp.opengl.util.GLArrayDataClient.DEFAULT_GROWTH_FACTOR = 1.618f
static

Default growth factor using the golden ratio 1.618.

Definition at line 52 of file GLArrayDataClient.java.

◆ enableBufferAlways

boolean com.jogamp.opengl.util.GLArrayDataClient.enableBufferAlways
protected

Definition at line 647 of file GLArrayDataClient.java.

◆ glArrayHandler

final GLArrayHandler com.jogamp.opengl.util.GLArrayDataClient.glArrayHandler
protected

Definition at line 640 of file GLArrayDataClient.java.

◆ growthFactor

float com.jogamp.opengl.util.GLArrayDataClient.growthFactor
protected

Definition at line 643 of file GLArrayDataClient.java.

◆ initElemCount

final int com.jogamp.opengl.util.GLArrayDataClient.initElemCount
protected

Definition at line 639 of file GLArrayDataClient.java.

◆ shaderState

ShaderState com.jogamp.opengl.util.GLArrayDataClient.shaderState
protected

Definition at line 649 of file GLArrayDataClient.java.

◆ usesGLSL

final boolean com.jogamp.opengl.util.GLArrayDataClient.usesGLSL
protected

Definition at line 641 of file GLArrayDataClient.java.


The documentation for this class was generated from the following file: