Class ARBDirectStateAccess


  • public class ARBDirectStateAccess
    extends java.lang.Object
    Native bindings to the ARB_direct_state_access extension.

    In unextended OpenGL, most mutation of state contained in objects is through an indirection known as a binding. Objects are attached to a context (either directly or indirectly via a container) and then commands to modify or query their state are issued on that context, indirecting through its attachments and into the underlying object. This is known as `bind-to-edit'.

    This extension derives from the GL_EXT_direct_state_access extension, which added accessors for most state on most objects, allowing it to be queried and modified without the object needing to be bound to a context. In cases where a single property of an object is to be modified, directly accessing its state can be more efficient than binding the object to the context and then indirecting through it. Further, directly accessing the state of objects through their names rather than by bind-to-edit does not disturb the bindings of the current context, which is useful for tools, middleware and other applications that are unaware of the outer state but it can also avoid cases of redundant state changes.

    Requires OpenGL 2.0. Promoted to core in OpenGL 4.5.