HP j6700 OpenGL Implementation Guide for HP-UX 11.x - Page 19

mixing of OpenGL and Xlib, Xlib rendering does not affect the Z-buffer, so rendering in X

Page 19 highlights

overview of OpenGL mixing of OpenGL and Xlib mixing of OpenGL and Xlib The OpenGL implementation conforms to the specification definition for mixing of Xlib and OpenGL rendering to the same drawable. The following points should be considered when mixing Xlib and OpenGL: • OpenGL and Xlib renderers are implemented through separate pipelines and control streams, thus, rendering synchronization must be performed as necessary by the user's application via the GLX glXWaitX() and glXWaitGL() function calls. • Xlib rendering does not affect the Z-buffer, so rendering in X and then OpenGL would result in the OpenGL rendering replacing the Xlib rendering. This is true if the last OpenGL rendering to the Z-buffer at that location resulted in the depth test passing. Note that mixing Xlib rendering with OpenGL rendering as well as with VMD, when using alpha buffers, can produce unexpected side effects and should be avoided. Chapter 1 17

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62

overview of OpenGL
mixing of OpenGL and Xlib
Chapter 1
17
mixing of OpenGL and Xlib
The OpenGL implementation conforms to the specification definition for
mixing of Xlib and OpenGL rendering to the same drawable. The
following points should be considered when mixing Xlib and OpenGL:
OpenGL and Xlib renderers are implemented through separate
pipelines and control streams, thus, rendering synchronization must
be performed as necessary by the user’s application via the GLX
glXWaitX()
and
glXWaitGL()
function calls.
Xlib rendering does not affect the Z-buffer, so rendering in X and
then OpenGL would result in the OpenGL rendering replacing the
Xlib rendering. This is true if the last OpenGL rendering to the
Z-buffer at that location resulted in the depth test passing.
Note that mixing Xlib rendering with OpenGL rendering as well as with
VMD, when using alpha buffers, can produce unexpected side effects and
should be avoided.