GlAccum: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
Tag: Reverted
No edit summary
Tag: Manual revert
Line 10: Line 10:
* OpenGL is using its own set of variable types to describe its command parameters.
* OpenGL is using its own set of variable types to describe its command parameters.
* Use the following table to find the respective QB64 [[Variable Types]].
* Use the following table to find the respective QB64 [[Variable Types]].
{{FixedStart}}
+=====================================================================================================================+
|                                                      Numerical types                                                |
+======================+====================+============================+============================+===============+
| Type Name            | Type suffix symbol | Minimum value              | Maximum value              | Size in Bytes |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _BIT                | `                  | -1                        | 0                          | 1/8          |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _BIT * n            | `n                | -128                      | 127                        | n/8          |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _UNSIGNED _BIT      | ~`                | 0                          | 1                          | 1/8          |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _BYTE                | %%                | -128                      | 127                        | 1            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _UNSIGNED _BYTE      | ~%%                | 0                          | 255                        | 1            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| INTEGER              | %                  | -32,768                    | 32,767                    | 2            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _UNSIGNED INTEGER    | ~%                | 0                          | 65,535                    | 2            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| LONG                | &              | -2,147,483,648            | 2,147,483,647              | 4            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _UNSIGNED LONG      | ~&            | 0                          | 4,294,967,295              | 4            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _INTEGER64          | &&        | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807  | 8            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _UNSIGNED _INTEGER64 | ~&&        | 0                          | 18,446,744,073,709,551,615 | 8            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| SINGLE              | ! or none          | -2.802597E-45              | +3.402823E+38              | 4            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| DOUBLE              | #                  | -4.490656458412465E-324    | +1.797693134862310E+308    | 8            |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _FLOAT              | ##                | -1.18E-4932                | +1.18E+4932                | 32(10 used)  |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _OFFSET              | %&            | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807  | use LEN      |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _UNSIGNED _OFFSET    | ~%&            | 0                          | 18,446,744,073,709,551,615 | use LEN      |
+----------------------+--------------------+----------------------------+----------------------------+---------------+
| _MEM                | none              |        This is an internal TYPE like memory variable.                  |
+----------------------+--------------------+-------------------------------------------------------------------------+
{{FixedEnd}}
{{TextStart}}
{{TextStart}}
   '''OpenGL'''    |    '''C/C++'''        |        '''QB64'''
   '''OpenGL'''    |    '''C/C++'''        |        '''QB64'''

Revision as of 23:28, 15 July 2022

The _glAccum statement operates on the accumulation buffer.


Syntax

_glAccum GLenum op, GLfloat value


Parameters

  • OpenGL is using its own set of variable types to describe its command parameters.
  • Use the following table to find the respective QB64 Variable Types.
  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      |  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.


Description

  • OpenGL's documentation is available in several places, so we won't reproduce it here for another time.
  • The full description for this command can be found at Microsoft Docs and is also valid for QB64 usage.


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link