overview of OpenGL

OpenGL extensions

OpenGL extensions

The extensions listed in this section are extensions that Hewlett-Packard has created; that is, in addition to those standard functions described in the OpenGL Programming Guide, OpenGL Reference Manual, and OpenGL Programming for the X Window System.

visibility test extensions

HP supports extensions for visibility testing and occlusion culling.

See the on-line Reference Manual for information on HP’s visibility test extensions, glVisibilityBufferHP and glNextVisibilityTestHP.

occlusion extension

This occlusion culling extension defines a mechanism whereby an application can determine the non-visibility of some set of geometry based on whether an encompassing set of geometry is non-visible. In general, this feature does not guarantee that the target geometry is visible when the test fails, but is accurate with regard to non-visibility.

Typical usage of this feature would include testing the bounding boxes of complex objects for visibility. If the bounding box is not visible, then it is known that the object is not visible and need not be rendered.

occlusion culling code fragments

The following is a sample code segment that shows a simple usage of occlusion culling.

/* Turn off writes to depth and color buffers */ glDepthMask(GL_FALSE);

glColorMask (GL_FALSE, GL_FALSE, GL_FALSE); /* Enable Occlusion Culling test */ glEnable(GL_OCCLUSION_TEST_HP);

for (i=0; i < numParts; i++) {

/* Render your favorite bounding box */ renderBoundingBox(i);

/* If bounding box is visible, render part */ glGetBooleanv(GL_OCCLUSION_RESULT_HP, &result);

Chapter 1

19

Page 21
Image 21
HP c8000 manual OpenGL extensions, Visibility test extensions, Occlusion extension, Occlusion culling code fragments