This file is indexed.

/usr/share/qt5/doc/qtdoc/windowsce-opengl.html is in qt5-doc-html 5.2.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- wince-opengl.qdoc -->
  <title>Qt for Windows CE and OpenGL ES | QtDoc 5.2</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
    <div class="main">
    <div class="main-rounded">
        <div class="navigationbar">
        <ul>
<li><a href="index.html">Qt 5.2</a></li>
<li>Qt for Windows CE and OpenGL ES</li>
<li id="buildversion">
Qt 5.2.1 Reference Documentation</li>
    </ul>
    </div>
</div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#introduction">Introduction</a></li>
<li class="level1"><a href="#using-opengl-es-with-qt">Using OpenGL ES with Qt</a></li>
<li class="level1"><a href="#using-opengl-with-qt-for-windows-ce">Using OpenGL with Qt for Windows CE</a></li>
<li class="level2"><a href="#configure">Configure</a></li>
<li class="level2"><a href="#using-opengl-to-accelerate-normal-2d-painting">Using OpenGL to Accelerate Normal 2D Painting</a></li>
</ul>
</div>
<h1 class="title">Qt for Windows CE and OpenGL ES</h1>
<span class="subtitle"></span>
<!-- $$$windowsce-opengl.html-description -->
<div class="descr"> <a name="details"></a>
<a name="introduction"></a>
<h2>Introduction</h2>
<p><a href="http://www.opengl.org">OpenGL</a> is an industry standard API for 2D/3D graphics. It provides a powerful, low-level interface between software and acceleration hardware, and it is operating system and window system independent. <a href="http://www.khronos.org/opengles">OpenGL ES</a> is a subset of the <a href="http://www.opengl.org">OpenGL</a> standard. Because it is designed for use with embedded systems, it has a smaller, more constrained API.</p>
<p><a href="http://www.khronos.org/opengles/1_X">OpenGL ES version 1.x</a> is designed for fixed function hardware, while its successor <a href="http://www.khronos.org/opengles/2_X">OpenGL ES version 2.x</a> is designed for programmable hardware. It is worth noting that there is a significant difference between the two, and that they are not compatible with each other. <a href="../qtopengl/opengl-module.html">OpenGL</a> ES 1.x limits processing to a pre-defined set of fixed options for drawing and lighting objects. <a href="../qtopengl/opengl-module.html">OpenGL</a> 2.x has a significantly shorter graphics pipeline than 1.x&#x2e; Instead of using function transformation and a fragment pipeline, 2.x uses the <a href="http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf">OpenGL ES Shading Language (GLSL ES)</a>. Instead of using the pre-defined functions, the programmer writes small shader programs telling the hardware in detail how to render each object.</p>
<p>The <a href="../qtopengl/qtopengl-index.html">Qt OpenGL</a> module offers classes that make it easy to draw 3D graphics in GUI applications using <a href="../qtopengl/opengl-module.html">OpenGL</a> ES. Qt provides a plugin that integrates both <a href="../qtopengl/opengl-module.html">OpenGL</a> ES versions <a href="http://www.khronos.org/opengles/1_X">1.x</a> and <a href="http://www.khronos.org/opengles/2_X">2.x</a> with Qt for Embedded. However, Qt for Embedded can be adapted to a wide range of <a href="../qtopengl/opengl-module.html">OpenGL</a> versions.</p>
<p>To translate <a href="../qtgui/qpainter.html">QPainter</a> operations into <a href="../qtopengl/opengl-module.html">OpenGL</a> ES calls (there are actually two subclasses, one for <a href="../qtopengl/opengl-module.html">OpenGL</a>/ES 1.1 and another for <a href="../qtopengl/opengl-module.html">OpenGL</a>/ES 2.0), Qt uses a subclass of <a href="../qtgui/qpaintengine.html">QPaintEngine</a>. This specialized paint engine can be used to improve 2D rendering performance on appropriate hardware. It can also overlay controls and decorations onto 3D scenes drawn using <a href="../qtopengl/opengl-module.html">OpenGL</a>.</p>
<a name="using-opengl-es-with-qt"></a>
<h2>Using OpenGL ES with Qt</h2>
<p>To use <a href="../qtopengl/opengl-module.html">OpenGL</a>-enabled widgets in a Qt for Embedded application, all that is required is to subclass <a href="../qtopengl/qglwidget.html">QGLWidget</a> and draw into instances of the subclass with standard <a href="../qtopengl/opengl-module.html">OpenGL</a> functions. The current implementation only supports <a href="../qtopengl/opengl-module.html">OpenGL</a> ES and 2D painting within a <a href="../qtopengl/qglwidget.html">QGLWidget</a>. Using <a href="../qtopengl/opengl-module.html">OpenGL</a> ES to accelerate regular widgets as well as compositing top-level windows with <a href="../qtopengl/opengl-module.html">OpenGL</a> ES are not currently supported. These issues will be addressed in future versions of Qt.</p>
<p><b>Note: </b>The <a href="../qtopengl/opengl-module.html">OpenGL</a> paint engine is not currently supported in regular widgets. However, any application that uses <a href="../qtwidgets/qgraphicsview.html">QGraphicsView</a> can set a <a href="../qtopengl/qglwidget.html">QGLWidget</a> as the viewport and obtain access to the <a href="../qtopengl/opengl-module.html">OpenGL</a> paint engine that way:</p><pre class="cpp"><span class="type"><a href="../qtwidgets/qgraphicsview.html">QGraphicsView</a></span> view(<span class="operator">&amp;</span>scene);
view<span class="operator">.</span>setViewport(<span class="keyword">new</span> <span class="type"><a href="../qtopengl/qglwidget.html">QGLWidget</a></span>());
view<span class="operator">.</span>setHorizontalScrollBarPolicy(<span class="type"><a href="../qtcore/qt.html">Qt</a></span><span class="operator">::</span>ScrollBarAlwaysOff);
view<span class="operator">.</span>setVerticalScrollBarPolicy(<span class="type"><a href="../qtcore/qt.html">Qt</a></span><span class="operator">::</span>ScrollBarAlwaysOff);
view<span class="operator">.</span>setViewportUpdateMode(<span class="type"><a href="../qtwidgets/qgraphicsview.html">QGraphicsView</a></span><span class="operator">::</span>FullViewportUpdate);
view<span class="operator">.</span>setFrameStyle(<span class="number">0</span>);
view<span class="operator">.</span>showFullScreen();</pre>
<p>It is recommended that the <a href="../qtwidgets/qgraphicsview.html#ViewportUpdateMode-enum">QGraphicsView::FullViewportUpdate</a> flag be set because the default double-buffered behavior of <a href="../qtopengl/qglwidget.html">QGLWidget</a> does not support partial updates. It is also recommended that the window be shown full-screen because that usually has the best performance on current <a href="../qtopengl/opengl-module.html">OpenGL</a> ES implementations.</p>
<p>Once a <a href="../qtwidgets/qgraphicsview.html">QGraphicsView</a> has been initialized as above, regular widgets can be added to the canvas using <a href="../qtwidgets/qgraphicsproxywidget.html">QGraphicsProxyWidget</a> if the application requires them.</p>
<p><b>Note: </b><a href="../qtopengl/opengl-module.html">OpenGL</a> ES 2.X does not support PBuffers, so <a href="../qtopengl/qglpixelbuffer.html" class="obsolete">QGLPixelBuffer</a> will not work. In this case, <a href="../qtopengl/qglframebufferobject.html" class="obsolete">QGLFramebufferObject</a> should be used instead. However, <a href="../qtopengl/opengl-module.html">OpenGL</a> ES 1.X does not support Framebuffer objects, with the exception of some <a href="../qtopengl/opengl-module.html">OpenGL</a> ES 1.X extensions. In this case, please use <a href="../qtopengl/qglpixelbuffer.html" class="obsolete">QGLPixelBuffer</a>.</p><p><b>Note: </b>On most embedded hardware, the <a href="../qtopengl/opengl-module.html">OpenGL</a> implementation is actually <a href="http://www.khronos.org/opengles/1_X/">OpenGL/ES 1.1</a> or <a href="http://www.khronos.org/opengles/2_X/">OpenGL/ES 2.0</a>. When painting within a <a href="../qtopengl/qglwidget.html#paintGL">QGLWidget::paintGL</a>() override, it is necessary to limit the application to only the features that are present in the <a href="../qtopengl/opengl-module.html">OpenGL</a>/ES implementation.</p><a name="using-opengl-with-qt-for-windows-ce"></a>
<h2>Using OpenGL with Qt for Windows CE</h2>
<p>Qt for Windows CE uses EGL 1.1 to embed <a href="../qtopengl/opengl-module.html">OpenGL</a> ES windows within the Windows CE window manager.</p>
<a name="configure"></a>
<h3>Configure</h3>
<p>To configure Qt for Windows Mobile 5.0 and <a href="../qtopengl/opengl-module.html">OpenGL</a> ES Common support you can run <tt>configure</tt> like this:</p>
<pre class="cpp">configure <span class="operator">-</span>platform win32<span class="operator">-</span>msvc2005 <span class="operator">-</span>xplatform wincewm50pocket<span class="operator">-</span>msvc2005 <span class="operator">-</span>opengl<span class="operator">-</span>es<span class="operator">-</span>cm</pre>
<p><a href="../qtopengl/opengl-module.html">OpenGL</a> ES includes profiles for floating-point and fixed-point arithmetic. The floating point profile is called <a href="../qtopengl/opengl-module.html">OpenGL</a> ES CM (Common) and the fixed-point profile is called <a href="../qtopengl/opengl-module.html">OpenGL</a> ES CL (Common Lite). The fixed-point profile is no longer supported since Qt 4.7&#x2e;</p>
<p>You can run <tt>configure</tt> with the <tt>-opengl-es-cm</tt> option for the Common profile. Ensure that the <tt>lib</tt> and <tt>includes</tt> paths include the <a href="../qtopengl/opengl-module.html">OpenGL</a> ES headers and libararies from your SDK. The <a href="../qtopengl/opengl-module.html">OpenGL</a> ES lib should be called either <tt>libGLES_CM.lib</tt> for the Common profile.</p>
<p>To start programming with Qt and <a href="../qtopengl/opengl-module.html">OpenGL</a> ES on Windows CE, you can start with the Hello GL ES Example. This example shows how to use <a href="../qtopengl/qglwidget.html">QGLWidget</a> and QGLPainter with <a href="../qtopengl/opengl-module.html">OpenGL</a> ES. It also provides some hints on how to port <a href="../qtopengl/opengl-module.html">OpenGL</a> code to <a href="../qtopengl/opengl-module.html">OpenGL</a> ES.</p>
<a name="using-opengl-to-accelerate-normal-2d-painting"></a>
<h3>Using OpenGL to Accelerate Normal 2D Painting</h3>
<p>Qt provides QOpenGLPaintEngine, a subclass of <a href="../qtgui/qpaintengine.html">QPaintEngine</a> that translates <a href="../qtgui/qpainter.html">QPainter</a> operations into <a href="../qtopengl/opengl-module.html">OpenGL</a> calls. This is especially convenient for drawing text or <a href="../qtgui/qimage.html">QImage</a> objects in an <a href="../qtopengl/opengl-module.html">OpenGL</a> ES context. For further details, refer to the Hello GL ES Example.</p>
</div>
<!-- @@@windowsce-opengl.html -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2013 Digia Plc and/or its
   subsidiaries. Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Digia, Qt and their respective logos are trademarks of Digia Plc     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>