{{QBDLDATE:07-31-2022}} {{QBDLTIME:23:53:51}} {{TextStart}} '''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. {{TextEnd}}