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-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |