summaryrefslogtreecommitdiffstats
path: root/doc/html/opengl-x11-overlays.html
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-08 12:31:36 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-08 12:31:36 -0600
commitd796c9dd933ab96ec83b9a634feedd5d32e1ba3f (patch)
tree6e3dcca4f77e20ec8966c666aac7c35bd4704053 /doc/html/opengl-x11-overlays.html
downloadtqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.tar.gz
tqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.zip
Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731
Diffstat (limited to 'doc/html/opengl-x11-overlays.html')
-rw-r--r--doc/html/opengl-x11-overlays.html115
1 files changed, 115 insertions, 0 deletions
diff --git a/doc/html/opengl-x11-overlays.html b/doc/html/opengl-x11-overlays.html
new file mode 100644
index 000000000..381582890
--- /dev/null
+++ b/doc/html/opengl-x11-overlays.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/opengl-x11-overlays.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>How to use X11 overlays with the TQt OpenGL extension</title>
+<style type="text/css"><!--
+fn { margin-left: 1cm; text-indent: -1cm; }
+a:link { color: #004faf; text-decoration: none }
+a:visited { color: #672967; text-decoration: none }
+body { background: #ffffff; color: black; }
+--></style>
+</head>
+<body>
+
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr bgcolor="#E5E5E5">
+<td valign=center>
+ <a href="index.html">
+<font color="#004faf">Home</font></a>
+ | <a href="classes.html">
+<font color="#004faf">All&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;Classes</font></a>
+ | <a href="functions.html">
+<font color="#004faf">Functions</font></a>
+</td>
+<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>How to use X11 overlays with the TQt OpenGL extension</h1>
+
+
+
+<p> X11 overlays are a powerful mechanism for drawing
+annotations etc., on top of an image without destroying it, thus saving
+a great deal of image rendering time. For more information, consult the highly
+recommended book <em>OpenGL Programming for the X Window System</em> (Mark
+Kilgard, Addison Wesley Developers Press 1996).
+<p> <b>Warning:</b> From version 5.0 onwards, the TQt OpenGL Extension includes
+direct support for the use of OpenGL overlays. For many uses of
+overlays, this makes the technique described below redundant. See the
+<a href="opengl-overlay-example.html">overlay</a> example program. The
+following is a discussion on how to use non-TQGL widgets in overlay
+planes.
+<p> In the typical case, X11 overlays can easily be used together with the
+current version of TQt and the TQt OpenGL Extension. The following
+retquirements apply:
+<p> <ol type=1>
+<li> Your X server and graphics card/hardware must support overlays.
+For many X servers, overlay support can be turned on with
+a configuration option; consult your X server installation
+documentation.
+<p> <li> Your X server must (be configured to) use an overlay visual as the
+default visual. Most modern X servers do this, since this has the
+added advantage that pop-up menus, overlapping windows etc., will
+<em>not</em> destroy underlying images in the main plane, thereby
+avoiding expensive redraws.
+<p> <li> The best (deepest) visual for OpenGL rendering is in the main
+plane. This is the normal case. Typically, X servers that support
+overlays provide a 24 bit deep TrueColor visual in the main plane,
+and an 8 bit PseudoColor (default) visual in the overlay plane.
+</ol>
+<p> The provided example program <a href="opengl-overlay-example.html">X11
+overlay</a> will check for these and report if anything is wrong.
+See <a href="#x11visuals">About X11 Visuals</a>, below for more
+information.
+<p> <h2> How it works
+</h2>
+<a name="1"></a><p> Given the above, a <a href="qglwidget.html">TQGLWidget</a> will by default use the main plane
+visual, while all other widgets will use the overlay visual. Thus, we
+can place a normal widget on top of the TQGLWidget, and do drawing on
+it, without destroying the image in the OpenGL window. In other words,
+we can use all the drawing capabilities of <a href="qpainter.html">TQPainter</a> to draw the
+annotations, rubberbands, etc. For the typical use of overlays,
+this is much easier than using OpenGL for rendering the annotations.
+<p> An overlay plane has a specific color called the transparent
+color. Pixels drawn in this color will not be visible; instead the
+underlying OpenGL image will show through. In the example program
+<a href="opengl-overlay-example.html">X11 overlay</a>, the file
+<tt>main.cpp</tt> contains a routine that returns a <a href="qcolor.html">TQColor</a> containing the
+transparent color. For the overlay widget, you will typically want to
+set the background color to the transparent color, so that the OpenGL
+image shows through except where explicitly overpainted.
+<p> Note: to use this technique, you must not use the "ManyColor" or
+"TrueColor" ColorSpec for <a href="qapplication.html">TQApplication</a>, because this will force
+the normal TQt widgets to use a TrueColor visual, which will typically
+be in the main plane, not in the overlay plane as desired.
+<p> <a name="x11visuals"></a>
+<h2> About X11 visuals
+</h2>
+<a name="2"></a><p> The utilities directory contains two small programs that can help you
+determine the capabilities of your X server. These programs are from
+the OpenGL book mentioned above, see utilities/NOTICE for copyright
+information. The full set of example programs from this book is
+available at <a href="ftp://ftp.sgi.com/pub/opengl/opengl_for_x/">ftp://ftp.sgi.com/pub/opengl/opengl_for_x/</a>.
+<p> <tt>glxvisuals</tt> will list all the GL-capable visuals the X server
+provides, together with the depth and other GL-specific information
+for each. Note especially the column "lvl"; a number in this column
+means the visual is in an overlay plane.
+<p> <tt>sovinfo</tt> will list all available visuals, and provides special
+transparency information for overlay visuals.
+<p> The <a href="opengl-overlay-example.html">X11 overlay</a> example
+program will output what visual is used for the normal TQt widgets, and
+what visual is used by the <a href="qglwidget.html">TQGLWidget</a>.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 2007
+<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
+<td align=right><div align=right>TQt 3.3.8</div>
+</table></div></address></body>
+</html>