GlAccum: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
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                                                |
|                                                      Numerical types                                                |
Line 50: Line 49:
| _MEM                | none              |        This is an internal TYPE like memory variable.                  |
| _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:23, 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.

+=====================================================================================================================+ | 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. | +----------------------+--------------------+-------------------------------------------------------------------------+

  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