GlClear: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Created page with "'''_glClear:''' clear buffers to preset values {{PageSyntax}} :: SUB _glClear (BYVAL mask AS _UNSIGNED LONG) :: void '''_glClear'''(GLbitfield {{Parameter|mask}}); {{PageParameters}} * ''mask'' that indicate the buffer OR buffers to be cleared. The three masks are _GL_COLOR_BUFFER_BIT, _GL_DEPTH_BUFFER_BIT, and _GL_STENCIL_BUFFER_BIT. {{PageDescription}} * _glClear sets the bitplane area of the window to values previously sele...")
 
No edit summary
Line 1: Line 1:
'''_glClear:''' clear buffers to preset values
{{DISPLAYTITLE:_glClear}}
The '''_glClear''' statement clears buffers to preset values.




{{PageSyntax}}
{{PageSyntax}}
 
: '''_glClear''' GLbitfield {{Parameter|mask}}
:: [[SUB]] _glClear ([[BYVAL]] mask AS [[_UNSIGNED]] [[LONG]])
::  void '''_glClear'''(GLbitfield {{Parameter|mask}});




{{PageParameters}}
{{PageParameters}}
* ''mask'' that indicate the buffer [[OR]] buffers to be cleared. The three masks are [[_GL_COLOR_BUFFER_BIT]], [[_GL_DEPTH_BUFFER_BIT]], and [[_GL_STENCIL_BUFFER_BIT]].
* 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]].
{{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      |  void            |  no parameters used
{{TextEnd}}




{{PageDescription}}
{{PageDescription}}
* 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 [https://docs.microsoft.com/en-us/windows/win32/opengl/glclear Microsoft Docs] and is also valid for QB64 usage.


* [[_glClear]] sets the bitplane area of the window to values previously selected by [[_glClearColor]], [[glClearDepth]], and [[_glClearStencil]].
* Multiple color buffers can be cleared simultaneously by selecting more than one buffer at a time using [[_glDrawBuffer]].
* The pixel ownership test, the scissor test, dithering, and the buffer writemasks affect the operation of [[_glClear]]. The scissor box bounds the cleared region. Alpha function, blend function, logical operation, stenciling, texture mapping, and depth-buffering are ignored by [[_glClear]].


* [[_glClear]] takes a single argument that is the bitwise OR of several values indicating which buffer is to be cleared. The values are as follows:
{{PageSeeAlso}}
* [[_GL|SUB _GL]]


::: [[_GL_COLOR_BUFFER_BIT]]: Indicates the buffers currently enabled for color writing.
::: [[_GL_DEPTH_BUFFER_BIT]]: Indicates the depth buffer.
::: [[_GL_STENCIL_BUFFER_BIT]]: Indicates the stencil buffer.
* The value to which each buffer is cleared depends on the setting of the clear value for that buffer.
{{PageNotes}}
If a buffer is not present, then a '''_glClear''' directed at that buffer has no effect.
{{PageErrors}}
{{KW|_GL_INVALID_VALUE}} is generated if any bit other than the three defined bits is set in {{Parameter|mask}}.
{{PageUseWith}}
{{KW|_glGet}} with argument {{KW|_GL_DEPTH_CLEAR_VALUE}}
{{KW|_glGet}} with argument {{KW|_GL_COLOR_CLEAR_VALUE}}
{{KW|_glGet}} with argument {{KW|_GL_STENCIL_CLEAR_VALUE}}
{{PageSeeAlso}}
* [[_GL]]
* [[_glClearBuffer]], [[_glClearColor]], [[_glClearDepth]], [[_glClearStencil]]
* [[_glColorMask]], [[_glDepthMask]], [[_glStencilMask]]
* [[_glDrawBuffer]], [[_glDrawBuffers]]
* [[_glScissor]]


{{PageNavigation}}


{{PageCopyright}}
[[Category:Final]]

Revision as of 09:52, 14 July 2022

The _glClear statement clears buffers to preset values.


Syntax

_glClear GLbitfield mask


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            |  no parameters used


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