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).
Vertex array used for binding the rectangle's buffer(s).
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.
2───────┬ ----- 1 │ │ / │ │ / ├───────┘ | / | / 0
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.
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 this screen-aligned triangle.
Creates the vertex buffer object (VBO) and creates and initializes the buffer's data store.
Attribute binding point for vertices.
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.
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.
Geometry for a viewport/screen-filling triangle. The geometry creates triangle vertices, associated to a vertex array object (from geometry base class), and provides a specialized draw call for rendering. It is intended for, e.g., viewport/screen-filling rendering in post-processing. The vertices can be used directly as normalized device space (NDC) coordinates, e.g., by using the following vertex shader snippet:
``` #if VERSION == 100 attribute vec2 a_vertex; #else layout(location = 0) in vec2 a_vertex; #endif
...
v_uv = a_vertex * 0.5 + 0.5; gl_Position = vec4(a_vertex, 0.0, 1.0);