Template:OpenGLTypesPlugin: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
m (Protected "Template:OpenGLTypesPlugin" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
No edit summary
Line 16: Line 16:
  GLdouble    |  double          |  [[DOUBLE]]
  GLdouble    |  double          |  [[DOUBLE]]
  GLclampd    |  double          |  [[DOUBLE]]
  GLclampd    |  double          |  [[DOUBLE]]
  GLvoid     |  void            |  [[_OFFSET]](any fixed lenght string or [[_BYTE]]
  GLvoid   '''(1)'''|  void            |  [[_OFFSET]](any fixed lenght string or [[_BYTE]]
                                           array element)
                                           array element)


Line 26: Line 26:
       variable or array, which must be passed as [[_OFFSET]](anyVar~&) or
       variable or array, which must be passed as [[_OFFSET]](anyVar~&) or
       [[_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.
{{TextEnd}}
{{TextEnd}}

Revision as of 09:46, 16 July 2022

  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.