PrevUpHomeNext

Operation kinds

#include <oglplus/fwd.hpp>

The functions in OpenGL can be divided into several distinct categories based on how the object that the functions operate on is specified:

  1. The object is bound to a specific named binding point - target and the target identifier is passed as an argument to the function. Such functions are referred to as having an explicit selector.
  2. The object is bound to an implicit target (i.e. bound by using the appropriate function without any explicit target identifier) and the function is called without any target identifier). Such functions are referred to as having an implicit selector.
  3. The object is accessed directly by its unique GL name. Such functions are referred to as having direct state access.

In some cases (for example if the EXT_direct_state_access extension is implemented) there are several functions implementing the same operation, but differing in the way how the object that they operate on in selected.

OGLplus distinguishes the categories or kinds of the functions as listed above at compile-time by using the following tag types:

namespace tag {

struct ExplicitSel; 1
struct ImplicitSel; 2
struct DirectState; 3
struct DirectStateEXT; 4
struct CurrentBound;

} // namespace tag

1

Operations with explicit selector.

2

Operations with implicit selector.

3

Operations with direct state access (as defined in GL Core or ARB_direct_state_access).

4

Operations with direct state access (as defined in EXT_direct_state_access).


PrevUpHomeNext