13 #ifndef OGLPLUS_EXT_ARB_COMPATIBILITY_1203031902_HPP
14 #define OGLPLUS_EXT_ARB_COMPATIBILITY_1203031902_HPP
26 #if OGLPLUS_DOCUMENTATION_ONLY || GL_ARB_compatibility
37 OGLPLUS_EXTENSION_CLASS(ARB, compatibility)
46 OGLPLUS_GLFUNC(
Begin)(GLenum(mode));
56 OGLPLUS_GLFUNC(
End)();
57 OGLPLUS_VERIFY_SIMPLE(
End);
67 OGLPLUS_GLFUNC(
PushAttrib)(GLbitfield(attr_groups));
135 OGLPLUS_GLFUNC(LoadMatrixf)(Data(Transposed(matrix)));
136 OGLPLUS_VERIFY_SIMPLE(LoadMatrixf);
146 OGLPLUS_GLFUNC(LoadMatrixd)(Data(Transposed(matrix)));
147 OGLPLUS_VERIFY_SIMPLE(LoadMatrixd);
151 static void Vertex_(GLint x, GLint y)
153 OGLPLUS_GLFUNC(Vertex2i)(x, y);
156 static void Vertex_(GLint x, GLint y, GLint z)
158 OGLPLUS_GLFUNC(Vertex3i)(x, y, z);
161 static void Vertex_(GLint x, GLint y, GLint z, GLint w)
163 OGLPLUS_GLFUNC(Vertex4i)(x, y, z, w);
166 static void Vertex_(GLfloat x, GLfloat y)
168 OGLPLUS_GLFUNC(Vertex2f)(x, y);
171 static void Vertex_(GLfloat x, GLfloat y, GLfloat z)
173 OGLPLUS_GLFUNC(Vertex3f)(x, y, z);
176 static void Vertex_(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
178 OGLPLUS_GLFUNC(Vertex4f)(x, y, z, w);
181 static void Vertex_(GLdouble x, GLdouble y)
183 OGLPLUS_GLFUNC(Vertex2d)(x, y);
186 static void Vertex_(GLdouble x, GLdouble y, GLdouble z)
188 OGLPLUS_GLFUNC(Vertex3d)(x, y, z);
191 static void Vertex_(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
193 OGLPLUS_GLFUNC(Vertex4d)(x, y, z, w);
201 template <
typename Type>
212 template <
typename Type>
213 static void Vertex(Type x, Type y, Type z)
223 template <
typename Type>
224 static void Vertex(Type x, Type y, Type z, Type w)
230 static void TexCoord_(GLint s)
232 OGLPLUS_GLFUNC(TexCoord1i)(s);
235 static void TexCoord_(GLint s, GLint t)
237 OGLPLUS_GLFUNC(TexCoord2i)(s, t);
240 static void TexCoord_(GLint s, GLint t, GLint r)
242 OGLPLUS_GLFUNC(TexCoord3i)(s, t, r);
245 static void TexCoord_(GLint s, GLint t, GLint r, GLint q)
247 OGLPLUS_GLFUNC(TexCoord4i)(s, t, r, q);
250 static void TexCoord_(GLfloat s)
252 OGLPLUS_GLFUNC(TexCoord1f)(s);
255 static void TexCoord_(GLfloat s, GLfloat t)
257 OGLPLUS_GLFUNC(TexCoord2f)(s, t);
260 static void TexCoord_(GLfloat s, GLfloat t, GLfloat r)
262 OGLPLUS_GLFUNC(TexCoord3f)(s, t, r);
265 static void TexCoord_(GLfloat s, GLfloat t, GLfloat r, GLfloat q)
267 OGLPLUS_GLFUNC(TexCoord4f)(s, t, r, q);
270 static void TexCoord_(GLdouble s)
272 OGLPLUS_GLFUNC(TexCoord1d)(s);
275 static void TexCoord_(GLdouble s, GLdouble t)
277 OGLPLUS_GLFUNC(TexCoord2d)(s, t);
280 static void TexCoord_(GLdouble s, GLdouble t, GLdouble r)
282 OGLPLUS_GLFUNC(TexCoord3d)(s, t, r);
285 static void TexCoord_(GLdouble s, GLdouble t, GLdouble r, GLdouble q)
287 OGLPLUS_GLFUNC(TexCoord4d)(s, t, r, q);
295 template <
typename Type>
306 template <
typename Type>
317 template <
typename Type>
328 template <
typename Type>
329 static void TexCoord(Type s, Type t, Type r, Type q)
331 TexCoord_(s, t, r, q);
335 static void MultiTexCoord_(GLenum tex_unit, GLint s)
337 OGLPLUS_GLFUNC(MultiTexCoord1i)(tex_unit, s);
340 static void MultiTexCoord_(GLenum tex_unit, GLint s, GLint t)
342 OGLPLUS_GLFUNC(MultiTexCoord2i)(tex_unit, s, t);
345 static void MultiTexCoord_(
352 OGLPLUS_GLFUNC(MultiTexCoord3i)(tex_unit, s, t, r);
355 static void MultiTexCoord_(
363 OGLPLUS_GLFUNC(MultiTexCoord4i)(tex_unit, s, t, r, q);
366 static void MultiTexCoord_(GLenum tex_unit, GLfloat s)
368 OGLPLUS_GLFUNC(MultiTexCoord1f)(tex_unit, s);
371 static void MultiTexCoord_(GLenum tex_unit, GLfloat s, GLfloat t)
373 OGLPLUS_GLFUNC(MultiTexCoord2f)(tex_unit, s, t);
376 static void MultiTexCoord_(
383 OGLPLUS_GLFUNC(MultiTexCoord3f)(tex_unit, s, t, r);
386 static void MultiTexCoord_(
394 OGLPLUS_GLFUNC(MultiTexCoord4f)(tex_unit, s, t, r, q);
397 static void MultiTexCoord_(GLenum tex_unit, GLdouble s)
399 OGLPLUS_GLFUNC(MultiTexCoord1d)(tex_unit, s);
402 static void MultiTexCoord_(GLenum tex_unit, GLdouble s, GLdouble t)
404 OGLPLUS_GLFUNC(MultiTexCoord2d)(tex_unit, s, t);
407 static void MultiTexCoord_(
414 OGLPLUS_GLFUNC(MultiTexCoord3d)(tex_unit, s, t, r);
417 static void MultiTexCoord_(
425 OGLPLUS_GLFUNC(MultiTexCoord4d)(tex_unit, s, t, r, q);
433 template <
typename Type>
440 GLenum(GL_TEXTURE0 + GLuint(tex_unit)),
450 template <
typename Type>
458 GLenum(GL_TEXTURE0 + GLuint(tex_unit)),
468 template <
typename Type>
476 GLenum(GL_TEXTURE0 + GLuint(tex_unit)),
486 template <
typename Type>
496 GLenum(GL_TEXTURE0 + GLuint(tex_unit)),
502 static void Normal_(GLint x, GLint y, GLint z)
504 OGLPLUS_GLFUNC(Normal3i)(x, y, z);
507 static void Normal_(GLfloat x, GLfloat y, GLfloat z)
509 OGLPLUS_GLFUNC(Normal3f)(x, y, z);
512 static void Normal_(GLdouble x, GLdouble y, GLdouble z)
514 OGLPLUS_GLFUNC(Normal3d)(x, y, z);
522 template <
typename Type>
523 static void Normal(Type x, Type y, Type z)
529 static void FogCoord_(GLfloat c)
531 OGLPLUS_GLFUNC(FogCoordf)(c);
534 static void FogCoord_(GLdouble c)
536 OGLPLUS_GLFUNC(FogCoordd)(c);
544 template <
typename Type>
551 static void Color_(GLubyte r, GLubyte g, GLubyte b)
553 OGLPLUS_GLFUNC(Color3ub)(r, g, b);
556 static void Color_(GLubyte r, GLubyte g, GLubyte b, GLubyte a)
558 OGLPLUS_GLFUNC(Color4ub)(r, g, b, a);
561 static void Color_(GLint r, GLint g, GLint b)
563 OGLPLUS_GLFUNC(Color3i)(r, g, b);
566 static void Color_(GLint r, GLint g, GLint b, GLint a)
568 OGLPLUS_GLFUNC(Color4i)(r, g, b, a);
571 static void Color_(GLfloat r, GLfloat g, GLfloat b)
573 OGLPLUS_GLFUNC(Color3f)(r, g, b);
576 static void Color_(GLfloat r, GLfloat g, GLfloat b, GLfloat a)
578 OGLPLUS_GLFUNC(Color4f)(r, g, b, a);
581 static void Color_(GLdouble r, GLdouble g, GLdouble b)
583 OGLPLUS_GLFUNC(Color3d)(r, g, b);
586 static void Color_(GLdouble r, GLdouble g, GLdouble b, GLdouble a)
588 OGLPLUS_GLFUNC(Color4d)(r, g, b, a);
596 template <
typename Type>
597 static void Color(Type r, Type g, Type b)
607 template <
typename Type>
608 static void Color(Type r, Type g, Type b, Type a)
614 static void SColor_(GLubyte r, GLubyte g, GLubyte b)
616 OGLPLUS_GLFUNC(SecondaryColor3ub)(r, g, b);
619 static void SColor_(GLint r, GLint g, GLint b)
621 OGLPLUS_GLFUNC(SecondaryColor3i)(r, g, b);
624 static void SColor_(GLfloat r, GLfloat g, GLfloat b)
626 OGLPLUS_GLFUNC(SecondaryColor3f)(r, g, b);
629 static void SColor_(GLdouble r, GLdouble g, GLdouble b)
631 OGLPLUS_GLFUNC(SecondaryColor3d)(r, g, b);
639 template <
typename Type>
646 static void Index_(GLint i)
648 OGLPLUS_GLFUNC(Indexi)(i);
651 static void Index_(GLfloat i)
653 OGLPLUS_GLFUNC(Indexf)(i);
656 static void Index_(GLdouble i)
658 OGLPLUS_GLFUNC(Indexd)(i);
666 template <
typename Type>
676 #endif // include guard
static void MultiTexCoord(TextureUnitSelector tex_unit, Type s, Type t)
Specifies vertex position s,t coordinates.
Definition: ARB_compatibility.hpp:451
static void MultiTexCoord(TextureUnitSelector tex_unit, Type s)
Specifies vertex position s coordinate.
Definition: ARB_compatibility.hpp:434
static void Normal(Type x, Type y, Type z)
Specifies vertex x,y,z normal components.
Definition: ARB_compatibility.hpp:523
static void TexCoord(Type s)
Specifies vertex position s coordinate.
Definition: ARB_compatibility.hpp:296
static void Begin(CompatibilityPrimitiveType mode)
Begins geometric object specification.
Definition: ARB_compatibility.hpp:44
Funcions and classes for handling and wrapping OpenGL extensions.
static void MultiTexCoord(TextureUnitSelector tex_unit, Type s, Type t, Type r, Type q)
Specifies vertex position s,t,r,q coordinates.
Definition: ARB_compatibility.hpp:487
static void LoadMatrix(const Mat4d &matrix)
Loads the specified matrix.
Definition: ARB_compatibility.hpp:144
static void MultiTexCoord(TextureUnitSelector tex_unit, Type s, Type t, Type r)
Specifies vertex position s,t,r coordinates.
Definition: ARB_compatibility.hpp:469
static void TexCoord(Type s, Type t)
Specifies vertex position s,t coordinates.
Definition: ARB_compatibility.hpp:307
static void Color(Type r, Type g, Type b, Type a)
Specifies vertex r,g,b,a color components.
Definition: ARB_compatibility.hpp:608
static void Color(Type r, Type g, Type b)
Specifies vertex r,g,b color components.
Definition: ARB_compatibility.hpp:597
static void Index(Type i)
Specifies vertex coordinates.
Definition: ARB_compatibility.hpp:667
This template serves as a wrapper for OpenGL bitfields.
Definition: bitfield.hpp:56
CompatibilityPrimitiveType
Compatibility primitive type enumeration.
Definition: primitive_type.hpp:28
static void TexCoord(Type s, Type t, Type r, Type q)
Specifies vertex position s,t,r,q coordinates.
Definition: ARB_compatibility.hpp:329
static void Vertex(Type x, Type y, Type z)
Specifies vertex position x,y,z coordinates.
Definition: ARB_compatibility.hpp:213
static void PushAttrib(Bitfield< CompatibilityAttributeGroup > attr_groups)
Pushes specified server attribute group variables on the stack.
Definition: ARB_compatibility.hpp:65
static void PushClientAttrib(Bitfield< CompatibilityClientAttributeGroup > attrib_groups)
Pushes specified client attribute group variables on the stack.
Definition: ARB_compatibility.hpp:76
static void PopClientAttrib(void)
Pop previously pushed client attribute group variables from the stack.
Definition: ARB_compatibility.hpp:100
static void SecondaryColor(Type r, Type g, Type b)
Specifies vertex r,g,b secondary color components.
Definition: ARB_compatibility.hpp:640
static void LoadMatrix(const Mat4f &matrix)
Loads the specified matrix.
Definition: ARB_compatibility.hpp:133
static void Vertex(Type x, Type y, Type z, Type w)
Specifies vertex position x,y,z,w coordinates.
Definition: ARB_compatibility.hpp:224
CompatibilityMatrixMode
Compatibility matrix mode enumeration.
Definition: matrix_mode.hpp:28
static void End(void)
Ends geometric object specification.
Definition: ARB_compatibility.hpp:54
Wrapper for the ARB_compatibility extension.
Definition: ARB_compatibility.hpp:34
static void Vertex(Type x, Type y)
Specifies vertex position x,y coordinates.
Definition: ARB_compatibility.hpp:202
static void LoadIdentity(void)
Loads a identity matrix.
Definition: ARB_compatibility.hpp:122
The CompatibilityMatrixMode enumeration.
static void MatrixMode(CompatibilityMatrixMode mode)
Sets the matrix mode for the subsequent commands.
Definition: ARB_compatibility.hpp:111
static void FogCoord(Type c)
Specifies vertex coordinates.
Definition: ARB_compatibility.hpp:545
static void PopAttrib(void)
Pop previously pushed server attribute group variables from the stack.
Definition: ARB_compatibility.hpp:89
Type for the texture unit selector (implementation-dependent limited) number.
Definition: texture_unit.hpp:22
Texture and image unit selectors.
The CompatibilityPrimitiveType enumeration.
The CompatibilityAttributeGroup enumerations.
static void TexCoord(Type s, Type t, Type r)
Specifies vertex position s,t,r coordinates.
Definition: ARB_compatibility.hpp:318