GlStencilFunc: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
m (Protected "GlStencilFunc" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))) |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''_glStencilFunc | {{DISPLAYTITLE:_glStencilFunc}} | ||
The '''_glStencilFunc''' statement sets the statement and reference value for stencil testing. | |||
{{PageSyntax}} | {{PageSyntax}} | ||
: [[_glStencilFunc]] GLenum {{Parameter|func}}, GLint {{Parameter|ref}}, GLuint {{Parameter|mask}} | |||
{{PageParameters}} | |||
* 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]]. | |||
{{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/glstencilfunc Microsoft Docs] and is also valid for QB64 usage. | |||
The | |||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [[_GL|SUB _GL]] | |||
[[_GL|SUB _GL]] | * [[_glAlphaFunc]], [[_glBegin]], [[_glBlendFunc]], [[_glDepthFunc]] | ||
* [[_glEnable]], [[_glEnd]], [[_glIsEnabled]], [[_glLogicOp]] | |||
* [[_glStencilOp]] | |||
{{PageNavigation}} | {{PageNavigation}} |
Latest revision as of 01:37, 28 January 2023
The _glStencilFunc statement sets the statement and reference value for stencil testing.
Syntax
- _glStencilFunc GLenum func, GLint ref, GLuint 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.
Table 2: Relations between the OpenGL variable types vs. C/C++ and QB64. ┌──────────────┬────────────────┬──────────────────────────────────────────┐ │ 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 (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
- SUB _GL
- _glAlphaFunc, _glBegin, _glBlendFunc, _glDepthFunc
- _glEnable, _glEnd, _glIsEnabled, _glLogicOp
- _glStencilOp