HP c8000 manual Bool hpglXDisplayIsVGLDisplay *dpy, int screen

Page 41

running OpenGL programs

virtual GLX (VGL) mode

OpenGL and Xlib rendering when mixed and sent to the same drawable in VGL mode may behave differently than if a GLX capable X server were used. This is because in VGL mode OpenGL rendering is not strictly bounded by the limits of primitives rendered as is the case when a GLX server is used. In fact, rendering a single GLX primitive can result in repainting the entire drawable. This means that in the VGL mode it may not be safe to rely upon the fact that Xlib and OpenGL render to different regions of the drawable. The best way to avoid this issue is to always perform Xlib rendering after OpenGL rendering.

The glReadPixels routine when used in the VGL mode will return only pixel data rendered via OpenGL. Xlib rendering will not be included.

Because of the way VMD works (rendering to a VM buffer and then displaying the images through X11 protocol), it will behave a bit differently than hardware devices. In particular, since VMD renders to VM buffers, changes to the X11 window will not appear until a buffer swap or a glFlush/glFinish.

A call to glXSwapBuffers is the only approved way to achieve double buffering for VGL visuals. Note that calls made to XdbeSwapBuffers will not work correctly.

A call can be made to:

Bool hpglXDisplayIsVGL(Display *dpy, int screen)

to determine if a particular display connection is operating in VGL mode. The return value is "True" if dpy is VGL; otherwise, the value returned is "False." This is an hp function that is not available on other implementations of OpenGL.

Chapter 3

39

Image 41
Contents OpenGL Implementation Guide Legal Notices Contents Installation and setup Programming hints Contents Overview of OpenGL OpenGL Reference Manual IntroductionHp’s implementation of the OpenGL libraries OpenGL productHp’s implementation of OpenGL Supported operating systems Supported graphics devicesVisual Table for HP Visualize fxe Supported visualsVisual Table for ATI Fire GL T2/X1/X3 Visual support for other graphics devices Stereo Visual Support for HP Fire GL-UXSigchld and the GRM daemon Buffer sharing between multiple processes and threadsBit programming SLS support Sample 64-bit compile and link for 11.x onlyOpenGL Utilities Library GLU Standard OpenGL productInput and output routines OpenGL extensions for the X Window system GLXOpenGL product Mixing of OpenGL and Xlib Gamma correction Visibility test extensions OpenGL extensionsOcclusion extension Occlusion culling code fragmentsEnumerated Types for Occlusion GLHPsupersample extension Rendering details Default visualsEXP and EXP2 fogging Bow-tie quadrilateralsVertices outside of a begin/end pair Index mode ditheringDecomposition of concave quadrilaterals Environment variables New environment variables as of release Switches to the faster double buffering method Installation and setup Installation and setup Verify that OpenGL is on your workstation Verification instructionsIs your system software preloaded with instant ignition? Install OpenGL Installing OpenGLOpenGL Development Environment Filesets for 11.0 Check log file Verify the product OpenGL file structure 64-bit libraries are in a subdirectory OpenGL file structure Chapter Running OpenGL programs Special considerations Virtual GLX VGL modeVisual support for the VGL mode Bool hpglXDisplayIsVGLDisplay *dpy, int screen Running hps implementation of the OpenGL stereo application Running hps implementation of the OpenGL stereo application Running OpenGL programs Compiling and linking programs Subdirectory This Directory Contains OverviewIncluding header files Linking shared libraries Compiling 32-bit and 64-bit applications for OpenGL OpenGL procedure calls Programming hints Programming hints Texture coordinates OpenGL correctness hints4D values OpenGL performance hints Glcompileandexecute modeDisplay list performance Geometric primitivesDraw array set extensions State changes and their effects on display lists TexturesRegular primitive data Selection performance Texture downloading performanceState change High frame rate applications Optimization of lightingOcclusion culling Rescaling normals OpenGL performance hints
Related manuals
Manual 27 pages 63.95 Kb Manual 8 pages 32.71 Kb Manual 89 pages 28.35 Kb