XSGIStereoQueryExtension(3X11)
XSGIStereoQueryExtension, XSGIStereoQueryVersion, XSGIQueryStereoMode, XSGISetStereoMode, XSGISetStereoBuffer - X SGI stereo functions
As shipped in IRIX 6.5. First release of IRIX 6.5.
NAME XSGIStereoQueryExtension, XSGIStereoQueryVersion, XSGIQueryStereoMode, XSGISetStereoMode, XSGISetStereoBuffer - X SGI stereo functions SYNTAX #include <X11/extensions/SGIStereo.h> Bool XSGIStereoQueryExtension ( Display * dpy, int * first_event, int * first_error); Status XSGIStereoQueryVersion ( Display * dpy, int * major_version, int * minor_version); int XSGIQueryStereoMode( Display * dpy, Window win); Status XSGISetStereoMode ( Display *dpy, Window win, unsigned short height, unsigned short offset, int mode); Status XSGISetStereoBuffer ( Display *dpy, Window win, int buffer); ARGUMENTS dpy Specifies the connection to the X server. first_event Returns the code of the first custom event type created by the extension. first_error Returns the code of the first custom error defined by the extension. major_version Returns major version number for the extension. minor_version Returns minor version number for the extension. win Specifies the window on whose screen you want to set or inquire the stereo mode. height offset Specify the height of each stereo buffer, and the vertical offset between each stereo buffer. mode Specifies the stereo mode to be set. Valid values are STEREO_OFF (0) to turn off stereo, STEREO_BOTTOM (1) to turn on stereo and use the bottom half of the screen as the primary buffer, STEREO_TOP (2) to turn on stereo and use the top half of the screen as the primary buffer. buffer Identifies which buffer the GL will render to. DESCRIPTION XSGIStereoQueryExtension is used to check whether the X server supports the SGI Stereo extension. If the Stereo extension is present, this routine will return True. If the extension involves additional event types, the base event type code is returned in first_event. Otherwise, zero is returned in first_event. If the extension involves additional error codes, the base error code is returned in first_error. Otherwise, zero is returned. If the SGI Stereo extension is present, you must still query the individual screens to find out if they support the extension, using XSGIQueryStereoMode. XSGIStereoQueryVersion is used to get the version number of the Stereo extension supported by the X server. XSGIQueryStereoMode is used to query the server for the current stereo mode. If the server supports the SGI Stereo extension, but win's screen does not, this routine will return X_STEREO_UNSUPPORTED (-1). If win's screen supports the SGI Stereo extension, this routine will return one of STEREO_OFF (0), STEREO_BOTTOM (1) or STEREO_TOP (2). XSGIQueryStereoMode can generate BadDrawable. XSGISetStereoMode is used to inform the X server that full- screen stereo is being turned on or off. It does not cause the actual video timing to change. Rather, if turning on stereo, this procedure informs the server that all future X rendering is to be duplicated from the primary buffer to the secondary buffer. Calling this procedure also causes the cursor to be restricted to the primary buffer. Non-stereo GL clients will render to the left eye, with the right eye cleared to black. Conversely, if turning off stereo, this procedure informs the server to return to the normal state, with X rendering allowed to the full screen and unrestricting the cursor. If turning on stereo, height and offset describe the height of each stereo buffer and the vertical offset between buffers. Typically, these values should be 492 and 532 respectively. height and offset are ignored if turning off stereo. Stereo is turned off by setting mode to STEREO_OFF (0), and is turned on by setting mode to STEREO_BOTTOM or STEREO_TOP (1 or 2 respectively). Setting mode to STEREO_BOTTOM causes the bottom half of the screen to become the primary buffer, setting it to STEREO_TOP causes the top half of the screen to become the primary buffer. To switch from using the top half of the screen as the primary buffer to using the bottom half of the screen as the primary buffer, XSGISetStereoMode should first be called with mode set to STEREO_OFF. NOTE: The application will not normally call this procedure. Instead, it will call setmonitor, which will update both the X server state and the actual video format. XSGISetStereoMode can generate BadDrawable and BadRequest. XSGISetStereoBuffer is used to inform the X server of which eye buffer the GL will render to next. The first time it's called for a window, it also informs the server that the window is a stereo window. buffer identifies which buffer to set up. Valid values are STEREO_BUFFER_LEFT and STEREO_BUFFER_RIGHT. If stereo mode is turned on (by calling XSGISetStereoMode), a call to XSGISetStereoBuffer will cause the X server to set the clip and window origin appropriately for the GL client. OpenGL applications should call glXWaitGL before calling XSGISetStereoBuffer, to ensure that all GL rendering has completed before switching which buffer to render to. XSGISetStereoBuffer can generate BadDrawable and BadValue errors. Applications calling one of these routines should link with libXext. SEE ALSO setmon, setmonitor, viewport, winset, glXWaitGL