Template:OpenGLTypesPlugin: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{FixedStart}}
{{FixedStart}}
  ┌───────────────┬─────────────────┬──────────────────────────────────────────┐
  ┌──────────────┬────────────────┬──────────────────────────────────────────┐
  │    OpenGL    │      C/C++      │       QB64                            
  │    '''OpenGL'''    │     '''C/C++'''     │     '''QB64'''                               
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLenum       │ unsigned int   │ _UNSIGNED LONG                          │
  │ GLenum       │ unsigned int   [[_UNSIGNED]] [[LONG]]                           │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLboolean     │ unsigned char   │ _UNSIGNED _BYTE                          │
  │ GLboolean   │ unsigned char [[_UNSIGNED]] [[_BYTE]]                         │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLbitfield   │ unsigned int   │ _UNSIGNED LONG                          │
  │ GLbitfield   │ unsigned int   [[_UNSIGNED]] [[LONG]]                           │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLbyte       │ signed char     │ _BYTE                                    │
  │ GLbyte       │ signed char   [[_BYTE]]                                   │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLshort       │ short           │ INTEGER                                  │
  │ GLshort     │ short         [[INTEGER]]                                 │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLint         │ int             │ LONG                                    │
  │ GLint       │ int           [[LONG]]                                     │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLsizei       │ int             │ LONG                                    │
  │ GLsizei     │ int           [[LONG]]                                     │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLubyte       │ unsigned char   │ _UNSIGNED _BYTE                          │
  │ GLubyte     │ unsigned char [[_UNSIGNED]] [[_BYTE]]                         │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLushort     │ unsigned short │ _UNSIGNED INTEGER                        │
  │ GLushort     │ unsigned short │ [[_UNSIGNED]] [[INTEGER]]                       │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLuint       │ unsigned int   │ _UNSIGNED LONG                          │
  │ GLuint       │ unsigned int   [[_UNSIGNED]] [[LONG]]                           │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLfloat       │ float           │ SINGLE                                  │
  │ GLfloat     │ float         [[SINGLE]]                                   │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLclampf     │ float           │ SINGLE                                  │
  │ GLclampf     │ float         [[SINGLE]]                                   │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLdouble     │ double         │ DOUBLE                                  │
  │ GLdouble     │ double         [[DOUBLE]]                                   │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLclampd     │ double         │ DOUBLE                                  │
  │ GLclampd     │ double         [[DOUBLE]]                                   │
  ├───────────────┼─────────────────┼──────────────────────────────────────────┤
  ├──────────────┼────────────────┼──────────────────────────────────────────┤
  │ GLvoid  (1) │ void           │ _OFFSET(any fixed lenght string or _BYTE │
  │ GLvoid  '''(1)''' │ void           [[_OFFSET]](any fixed lenght string or [[_BYTE]]
  │                               │        array element)                  │
  │                           │        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

Revision as of 20:45, 2 August 2022

 ┌──────────────┬────────────────┬──────────────────────────────────────────┐
 │    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.