Object constructor, requires a context and an identifier.
Valid context to create the object for.
Meaningful name for identification of this instance.
Various buffers required for this geometry (e.g., vertex buffer).
Number of glyphs encoded within the geometry.
Vertex array used for binding the rectangle's buffer(s).
Handle to the glyph template this geometry is based on.
Asserts the objects initialization status to be true. Note that the implementation is cached and forwarded to either an empty function when initialized and to an acutal assert(false) otherwise.
Asserts the objects initialization status to be false. Note that the implementation is cached and forwarded to either an empty function when uninitialized and to an acutal assert(false) otherwise.
These 2D vertices are equal for all quads, used for instanced rendering. Their actual position will be changed in the vertex shader, based on origins, tangents and up-vector attributes. 2-------4 | \ | | \ | 1-------3
Read-only access to the buffer(s) associated to this instances vertex array object.
Read-only access to the buffers' and vertex array's context.
Property getter for readonly access to the initialization status of an initializable instance.
Attribute location to which this geometry's origins are bound to.
Attribute location to which this geometry's tangents are bound to.
Attribute location to which this geometry's texture coordinates are bound to.
Attribute location to which this geometry's up vectors are bound to.
Read-only access to the vertex array.
Attribute location to which this geometry's vertices are bound to.
Binds the vertex array object.
Binds all vertex buffer objects (VBOs) to pre-set attribute binding points.
Specifies/invokes the draw of specific labels (ranges are supposed to be tracked/managed from outside).
Creates the vertex buffer object (VBO) and creates and initializes the buffer's data store.
Attribute binding point for vertices.
Attribute binding point for texture coordinates.
Attribute binding point for glyph origin coordinates
Attribute binding point for glyph tangent coordinates.
Attribute binding point for glyph up-vector coordinates.
Unbinds the vertex array object.
Unbinds all vertex buffer objects (VBOs) and disables their attribute binding points.
Uninitialize the vertex array object and the rectangle.
Use this method to set (or update) the glyph coordinates, e.g. after typesetting or after the calculations of a placement algorithm. The actual interpretation of those buffers depends on the shader, usually they are 3-component vectors in world space (provided as flat array.)
Coordinates of the lower left corner of every glyph.
Tangent vector for every glyph (direction along base line).
Up vector for every glyph (orthogonal to its tangent vector).
The texture coordinates for every glyph, format: ll.x, ll.y, ur.x, ur.y.
Method decorator for asserting the initialization status of an initializable to be true.
Method decorator for asserting the initialization status of an initializable to be false.
Method decorator for discarding of Initializable inheritors. This decorator asserts the initialization
status of the instance that is to be discarded, invokes its uninitialization, and falsifies the
initialization status. In order to encourage the use of assertInitialized
and assertUninitialized
they are
dynamically bound to a static, always-failing assert and an empty/undefined function respectively.
Method decorator for initialization of Initializable inheritors. This decorator asserts the initialization status
of the instance that is to be initialized, invokes its initialization with arbitrary number of parameters,
and sets the initialization status to the initialization success (either false or true).
In order to encourage the use of assertInitialized
and assertUninitialized
they are dynamically
bound to either a static, always-failing assert or an empty/undefined function.
Method decorator for uninitialization of Initializable inheritors. This decorator asserts the initialization
status of the instance that is to be uninitialized, invokes its uninitialization, and falsifies the
initialization status. In order to encourage the use of assertInitialized
and assertUninitialized
they are
dynamically bound to a static, always-failing assert and an empty/undefined function respectively.
Gathers vertices and other data needed for drawing all labels using the glyphquad-shaders.
Example usage: