Template:OpenGLTypesPlugin: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ | {{FixedStart}} | ||
Table 2: Relations between the OpenGL variable types vs. C/C++ and QB64. | |||
┌──────────────┬────────────────┬──────────────────────────────────────────┐ | |||
GLenum | │ '''OpenGL''' │ '''C/C++''' │ '''QB64''' │ | ||
GLboolean | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
GLbitfield | │ GLenum │ unsigned int │ [[_UNSIGNED]] [[LONG]] │ | ||
GLbyte | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
GLshort | │ GLboolean │ unsigned char │ [[_UNSIGNED]] [[_BYTE]] │ | ||
GLint | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
GLsizei | │ GLbitfield │ unsigned int │ [[_UNSIGNED]] [[LONG]] │ | ||
GLubyte | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
GLushort | │ GLbyte │ signed char │ [[_BYTE]] │ | ||
GLuint | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
GLfloat | │ GLshort │ short │ [[INTEGER]] │ | ||
GLclampf | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
GLdouble | │ GLint │ int │ [[LONG]] │ | ||
GLclampd | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
GLvoid '''(1)''' | │ 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 | '''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. | the designated OpenGL variable type, rather than a value of that type. | ||
Line 27: | Line 43: | ||
[[_OFFSET]](anyArr~&()) respectively. | [[_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. | |||
{{ | {{FixedEnd}} |
Latest revision as of 22:25, 11 December 2022
Table 2: Relations between the OpenGL variable types vs. C/C++ and QB64. ┌──────────────┬────────────────┬──────────────────────────────────────────┐ │ OpenGL │ C/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. |