GLREADSAMPLESUN(3gl)GLREADSAMPLESUN(3gl)NAMEglReadSamplesSUN - reads a block of raw pixel samples from the current
read buffer
C SPECIFICATION
void glReadSamplesSUN( GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
GLvoid *samples )
PARAMETERS
x, y Specify the window coordinates of the first pixel, whose samples
will be read from the current read buffer. This location is the
lower left corner of a rectangular block of pixels.
width, height
Specify the dimensions of the pixel rectangle. width and height
of one correspond to a single pixel.
format
Specifies the format of the sample data. The following symbolic
values are accepted: GL_RGBA, and GL_ABGR,
type Specifies the data type of the sample data. Must be
GL_UNSIGNED_INT_8_8_8_8
samples
Returns the sample data.
DESCRIPTIONglReadSamplesSUN returns the raw pixel samples from the color buffers
starting with the location (x, y) into client memory starting at loca‐
tion samples. Which color buffer to read from can be specified using
glReadBuffer. Supported read buffers are GL_FRONT_LEFT, GL_FRONT_RIGHT,
GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT. For‐
mat must be one of GL_RGBA or GL_ABGR. Type of samples is limited to
only UNSIGNED_INT_8_8_8_8. The size of the pixel rectangle is specified
using width and height arguments. Values for samples that lie outside
the window connected to the current GL context are undefined.
glReadSamplesSUN returns sample values from each pixel with lower left
corner at (x + i, y + j) for 0≤i<width and 0≤j<height. Samples are
returned with sample #0 of all pixels followed by sample #1 of all pix‐
els in that order.
Pixel operations such as glPixelMap, glPixelTransfer, glPixelStore, and
glPixelZoom will have no affect on glReadSamplesSUN.
Applications should provide the buffer big enough to hold all samples
for all pixels in the pixel rectangle. That is, the size of the sample
buffer is width * height * num_samples * sizeof(unsigned int), where
num_samples per pixel can be queried using glGetintegerv command by
specifying GL_SAMPLES as the parameter value to be returned.
If an error is generated, no change is made to the contents of samples.
ERRORS
GL_INVALID_ENUM is generated if format or type is not an accepted
value.
GL_INVALID_VALUE is generated if either width or height is negative.
GL_INVALID_OPERATION is generated by glReadSamplesSUN, if the read buf‐
fer is not one of GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT,
GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT.
GL_INVALID_OPERATION is generated if glReadSamplesSUN is executed
between the execution of a glBegin and the corresponding execution of
glEnd.
GL_INVALID_OPERATION is generated if glReadSamplesSUN is executed on
any other frame buffer that doesn't support this extension.
SEE ALSO
glWriteSamplesSUN, glReadVideoPixelsSUN, glReadPixels
13 Aug 02 GLREADSAMPLESUN(3gl)