GlReadPixels: 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 (Removed protection from "GlReadPixels") |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''_glReadPixels | {{DISPLAYTITLE:_glReadPixels}} | ||
The '''_glReadPixels''' statement reads a block of pixels from the framebuffer. | |||
{{PageSyntax}} | {{PageSyntax}} | ||
: [[_glReadPixels]] GLint {{Parameter|x}}, GLint {{Parameter|y}}, GLsizei {{Parameter|width}}, GLsizei {{Parameter|height}}, GLenum {{Parameter|format}}, GLenum {{Parameter|type}}, GLvoid {{Parameter|*pixels}} | |||
{{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/glreadpixels Microsoft Docs] and is also valid for QB64 usage. | |||
: | |||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [[_GL|SUB _GL]] | |||
* [[_glBegin]], [[_glCopyPixels]], [[_glDrawPixels]], [[_glEnd]] | |||
* [https://learn.microsoft.com/en-us/windows/win32/opengl/glpixelmap _glPixelMap], [https://learn.microsoft.com/en-us/windows/win32/opengl/glpixelstore-functions _glPixelStore], [https://learn.microsoft.com/en-us/windows/win32/opengl/glpixeltransfer _glPixelTransfer], [[_glReadBuffer]] | |||
{{PageNavigation}} |
Latest revision as of 01:33, 28 January 2023
The _glReadPixels statement reads a block of pixels from the framebuffer.
Syntax
- _glReadPixels GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels
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
- _glBegin, _glCopyPixels, _glDrawPixels, _glEnd
- _glPixelMap, _glPixelStore, _glPixelTransfer, _glReadBuffer