
V
glVisibilityBufferhp
Chapter 20
480
glVisibilityBufferhp
glVisibilityBufferhp
- establish a buffer for Visibility Test results
C Specification
void glVisibilityBufferhp(GLSizei size,
GLboolean *buffer,
GLboolean wait_on_get)
Parameters
size
Specifies the size of buffer (in bytes)
buffer
Returns the Visibility Test results
wait_on_get
Specifies whether a glGet of VISIBILITY_TEST_hp waits for all
Visibility Test data to be returned from the hardware before returning
to the calling program.
Description
glVisibilityBuffer has three arguments: ’buffer’ is a pointer to an array of Boolean, and
’size’ indicates the size of the array. ’buffer’ returns values of GL_TRUE or GL_FALSE
for each Visibility Test issued. A Visibility Test begins when a call is made to
glEnable(GL_VISIBILITY_TEST_hp), and ends when a call is made to either
glDisable(GL_VISIBILITY_TEST_hp), or glNextVisibilityTesthp(). When all Visibility
Tests have been performed, glDisable(GL_VISIBILITY_TEST_hp) should be called,
followed by a call to glGet of GL_VISIBILITY_TEST_hp. Calling glGet causes the
contents of ’buffer’ to be up to date (based on the value of the ’wait_on_get’ parameter,
discussed below). A Visibility Test result of GL_TRUE indicates that some portion of the
primitive(s) rendered during that test were visible. A value of GL_FALSE indicates that
no portion of the primitive(s) rendered during the test was visible.
The third parameter, ’wait_on_get’, is intended to allow for potential optimizations
during Visibility Tests. When Visibility Tests are made, there is often some amount of
latency between the time the request is made and when the answer is available. Once a
glGet of GL_VISIBILITY_TEST_hp is called after
glDisable(GL_VISIBILITY_TEST_hp), there will usually be a short delay (perhaps as
much as 50 microseconds) before the answer is available. If the application would prefer
to wait until the Visibility Test results are available before proceeding, then a value of
GL_TRUE should be specified for the ’wait_on_get’ parameter. If, on the other hand, the
application has some useful work to do during that time, a value of GL_FALSE can be
specified for the ’wait_on_get’ parameter, and glGet will return immediately. However,
’buffer’ is not guaranteed to be defined until some time later. To check to see when the
Visibility Test results are complete, the programmer can look at the data returned by a
glGet of GL_VISIBILITY_TEST_hp. Two Boolean values are returned; The first
indicates whether or not GL_VISIBILITY_TEST_hp is currently enabled. The second
indicates if there are any test results pending. If there are no test results pending, the
programmer may conclude that ’buffer’ is up to date.
Summary of Contents for c3700 - Workstation
Page 9: ...Chapter 1 9 1 A ...
Page 18: ...A glArrayElement Chapter 1 18 glNormalPointer glTexCoordPointer glVertexPointer ...
Page 19: ...Chapter 2 19 2 B ...
Page 40: ...B gluBuild2DMipmaps Chapter 2 40 ...
Page 41: ...Chapter 3 41 3 C ...
Page 49: ...C glXChooseVisual Chapter 3 49 See Also glXCreateContext glXGetConfig ...
Page 73: ...C glCopyPixels Chapter 3 73 glReadBuffer glReadPixels glStencilFunc ...
Page 84: ...C glCopyTexSubImage2D Chapter 3 84 glTexParameter glTexSubImage1D glTexSubImage2D ...
Page 93: ...Chapter 4 93 4 D ...
Page 99: ...D glDeleteTextures Chapter 4 99 glTexImage1D glTexImage2D glTexParameter ...
Page 127: ...Chapter 5 127 5 E ...
Page 148: ...E glEvalPoint Chapter 5 148 ...
Page 149: ...Chapter 6 149 6 F ...
Page 161: ...Chapter 7 161 7 G ...
Page 164: ...G glGenTextures Chapter 7 164 glTexImage1D glTexImage2D glTexParameter ...
Page 207: ...G glGetPointer Chapter 7 207 glSelectBuffer glTexCoordPointer glVertexPointer ...
Page 225: ...Chapter 8 225 8 H ...
Page 228: ...H glHint Chapter 8 228 ...
Page 229: ...Chapter 9 229 9 I ...
Page 248: ...I glIsTexture Chapter 9 248 ...
Page 249: ...Chapter 10 249 10 L ...
Page 256: ...L glLightModel Chapter 10 256 See Also glLight glMaterial ...
Page 271: ...Chapter 11 271 11 M ...
Page 291: ...Chapter 12 291 12 N ...
Page 312: ...N gluNurbsSurface Chapter 12 312 ...
Page 313: ...Chapter 13 313 13 O ...
Page 317: ...Chapter 14 317 14 P ...
Page 360: ...P glPushName Chapter 14 360 See Also glInitNames glLoadName glRenderMode glSelectBuffer ...
Page 362: ...P gluPwlCurve Chapter 14 362 ...
Page 363: ...Chapter 15 363 15 Q ...
Page 372: ...Q glXQueryVersion Chapter 15 372 glXQueryVersion ...
Page 373: ...Chapter 16 373 16 R ...
Page 390: ...R glRotate Chapter 16 390 ...
Page 391: ...Chapter 17 391 17 S ...
Page 397: ...S glScissor Chapter 17 397 See Also glEnable glViewport ...
Page 409: ...Chapter 18 409 18 T ...
Page 448: ...T glTexImage3DEXT Chapter 18 448 glTexGen glTexImage1D glTexImage2D glTexParameter ...
Page 457: ...T glTexSubImage1D Chapter 18 457 glTexImage2D glTexParameter glTexSubImage2D ...
Page 465: ...T glTranslate Chapter 18 465 See Also glMatrixMode glMultMatrix glPushMatrix glScale ...
Page 466: ...T glTranslate Chapter 18 466 ...
Page 467: ...Chapter 19 467 19 U ...
Page 469: ...U gluUnProject Chapter 19 469 See Also glGet gluProject ...
Page 471: ...U glXUseXFont Chapter 19 471 See Also glBitmap glXMakeCurrent ...
Page 472: ...U glXUseXFont Chapter 19 472 ...
Page 473: ...Chapter 20 473 20 V ...
Page 482: ...V glVisibilityBufferhp Chapter 20 482 ...
Page 483: ...Chapter 21 483 21 W ...
Page 486: ...W glXWaitX Chapter 21 486 ...