Template:OpenGLTypesPlugin: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{FixedStart}} | {{FixedStart}} | ||
Table 2: Relations between the OpenGL variable types vs. C/C++ and QB64. | |||
│ OpenGL | ┌──────────────┬────────────────┬──────────────────────────────────────────┐ | ||
│ '''OpenGL''' │ '''C/C++''' │ '''QB64''' │ | |||
│ GLenum | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLenum │ unsigned int │ [[_UNSIGNED]] [[LONG]] │ | |||
│ GLboolean | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLboolean │ unsigned char │ [[_UNSIGNED]] [[_BYTE]] │ | |||
│ GLbitfield | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLbitfield │ unsigned int │ [[_UNSIGNED]] [[LONG]] │ | |||
│ GLbyte | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLbyte │ signed char │ [[_BYTE]] │ | |||
│ GLshort | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLshort │ short │ [[INTEGER]] │ | |||
│ GLint | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLint │ int │ [[LONG]] │ | |||
│ GLsizei | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLsizei │ int │ [[LONG]] │ | |||
│ GLubyte | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLubyte │ unsigned char │ [[_UNSIGNED]] [[_BYTE]] │ | |||
│ GLushort | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLushort │ unsigned short │ [[_UNSIGNED]] [[INTEGER]] │ | |||
│ GLuint | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLuint │ unsigned int │ [[_UNSIGNED]] [[LONG]] │ | |||
│ GLfloat | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLfloat │ float │ [[SINGLE]] │ | |||
│ GLclampf | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLclampf │ float │ [[SINGLE]] │ | |||
│ GLdouble | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLdouble │ double │ [[DOUBLE]] │ | |||
│ GLclampd | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ GLclampd │ double │ [[DOUBLE]] │ | |||
│ GLvoid (1) | ├──────────────┼────────────────┼──────────────────────────────────────────┤ | ||
│ | │ 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 44: | Line 44: | ||
'''(1)''' This type is regularly only used for pointers (with asterisk (*)) to | '''(1)''' This type is regularly only used for pointers (with asterisk (*)) to | ||
any byte sized memory data, hence _BYTE or fixed length strings. | any byte sized memory data, hence [[_BYTE]] or fixed length strings. | ||
{{FixedEnd}} | {{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. |