Interface GLArrayData

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void associate​(Object obj, boolean enable)
      Implementation and type dependent object association.
      int bytePosition()
      Returns the bytes position.
      void destroy​(GL gl)  
      int elemPosition()
      Returns the element position.
      String elemStatsToString()
      Returns a string with detailed buffer element stats, i.e.
      String fillStatsToString()
      Returns a string with detailed buffer fill stats.
      Buffer getBuffer()
      The Buffer holding the data, may be null if a GPU buffer without client bound data
      int getByteCapacity()
      Return the capacity in bytes.
      int getByteCount()
      Returns the byte position (written elements) if not sealed() or the byte limit (available to read) after sealed() (flip).
      int getBytesPerComp()
      The component's size in bytes
      int getCompsPerElem()
      The number of components per element
      int getCompType()
      The component's GL data type, ie.
      int getElemCapacity()
      Return the element capacity.
      int getElemCount()
      Returns the element position (written elements) if not sealed() or the element limit (available to read) after sealed() (flip).
      int getIndex()
      The index of the predefined array index, see list below, or -1 in case of a shader attribute array.
      int getLocation()
      Returns the shader attribute location for this name, -1 if not yet determined
      String getName()
      The name of the reflecting shader array attribute.
      boolean getNormalized()
      True, if GL shall normalize fixed point data while converting them into float.
      int getStride()  
      int getVBOName()
      The VBO name or 0 if not a VBO
      long getVBOOffset()
      The VBO buffer offset or 0 if not a VBO
      int getVBOTarget()
      The VBO target or 0 if not a VBO
      int getVBOUsage()
      The VBO usage or 0 if not a VBO
      boolean isVBO()
      Determines whether the data is server side (VBO) and enabled, or a client side array (false).
      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
      int remainingBytes()
      The current number of remaining bytes.
      int remainingElems()
      The current number of remaining elements.
      boolean sealed()
      Returns true if data has been sealed (flipped to read), otherwise false (writing mode).
      int setLocation​(int v)
      Sets the given location of the shader attribute
      int setLocation​(GL2ES2 gl, int program)
      Retrieves the location of the shader attribute from the linked shader program.
      int setLocation​(GL2ES2 gl, int program, int location)
      Binds the location of the shader attribute to the given location for the unlinked shader program.
      void setName​(String newName)
      Set a new name for this array.
      String toString()  
    • Method Detail

      • associate

        void associate​(Object obj,
                       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:
        obj - implementation and type dependent association
        enable - pass true to enable the association and false to disable it.
      • isVertexAttribute

        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
      • getName

        String getName()
        The name of the reflecting shader array attribute.
      • getLocation

        int getLocation()
        Returns the shader attribute location for this name, -1 if not yet determined
      • setLocation

        int setLocation​(GL2ES2 gl,
                        int program)
        Retrieves the location of the shader attribute from the linked shader program.

        No validation is performed within the implementation.

        Parameters:
        gl -
        program -
        Returns:
        ≥0 denotes a valid attribute location as found and used in the given shader program. <0 denotes an invalid location, i.e. not found or used in the given shader program.
      • setLocation

        int setLocation​(GL2ES2 gl,
                        int program,
                        int location)
        Binds the location of the shader attribute to the given location for the unlinked shader program.

        No validation is performed within the implementation.

        Parameters:
        gl -
        program -
        Returns:
        the given location
      • isVBO

        boolean isVBO()
        Determines whether the data is server side (VBO) and enabled, or a client side array (false).
      • getVBOOffset

        long getVBOOffset()
        The VBO buffer offset or 0 if not a VBO
      • getVBOName

        int getVBOName()
        The VBO name or 0 if not a VBO
      • getBuffer

        Buffer getBuffer()
        The Buffer holding the data, may be null if a GPU buffer without client bound data
      • getCompsPerElem

        int getCompsPerElem()
        The number of components per element
      • getCompType

        int getCompType()
        The component's GL data type, ie. GL_FLOAT
      • getBytesPerComp

        int getBytesPerComp()
        The component's size in bytes
      • fillStatsToString

        String fillStatsToString()
        Returns a string with detailed buffer fill stats.
      • elemStatsToString

        String elemStatsToString()
        Returns a string with detailed buffer element stats, i.e. sealed, count, position, remaining, limit and capacity.
      • getNormalized

        boolean getNormalized()
        True, if GL shall normalize fixed point data while converting them into float.

        Default behavior (of the fixed function pipeline) is true for fixed point data type and false for floating point data types.

      • getStride

        int getStride()
        Returns:
        the byte offset between consecutive components
      • destroy

        void destroy​(GL gl)