NAME
glXMakeCurrentReadSGI - attach a GLX context to separate
write and read drawables (windows, GLX pixmaps, or GLX
pbuffers)
C SPECIFICATION
Bool glXMakeCurrentReadSGI( Display *dpy,
GLXDrawable drawable,
GLXDrawable readable,
GLXContext ctx )
PARAMETERS
dpy Specifies the connection to the X server.
drawable Specifies a GLX drawable. Must be either an X
window ID or a GLX pixmap ID.
readable Specifies a GLX readable. Must be either an X
window ID or a GLX pixmap ID.
ctx Specifies a GLX rendering context that is to be
attached to drawable.
DESCRIPTION
glXMakeCurrentReadSGI specifies the association of the
current context with a drawable is extended from
glXMakeCurrent to allow separate write and read drawables.
This allows preprocessing of image data in an off screen
window which is then read into the visible window for final
display. Similarly it sets the framework for direct transfer
of video to the GL library, by treating the video as a spe-
cial kind of read drawable (a.k.a, readable).
glXMakeCurrentReadSGI returns True if it succeeds, and False
if it fails.
NOTES
If glXMakeCurrentReadSGI is used to associate two glXDraw-
ables with the current rendering context, glXDrawable draw-
able is used for all OpenGL operations except:
1. Any pixel data that is sourced based on the value of
GL_READ_BUFFER. Note, that accumulation operations use
the value of GL_READ_BUFFER, but are not allowed when
drawable in not identical to readable.
2. Any depth values that are retrieved by glReadPixels,
glCopyPixels, or any OpenGL extension that sources
depth images from the frame buffer in the manner of
glReadPixels and glCopyPixels.
3. Any stencil values that are retrieved by glReadPixels,
glCopyPixels, or any OpenGL extension that sources
stencil images from the frame buffer in the manner of
glReadPixels and glCopyPixels.
These frame buffer values are taken from glXDrawable read-
able.
No error will be generated if the value of GL_READ_BUFFER at
the time the glXMakeCurrentReadSGI call is made does not
correspond to a valid color buffer in readable. Also, no
error due to GL_READ_BUFFER mismatch will be generated by
subsequent calls to any of the operations enumerated above,
but the pixels values used will be undefined until
GL_READ_BUFFER is set to a color buffer that is valid in the
readable. Operations that query the value of GL_READ_BUFFER
(i.e., glGet, glPushAttrib) use the value set last in the
context, independent of whether it is a valid buffer in
readable. Subsequent to a glXMakeCurrentRead call, it is
possible that the GL_READ_BUFFER may be set to a color
buffer that is not valid with respect to the visual of the
context. This also applies to glXMakeCurrent where readable
is replaced by the single drawable parameter to the call.
Error conditions set by glDrawBuffer (even when called
implicitly via glPopAttrib) and by the operations enumerated
above are with respect to color and ancillary buffers avail-
able in readable (i.e., glReadBuffer (GL_BACK_BUFFER) will
generate an error when readable is single buffered, and so
will an operation that tries to source stencil images when
readable does not have a stencil buffer).
Accumulation operations are only allowed when the glXDraw-
bles drawable and readable are identical.
glXMakeCurrentReadSGI may fail if a window or a GLXPixmap as
the readable GLXDrawable refuses to accept the readable
GLXDrawable, or a GLXPbuffer with color, depth, stencil, or
accumulation storage facilities that differ from those of
drawable.
glXMakeCurrentReadSGI may return False if drawable and read-
able cannot exist in framebuffer memory simultaneously.
glXMakeCurrentReadSGI is part of the
GLX_SGI_make_current_read extension, not part of the core
GLX command set. If GLX_SGI_make_current_read is included in
the string returned by glXQueryExtensionsString, extension
GLX_SGI_make_current_read is supported by the connection.
ERRORS
GLXBadDrawable is generated if drawable was not created with
the same X screen and visual as ctx. glXMakeCurrentReadSGI
associates two GLXDrawables with a single GLXContext.
BadMatch is generated if readable was not created with the
same X screen as ctx. The color, depth, stencil, and accumu-
lation buffers of readable need not match the resources of
drawable.
SEE ALSO
glXCreateGLXPixmap, glXMakeCurrent, glXGetCurrentRead-
DrawableSGI, glGet, glPushAttrib, glPopAttrib, glAccum,
glReadPixels, glCopyPixels
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |