GlEnable: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{DISPLAYTITLE:_glEnable}}
{{DISPLAYTITLE:_glEnable}}
The '''_glEnable''' statement enables OpenGL capabilities.
The '''_glEnable''' and '''_glDisable''' statements enable or disable OpenGL capabilities.




Line 23: Line 23:
* [[_glClipPlane]], [[_glColorMaterial]], [[_glColorPointer]], [[_glCullFace]]
* [[_glClipPlane]], [[_glColorMaterial]], [[_glColorPointer]], [[_glCullFace]]
* [[_glDepthFunc]], [[_glDepthRange]], [[_glDisable]], [[_glDrawArrays]]
* [[_glDepthFunc]], [[_glDepthRange]], [[_glDisable]], [[_glDrawArrays]]
* [[_glEdgeFlagPointer]], [[_glEnd]], [https://docs.microsoft.com/en-us/windows/win32/opengl/glevalcoord-functions _glEvalCoord1], [https://docs.microsoft.com/en-us/windows/win32/opengl/glevalmesh-functions _glEvalMesh1]
* [[_glEdgeFlagPointer]], [[_glEnd]], [https://docs.microsoft.com/en-us/windows/win32/opengl/glevalcoord-functions _glEvalCoord], [https://docs.microsoft.com/en-us/windows/win32/opengl/glevalmesh-functions _glEvalMesh]
* [https://docs.microsoft.com/en-us/windows/win32/opengl/glevalpoint _glEvalPoint1], [https://docs.microsoft.com/en-us/windows/win32/opengl/glfog _glFog], [https://docs.microsoft.com/en-us/windows/win32/opengl/glgetbooleanv--glgetdoublev--glgetfloatv--glgetintegerv _glGet], [[_glIndexPointer]]
* [https://docs.microsoft.com/en-us/windows/win32/opengl/glevalpoint _glEvalPoint], [https://docs.microsoft.com/en-us/windows/win32/opengl/glfog _glFog], [https://docs.microsoft.com/en-us/windows/win32/opengl/glgetbooleanv--glgetdoublev--glgetfloatv--glgetintegerv _glGet], [[_glIndexPointer]]
* [[_glIsEnabled]], [https://docs.microsoft.com/en-us/windows/win32/opengl/gllight-functions _glLight], [https://docs.microsoft.com/en-us/windows/win32/opengl/gllightmodel-functions _glLightModel], [[_glLineWidth]]
* [[_glIsEnabled]], [https://docs.microsoft.com/en-us/windows/win32/opengl/gllight-functions _glLight], [https://docs.microsoft.com/en-us/windows/win32/opengl/gllightmodel-functions _glLightModel], [[_glLineWidth]]
* [[_glLineStipple]], [[_glLogicOp]], [https://docs.microsoft.com/en-us/windows/win32/opengl/glmap1 _glMap1], [https://docs.microsoft.com/en-us/windows/win32/opengl/glmap2 _glMap2]
* [[_glLineStipple]], [[_glLogicOp]], [https://docs.microsoft.com/en-us/windows/win32/opengl/glmap1 _glMap1], [https://docs.microsoft.com/en-us/windows/win32/opengl/glmap2 _glMap2]

Revision as of 19:38, 24 July 2022

The _glEnable and _glDisable statements enable or disable OpenGL capabilities.


Syntax

_glEnable GLenum cap


Parameters

  • OpenGL is using its own set of variable types to describe its command parameters.
  • Use the following table to find the respective QB64 Variable Types.
   Table 2: Relations between the OpenGL variable types vs. C/C++ and QB64.
 ┌──────────────┬────────────────┬──────────────────────────────────────────┐
 │    OpenGLC/C++QB64                                 │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLenum       │ unsigned int   │ _UNSIGNED LONG                           │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLboolean    │ unsigned char  │ _UNSIGNED _BYTE                          │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLbitfield   │ unsigned int   │ _UNSIGNED LONG                           │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLbyte       │ signed char    │ _BYTE                                    │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLshort      │ short          │ INTEGER                                  │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLint        │ int            │ LONG                                     │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLsizei      │ int            │ LONG                                     │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLubyte      │ unsigned char  │ _UNSIGNED _BYTE                          │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLushort     │ unsigned short │ _UNSIGNED INTEGER                        │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLuint       │ unsigned int   │ _UNSIGNED LONG                           │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLfloat      │ float          │ SINGLE                                   │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLclampf     │ float          │ SINGLE                                   │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLdouble     │ double         │ DOUBLE                                   │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLclampd     │ double         │ DOUBLE                                   │
 ├──────────────┼────────────────┼──────────────────────────────────────────┤
 │ GLvoid   (1) │ void           │ _OFFSET(any fixed lenght string or _BYTE │
 │              │                │         array element)                   │
 └──────────────┴────────────────┴──────────────────────────────────────────┘
 Note: If a parameter has an asterisk (*) in front, then it's a pointer to
       the designated OpenGL variable type, rather than a value of that type.
       Those must be passed using the _OFFSET(...) notation.

 E.g.  GLuint *anyParam is actually the offset of a _UNSIGNED LONG (~&)
       variable or array, which must be passed as _OFFSET(anyVar~&) or
       _OFFSET(anyArr~&()) respectively.

  (1)  This type is regularly only used for pointers (with asterisk (*)) to
       any byte sized memory data, hence _BYTE or fixed length strings.


Description

  • OpenGL's documentation is available in several places, so we won't reproduce it here for another time.
  • The full description for this command can be found at Microsoft Docs and is also valid for QB64 usage.


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link