GlClearColor: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Created page with "'''_glClearColor:''' specify clear values for the color buffers {{PageSyntax}} :: SUB '''_glClearColor''' (BYVAL red AS SINGLE, BYVAL green AS SINGLE, BYVAL blue AS SINGLE, BYVAL alpha AS SINGLE) :: void '''_glClearColor'''(GLfloat {{Parameter|red}}, GLfloat {{Parameter|green}}, GLfloat {{Parameter|blue}}, GLfloat {{Parameter|alpha}}); ; red, green, blue, alpha : Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial valu...")
 
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''_glClearColor:''' specify clear values for the color buffers
{{DISPLAYTITLE:_glClearColor}}
The '''_glClearColor''' statement specifies clear values for the color buffers.




{{PageSyntax}}
{{PageSyntax}}
: [[_glClearColor]] GLclampf {{Parameter|red}}, GLclampf {{Parameter|green}}, GLclampf {{Parameter|blue}}, GLclampf {{Parameter|alpha}}


:: SUB '''_glClearColor''' (BYVAL red AS SINGLE, BYVAL green AS SINGLE, BYVAL blue AS SINGLE, BYVAL alpha AS SINGLE)
:: void '''_glClearColor'''(GLfloat {{Parameter|red}}, GLfloat {{Parameter|green}}, GLfloat {{Parameter|blue}}, GLfloat {{Parameter|alpha}});


 
{{PageParameters}}
; red, green, blue, alpha
* OpenGL is using its own set of variable types to describe its command parameters.
: Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial values are all 0.
* Use the following table to find the respective QB64 [[Variable Types]].
{{OpenGLTypesPlugin}}




{{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://learn.microsoft.com/en-us/windows/win32/opengl/glclearcolor Microsoft Docs] and is also valid for QB64 usage.


'''_glClearColor''' specifies the red, green, blue, and alpha values used by {{KW|_glClear}} to clear the color buffers.
{{PageNotes}}
The type of the {{Parameter|red}}, {{Parameter|green}}, {{Parameter|blue}}, and {{Parameter|alpha}} parameters was changed from GLclampf to GLfloat. This change is transparent to user code.
{{PageUseWith}}
{{KW|_glGet}} with argument {{KW|_GL_COLOR_CLEAR_VALUE}}


{{PageSeeAlso}}
{{PageSeeAlso}}
 
* [[_GL|SUB _GL]]
[[_GL|SUB _GL]]
* [[_glBegin]], [[_glClear]], [[_glEnd]], [https://learn.microsoft.com/en-us/windows/win32/opengl/glgetbooleanv--glgetdoublev--glgetfloatv--glgetintegerv _glGet]
{{KW|_glClear}}




{{PageCopyright}}
{{PageNavigation}}

Latest revision as of 00:36, 28 January 2023

The _glClearColor statement specifies clear values for the color buffers.


Syntax

_glClearColor GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha


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.
   Table 2: Relations between the OpenGL variable types vs. C/C++ and QB64.
 ┌──────────────┬────────────────┬──────────────────────────────────────────┐
 │    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.


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