Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > b3a1f4d91c26f535919e39e25606614a > files > 1767

wt-doc-3.2.3-1.fc18.noarch.rpm

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Wt: Wt::WGLWidget Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Wt
   &#160;<span id="projectnumber">3.2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceWt.html">Wt</a>      </li>
      <li class="navelem"><a class="el" href="classWt_1_1WGLWidget.html">WGLWidget</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Wt::WGLWidget Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Wt::WGLWidget" --><!-- doxytag: inherits="Wt::WInteractWidget" -->
<p>WebGL support class.  
 <a href="classWt_1_1WGLWidget.html#details">More...</a></p>

<p><code>#include &lt;Wt/WGLWidget&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Wt::WGLWidget:</div>
<div class="dyncontent">
<div class="center"><img src="classWt_1_1WGLWidget__inherit__graph.png" border="0" usemap="#Wt_1_1WGLWidget_inherit__map" alt="Inheritance graph"/></div>
<map name="Wt_1_1WGLWidget_inherit__map" id="Wt_1_1WGLWidget_inherit__map">
<area shape="rect" href="classWt_1_1WInteractWidget.html" title="An abstract widget that can receive user&#45;interface interaction." alt="" coords="5,229,149,256"/><area shape="rect" href="classWt_1_1WWebWidget.html" title="A base class for widgets with an HTML counterpart." alt="" coords="13,155,141,181"/><area shape="rect" href="classWt_1_1WWidget.html" title="The abstract base class for a user&#45;interface component." alt="" coords="28,80,127,107"/><area shape="rect" href="classWt_1_1WObject.html" title="A base class for objects that participate in the signal/slot system." alt="" coords="29,5,125,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classWt_1_1WGLWidget-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A client-side JavaScript matrix.  <a href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a5d3425efa2e26e226a67935d096826db">ClientSideRenderer</a> { <a class="el" href="classWt_1_1WGLWidget.html#a5d3425efa2e26e226a67935d096826dba3026bf815fbdf1e1f6049c6e8653e0be">PAINT_GL</a> =  1, 
<a class="el" href="classWt_1_1WGLWidget.html#a5d3425efa2e26e226a67935d096826dba49d7a736e09d5579fa52b840b56efcf8">RESIZE_GL</a> =  2, 
<a class="el" href="classWt_1_1WGLWidget.html#a5d3425efa2e26e226a67935d096826dba4819fd831280292fd1a9d861132434b8">UPDATE_GL</a> =  4
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies what WebGL function needs to be updated.  <a href="classWt_1_1WGLWidget.html#a5d3425efa2e26e226a67935d096826db">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The enourmous GLenum.  <a href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aa6d4034bfecbcbca2190ba1cbdb53fd8">WGLWidget</a> (<a class="el" href="classWt_1_1WContainerWidget.html">WContainerWidget</a> *parent)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a WebGL widget.  <a href="#aa6d4034bfecbcbca2190ba1cbdb53fd8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61a742adcc8fc1f5c71ea679ff276522"></a><!-- doxytag: member="Wt::WGLWidget::~WGLWidget" ref="a61a742adcc8fc1f5c71ea679ff276522" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a61a742adcc8fc1f5c71ea679ff276522">~WGLWidget</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e">initializeGL</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the WebGL state when the widget is first shown.  <a href="#a173846477e42933b8cfd342db5de116e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a">resizeGL</a> (int width, int height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Act on resize events.  <a href="#a81c3bc38f708aec828ea1d1cf698633a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004">paintGL</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the client-side painting function.  <a href="#a867c0405122daeb78dad8a013c91f004"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545">updateGL</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Update state set in <a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a>  <a href="#aac1505244222b8425bbd2f0a36c67545"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a889b8cb36667335045d0886b76d3e1b3">repaintGL</a> (WFlags&lt; <a class="el" href="classWt_1_1WGLWidget.html#a5d3425efa2e26e226a67935d096826db">ClientSideRenderer</a> &gt; which)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Request invocation of resizeGL, paintGL and/or updateGL.  <a href="#a889b8cb36667335045d0886b76d3e1b3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ab6e91b16dfa5e22a6c02cf12c1bbe799">resize</a> (const <a class="el" href="classWt_1_1WLength.html">WLength</a> &amp;width, const <a class="el" href="classWt_1_1WLength.html">WLength</a> &amp;height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resizes the widget.  <a href="#ab6e91b16dfa5e22a6c02cf12c1bbe799"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ae6a073cc4e88ddf5599270b14acb0133">setClientSideLookAtHandler</a> (const <a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a> &amp;m, double lX, double lY, double lZ, double uX, double uY, double uZ, double pitchRate, double yawRate)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a mouse handler to the widget that looks at a given point.  <a href="#ae6a073cc4e88ddf5599270b14acb0133"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a990af8ca034e1f496b3e9f7acaf5c6c4">setClientSideWalkHandler</a> (const <a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a> &amp;m, double frontStep, double rotStep)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a mouse handler to the widget that allows 'walking' in the scene.  <a href="#a990af8ca034e1f496b3e9f7acaf5c6c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#acf46ce2f59e3a57831b1c452d972fce5">setAlternativeContent</a> (<a class="el" href="classWt_1_1WWidget.html">WWidget</a> *alternative)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the content to be displayed when WebGL is not available.  <a href="#acf46ce2f59e3a57831b1c452d972fce5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1JSlot.html">JSlot</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ab44c8692c63dd82a2b5bcf70961319c5">repaintSlot</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A JavaScript slot that repaints the widget when triggered.  <a href="#ab44c8692c63dd82a2b5bcf70961319c5"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">WebGL methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>The WebGL methods are mostly 1-on-1 translated to the identical JavaScript call. You can use the WebGL methods in your <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a>, <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> and <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a> specializations. <a class="el" href="namespaceWt.html" title="The namespace for Wt.">Wt</a> takes care that data, arguments, ... are transfered to the client side and that the equivalent JavaScript WebGL funtion is executed. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a15b69ee8f66146b03f39596926c41f4c">debugger</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to activate an existing texture.  <a href="#a15b69ee8f66146b03f39596926c41f4c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a3adf76ce67f434d6966c639c98953998">activeTexture</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> texture)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to activate an existing texture.  <a href="#a3adf76ce67f434d6966c639c98953998"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#abc8754b8435b1b9ff9e4628574682e88">attachShader</a> (Program program, Shader shader)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to attach a shader to a program.  <a href="#abc8754b8435b1b9ff9e4628574682e88"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a618261b8a88a6ec63e4e825dc86ba859">bindAttribLocation</a> (Program program, unsigned index, const std::string &amp;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to bind an attribute to a given location.  <a href="#a618261b8a88a6ec63e4e825dc86ba859"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af19725ea4e17cb73015f1fe017daab16">bindBuffer</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, Buffer buffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to bind a buffer to a target.  <a href="#af19725ea4e17cb73015f1fe017daab16"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a30d913f9fd9568e611ef9dcbdc13828e">bindFramebuffer</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, Framebuffer framebuffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to bind a frame buffer to a target.  <a href="#a30d913f9fd9568e611ef9dcbdc13828e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a3f619d99145cbea56325b2274fc58cc8">bindRenderbuffer</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, Renderbuffer renderbuffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to bind a render buffer to a target.  <a href="#a3f619d99145cbea56325b2274fc58cc8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af5b7790e850fb70d4e2236f3e2368d1a">bindTexture</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, Texture texture)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to bind a texture to a target.  <a href="#af5b7790e850fb70d4e2236f3e2368d1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#abfe0430556af2b69b1974ed05cfe6ac3">blendColor</a> (double red, double green, double blue, double alpha)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the blending color.  <a href="#abfe0430556af2b69b1974ed05cfe6ac3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a72ba397b13e4a1ea7a8cf3f392153237">blendEquation</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the blending equation.  <a href="#a72ba397b13e4a1ea7a8cf3f392153237"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ad6a0b90c3639981fb97f8f8a2f421e41">blendEquationSeparate</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> modeRGB, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> modeAlpha)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that sets separate blending functions for RGB and alpha.  <a href="#ad6a0b90c3639981fb97f8f8a2f421e41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ade3074a25a1c74dfbbcac27dbd461b42">blendFunc</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> sfactor, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> dfactor)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to configure the blending function.  <a href="#ade3074a25a1c74dfbbcac27dbd461b42"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ac3047e378ef26ed04b355c91721c8f6d">blendFuncSeparate</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> srcRGB, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> dstRGB, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> srcAlpha, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> dstAlpha)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that configures the blending function.  <a href="#ac3047e378ef26ed04b355c91721c8f6d"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Iterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a6957d22f60ef97de57969ecda6ec4b81">bufferDatafv</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, const Iterator begin, const Iterator end, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> usage)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that loads float or double data in a VBO.  <a href="#a6957d22f60ef97de57969ecda6ec4b81"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Iterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a4b35550b474da3b408d2e18401ae87cd">bufferDataiv</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, const Iterator begin, const Iterator end, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> usage, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that updates an existing VBO with new integer data.  <a href="#a4b35550b474da3b408d2e18401ae87cd"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Iterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a61c7396f33c6a39024d47a6f7729897e">bufferSubDatafv</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, unsigned offset, const Iterator begin, const Iterator end)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that updates an existing VBO with new float or double data.  <a href="#a61c7396f33c6a39024d47a6f7729897e"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Iterator &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a003fec2da53a1a7c2130b54ebef3e2e4">bufferSubDataiv</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, unsigned offset, const Iterator begin, Iterator end, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that loads integer data in a VBO.  <a href="#a003fec2da53a1a7c2130b54ebef3e2e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#addcc25de08105c363cc43e442cf52d99">clear</a> (WFlags&lt; <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> &gt; mask)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that clears the given buffers.  <a href="#addcc25de08105c363cc43e442cf52d99"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a4e80c72c4b3f05a199ea9bf2037d28bf">clearColor</a> (double r, double g, double b, double a)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that sets the clear color of the color buffer.  <a href="#a4e80c72c4b3f05a199ea9bf2037d28bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ad81ab5cdaa1ce285bcc694ef9276129c">clearDepth</a> (double depth)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that configures the depth to be set when the depth buffer is cleared.  <a href="#ad81ab5cdaa1ce285bcc694ef9276129c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a4ceeb658e93f6a31deb3fb095218b114">clearStencil</a> (int s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function.  <a href="#a4ceeb658e93f6a31deb3fb095218b114"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a980c3d63dae9852cb520464be428bf1b">colorMask</a> (bool red, bool green, bool blue, bool alpha)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function.  <a href="#a980c3d63dae9852cb520464be428bf1b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a96a9e906dc1da6636e6eb4a8c7f441af">compileShader</a> (Shader shader)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to compile a shader.  <a href="#a96a9e906dc1da6636e6eb4a8c7f441af"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a17179814d71e5f295056795f9c498970">copyTexImage2D</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, int level, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> internalformat, int x, int y, unsigned width, unsigned height, int border)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to copy a texture image.  <a href="#a17179814d71e5f295056795f9c498970"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a235cb115e3874b5a6a8ffd2becc8a449">copyTexSubImage2D</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, int level, int xoffset, int yoffset, int x, int y, unsigned width, unsigned height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that copies a part of a texture image.  <a href="#a235cb115e3874b5a6a8ffd2becc8a449"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Buffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a4840bc58bf91af2cd7ad2457e1909ca1">createBuffer</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that creates an empty VBO.  <a href="#a4840bc58bf91af2cd7ad2457e1909ca1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Framebuffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a7f5e9aa0c2a7bcb28085e8935f16cfea">createFramebuffer</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that creates a frame buffer object.  <a href="#a7f5e9aa0c2a7bcb28085e8935f16cfea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Program&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a02b50faf2228b119fe22b4d282bef5f8">createProgram</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that creates an empty program.  <a href="#a02b50faf2228b119fe22b4d282bef5f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Renderbuffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a1781bee4c124726b4e8d4a5bd41e0053">createRenderbuffer</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that creates a render buffer object.  <a href="#a1781bee4c124726b4e8d4a5bd41e0053"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Shader&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#afddbf886d2cc79a0ed4050a1cfe1af3e">createShader</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> shader)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that creates an empty shader.  <a href="#afddbf886d2cc79a0ed4050a1cfe1af3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Texture&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a1312b2a2ed7810709c98bc2adf72046a">createTexture</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that creates an empty texture.  <a href="#a1312b2a2ed7810709c98bc2adf72046a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">Texture&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a8830082d2a0a7c44eafb519e5392dd24">createTextureAndLoad</a> (const std::string &amp;url)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that creates an image texture.  <a href="#a8830082d2a0a7c44eafb519e5392dd24"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ae3a06231ee36de34f76553bdebb01cca">cullFace</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that configures the backface culling mode.  <a href="#ae3a06231ee36de34f76553bdebb01cca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#adecaf38ce4889c723ec739d550ad1e63">deleteBuffer</a> (Buffer buffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that deletes a VBO.  <a href="#adecaf38ce4889c723ec739d550ad1e63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a42eed19aadb39fa600dd853160cb48e3">deleteFramebuffer</a> (Framebuffer framebuffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that deletes a frame buffer.  <a href="#a42eed19aadb39fa600dd853160cb48e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af547d2c344045beb68cc1b9042f48ce0">deleteProgram</a> (Program program)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that deletes a program.  <a href="#af547d2c344045beb68cc1b9042f48ce0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aa292ba5c6cc8956a68226216b50e3c20">deleteRenderbuffer</a> (Renderbuffer renderbuffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that deletes a render buffer.  <a href="#aa292ba5c6cc8956a68226216b50e3c20"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a3bfbe2e8f5004a01e04718520eab65ce">deleteShader</a> (Shader shader)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that depetes a shader.  <a href="#a3bfbe2e8f5004a01e04718520eab65ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a3486aaa9626e524f5293118c01e81c1f">deleteTexture</a> (Texture texture)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that deletes a texture.  <a href="#a3486aaa9626e524f5293118c01e81c1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ac209744ac0ece438b8b7ffe380799b8a">depthFunc</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> func)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the depth test function.  <a href="#ac209744ac0ece438b8b7ffe380799b8a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a0226f1a5f96d52d27cdd94a5994c7315">depthMask</a> (bool flag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that enables or disables writing to the depth buffer.  <a href="#a0226f1a5f96d52d27cdd94a5994c7315"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aff57f61a4f563882e9460c11fde14c68">depthRange</a> (double zNear, double zFar)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that specifies to what range the normalized [-1,1] z values should match.  <a href="#aff57f61a4f563882e9460c11fde14c68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a1087bacbf24f0c7a82ae69ead7a944cd">detachShader</a> (Program program, Shader shader)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that detaches a shader from a program.  <a href="#a1087bacbf24f0c7a82ae69ead7a944cd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a5a41276a341fa2e3ca86cc10ba1cc4ee">disable</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> cap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to disable features.  <a href="#a5a41276a341fa2e3ca86cc10ba1cc4ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a9d7354d5545939a3818f2feebda36e55">disableVertexAttribArray</a> (AttribLocation index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to disable the vertex attribute array.  <a href="#a9d7354d5545939a3818f2feebda36e55"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aa32b9c73b58e1e33699f4c27cd90cf22">drawArrays</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> mode, int first, unsigned count)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to draw a VBO.  <a href="#aa32b9c73b58e1e33699f4c27cd90cf22"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aaabb0fe26ffdda39fa0381a5e32fcc50">drawElements</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> mode, unsigned count, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> type, unsigned offset)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to draw indexed VBOs.  <a href="#aaabb0fe26ffdda39fa0381a5e32fcc50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aaf3453e58ec98f21349c78dc35f35169">enable</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> cap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to enable features.  <a href="#aaf3453e58ec98f21349c78dc35f35169"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a70614ccf90c76fef8162580905dd6a7b">enableVertexAttribArray</a> (AttribLocation index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to enable the vertex attribute array.  <a href="#a70614ccf90c76fef8162580905dd6a7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a6bc0c8c32f70a72bde9f109106fa3b19">finish</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to wait until given commands are executed.  <a href="#a6bc0c8c32f70a72bde9f109106fa3b19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ad89c117d6a540bec3fb0b1a6fdab6021">flush</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to force execution of GL commands in finite time.  <a href="#ad89c117d6a540bec3fb0b1a6fdab6021"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a833b779a546c7501eb17aabb05888f92">framebufferRenderbuffer</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> attachment, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> renderbuffertarget, Renderbuffer renderbuffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to attach the given renderbuffer to the currently bound frame buffer.  <a href="#a833b779a546c7501eb17aabb05888f92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a7668db734318bee60664bfc369459a49">framebufferTexture2D</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> attachment, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> textarget, Texture texture, int level)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to render directly into a texture image.  <a href="#a7668db734318bee60664bfc369459a49"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a8d6173ea13f95b6212ee165790e31258">frontFace</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that specifies which side of a triangle is the front side.  <a href="#a8d6173ea13f95b6212ee165790e31258"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a9fc7c929fb4bbed2a2ffe6e82f7c9f2e">generateMipmap</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function that generates a set of mipmaps for a texture object.  <a href="#a9fc7c929fb4bbed2a2ffe6e82f7c9f2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">AttribLocation&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a6ceed270b1a7a7b306e047fe6a11003d">getAttribLocation</a> (Program program, const std::string &amp;attrib)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to retrieve an attribute's location in a Program.  <a href="#a6ceed270b1a7a7b306e047fe6a11003d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">UniformLocation&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a0efd916e56562f9721faa3fae4f318ef">getUniformLocation</a> (Program program, const std::string location)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to retrieve a Uniform's location in a Program.  <a href="#a0efd916e56562f9721faa3fae4f318ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a60500634c2080fe460fbb7b900b43869">hint</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to give hints to the render pipeline.  <a href="#a60500634c2080fe460fbb7b900b43869"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a8263d1194622588549f886d6bd286017">lineWidth</a> (double width)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the line width.  <a href="#a8263d1194622588549f886d6bd286017"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a3f2d536b3a2efd7cacf492f37a655f5f">linkProgram</a> (Program program)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to link a program.  <a href="#a3f2d536b3a2efd7cacf492f37a655f5f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a665757917d17c385bf140d05c278e7ba">pixelStorei</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> pname, int param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the pixel storage mode.  <a href="#a665757917d17c385bf140d05c278e7ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a92f0f539294b4e071883a4abb572b1be">polygonOffset</a> (double factor, double units)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to apply modifications to Z values.  <a href="#a92f0f539294b4e071883a4abb572b1be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ae271dd8b086cc11440702a8a19dd4649">renderbufferStorage</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> internalformat, unsigned width, unsigned height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to allocate the appropriate amount of memory for a render buffer.  <a href="#ae271dd8b086cc11440702a8a19dd4649"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a637af34795420250680f9785e86c1044">sampleCoverage</a> (double value, bool invert)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set multisample parameters.  <a href="#a637af34795420250680f9785e86c1044"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a67aa948fdf124ad035a58740b58a6df9">scissor</a> (int x, int y, unsigned width, unsigned height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to define the scissor box.  <a href="#a67aa948fdf124ad035a58740b58a6df9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a2d37dd24f16b6b21fdd00da3795725a6">shaderSource</a> (Shader shader, const std::string &amp;src)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set a shader's source code.  <a href="#a2d37dd24f16b6b21fdd00da3795725a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aa409e924469752c92e843a7ea699c4c6">stencilFunc</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> func, int ref, unsigned mask)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set stencil test parameters.  <a href="#aa409e924469752c92e843a7ea699c4c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a20a9b0307f1fe56ebaf15bb2633b52cb">stencilFuncSeparate</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> face, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> func, int ref, unsigned mask)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set stencil test parameters for front and/or back stencils.  <a href="#a20a9b0307f1fe56ebaf15bb2633b52cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aa8c3c09a8369e13516ca7ab0ffb02e79">stencilMask</a> (unsigned mask)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to control which bits are to be written in the stencil buffer.  <a href="#aa8c3c09a8369e13516ca7ab0ffb02e79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a764074c6a0c12fe196e5ec8de6663142">stencilMaskSeparate</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> face, unsigned mask)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to control which bits are written to the front and/or back stencil buffers.  <a href="#a764074c6a0c12fe196e5ec8de6663142"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af323ad020c915d44166a483b22d9341e">stencilOp</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> fail, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> zfail, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> zpass)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set stencil test actions.  <a href="#af323ad020c915d44166a483b22d9341e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aae0e891dcc8b9ed56385d7fb4ab34263">stencilOpSeparate</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> face, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> fail, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> zfail, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> zpass)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set front and/or back stencil test actions separately.  <a href="#aae0e891dcc8b9ed56385d7fb4ab34263"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a411016f9d4d004026e660e020e124763">texImage2D</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, int level, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> internalformat, unsigned width, unsigned height, int border, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> format)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to reserve space for a 2D texture, without specifying its contents.  <a href="#a411016f9d4d004026e660e020e124763"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aa9ee76bfbb937818824ba434acceacdf">texImage2D</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, int level, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> internalformat, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> format, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> type, <a class="el" href="classWt_1_1WImage.html">WImage</a> *image)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to load a 2D texture from a <a class="el" href="classWt_1_1WImage.html" title="A widget that displays an image.">WImage</a>.  <a href="#aa9ee76bfbb937818824ba434acceacdf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af5ccb81ebcd8e3ff1f765a37656783a6">texImage2D</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, int level, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> internalformat, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> format, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> type, <a class="el" href="classWt_1_1WVideo.html">WVideo</a> *video)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to load a 2D texture from a <a class="el" href="classWt_1_1WVideo.html" title="A video-playing widget.">WVideo</a>.  <a href="#af5ccb81ebcd8e3ff1f765a37656783a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a8e38cabff05317c99a71ba8eb96469a5">texImage2D</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, int level, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> internalformat, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> format, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> type, Texture texture)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to load a 2D texture loaded with <a class="el" href="classWt_1_1WGLWidget.html#a8830082d2a0a7c44eafb519e5392dd24" title="GL function that creates an image texture.">createTextureAndLoad()</a>  <a href="#a8e38cabff05317c99a71ba8eb96469a5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#abac768779ed44759d762a942f1d3c1c1">texParameteri</a> (<a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> target, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> pname, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set texture parameters.  <a href="#abac768779ed44759d762a942f1d3c1c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a6b02c6a2aaa1aaf6802f42ced843cef4">uniform1f</a> (const UniformLocation &amp;location, double x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a6b02c6a2aaa1aaf6802f42ced843cef4"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ad7535bc25e4c88beb98b415aacc8679b">uniform1fv</a> (const UniformLocation &amp;location, const Array *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#ad7535bc25e4c88beb98b415aacc8679b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a16adc3005430e229621e80b20d8bd3b8">uniform1i</a> (const UniformLocation &amp;location, int x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a16adc3005430e229621e80b20d8bd3b8"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af0b9bf48192beb2605cc50b684367dd3">uniform1iv</a> (const UniformLocation &amp;location, const Array *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#af0b9bf48192beb2605cc50b684367dd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a0e99527c91dcb5b580e7eaa22113011f">uniform2f</a> (const UniformLocation &amp;location, double x, double y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a0e99527c91dcb5b580e7eaa22113011f"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a72fc60c637537b5dad56d022b5cac109">uniform2fv</a> (const UniformLocation &amp;location, const Array *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a72fc60c637537b5dad56d022b5cac109"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ac05c454c7f4ce41e3aed8495f27ee322">uniform2i</a> (const UniformLocation &amp;location, int x, int y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#ac05c454c7f4ce41e3aed8495f27ee322"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ab273433bf0f979895b3a1848f5303815">uniform2iv</a> (const UniformLocation &amp;location, const Array *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#ab273433bf0f979895b3a1848f5303815"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a4f6a054f4902cd574b357944fa4205af">uniform3f</a> (const UniformLocation &amp;location, double x, double y, double z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a4f6a054f4902cd574b357944fa4205af"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a1881493bd8f742e3f2bd1318ca78e4f8">uniform3fv</a> (const UniformLocation &amp;location, const Array *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a1881493bd8f742e3f2bd1318ca78e4f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af389d5e9bcd3e0c7af205e6fa4e5c96c">uniform3i</a> (const UniformLocation &amp;location, int x, int y, int z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#af389d5e9bcd3e0c7af205e6fa4e5c96c"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a8ddab6e7d6eedf5930d72f4fbd40a7bb">uniform3iv</a> (const UniformLocation &amp;location, const Array *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a8ddab6e7d6eedf5930d72f4fbd40a7bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a7ba3292d9578808b90c11ff8bb5d6d4e">uniform4f</a> (const UniformLocation &amp;location, double x, double y, double z, double w)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a7ba3292d9578808b90c11ff8bb5d6d4e"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a1806a9f78e2e8a841c4532c3af37afcb">uniform4fv</a> (const UniformLocation &amp;location, const Array *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#a1806a9f78e2e8a841c4532c3af37afcb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ad201c7a916796921e52b74c79a19f43e">uniform4i</a> (const UniformLocation &amp;location, int x, int y, int z, int w)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#ad201c7a916796921e52b74c79a19f43e"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af22b07879a770e4658e43710b0af879e">uniform4iv</a> (const UniformLocation &amp;location, const Array *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform variable of the current program.  <a href="#af22b07879a770e4658e43710b0af879e"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename MatrixType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ae548ac7038de5d0c2136ff228e74d0be">uniformMatrix2fv</a> (const UniformLocation &amp;location, bool transpose, const MatrixType *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform matrix of the current program.  <a href="#ae548ac7038de5d0c2136ff228e74d0be"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ae7c1f90643501b889776d70058e6427a">uniformMatrix2</a> (const UniformLocation &amp;location, const <a class="el" href="classWt_1_1WGenericMatrix.html">WGenericMatrix</a>&lt; T, 2, 2 &gt; &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform matrix of the current program.  <a href="#ae7c1f90643501b889776d70058e6427a"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename MatrixType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a01aac130c2ecbeb1ba94c09c8d7b5d62">uniformMatrix3fv</a> (const UniformLocation &amp;location, bool transpose, const MatrixType *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform matrix of the current program.  <a href="#a01aac130c2ecbeb1ba94c09c8d7b5d62"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a02d05a3896778ef527ecc377b2b2e15e">uniformMatrix3</a> (const UniformLocation &amp;location, const <a class="el" href="classWt_1_1WGenericMatrix.html">WGenericMatrix</a>&lt; T, 3, 3 &gt; &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform matrix of the current program.  <a href="#a02d05a3896778ef527ecc377b2b2e15e"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename MatrixType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#abcecdccd5af839abbc3d8096eb01af19">uniformMatrix4fv</a> (const UniformLocation &amp;location, bool transpose, const MatrixType *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform matrix of the current program.  <a href="#abcecdccd5af839abbc3d8096eb01af19"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a38e393eb7dea9ef06259f79ef3f0f11a">uniformMatrix4</a> (const UniformLocation &amp;location, const <a class="el" href="classWt_1_1WGenericMatrix.html">WGenericMatrix</a>&lt; T, 4, 4 &gt; &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform matrix of the current program.  <a href="#a38e393eb7dea9ef06259f79ef3f0f11a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aa63161958fe1fb5ab60d22b84bec09f5">uniformMatrix4</a> (const UniformLocation &amp;location, const <a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a> &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of a uniform matrix of the current program.  <a href="#aa63161958fe1fb5ab60d22b84bec09f5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a4f29ecdc7c2fd1935ec29d5d953116f0">useProgram</a> (Program program)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the current active shader program.  <a href="#a4f29ecdc7c2fd1935ec29d5d953116f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ad2153bce90cddf7fc459fe4f1329e8fa">validateProgram</a> (Program program)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to validate a program.  <a href="#ad2153bce90cddf7fc459fe4f1329e8fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#abe8a985b723658b7a3ab145b27dea772">vertexAttrib1f</a> (AttribLocation location, double x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of an attribute of the current program.  <a href="#abe8a985b723658b7a3ab145b27dea772"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a450ae02f86e25554ec54f60a4d8bea45">vertexAttrib1fv</a> (AttribLocation location, const Array *values)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of an attribute of the current program.  <a href="#a450ae02f86e25554ec54f60a4d8bea45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af987f03a08db04a7ba2592a3d11d4d9b">vertexAttrib2f</a> (AttribLocation location, double x, double y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of an attribute of the current program.  <a href="#af987f03a08db04a7ba2592a3d11d4d9b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a869409a06cbdf1f7f28dffa0399cbd3c">vertexAttrib2fv</a> (AttribLocation location, const Array *values)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of an attribute of the current program.  <a href="#a869409a06cbdf1f7f28dffa0399cbd3c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ac9ce062f8afa522c395946e18b08cfd4">vertexAttrib3f</a> (AttribLocation location, double x, double y, double z)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of an attribute of the current program.  <a href="#ac9ce062f8afa522c395946e18b08cfd4"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a07ed20ca9986f6153cde90819507422f">vertexAttrib3fv</a> (AttribLocation location, const Array *values)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of an attribute of the current program.  <a href="#a07ed20ca9986f6153cde90819507422f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#af0de2acadf10f24274e1c1fb91b09857">vertexAttrib4f</a> (AttribLocation location, double x, double y, double z, double w)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of an attribute of the current program.  <a href="#af0de2acadf10f24274e1c1fb91b09857"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Array &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a8c5f63c278024ec35740743c05c04b91">vertexAttrib4fv</a> (AttribLocation location, const Array *values)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the value of an attribute of the current program.  <a href="#a8c5f63c278024ec35740743c05c04b91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#aee176b126361862324108eaf2fa8f189">vertexAttribPointer</a> (AttribLocation location, int size, <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> type, bool normalized, unsigned stride, unsigned offset)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to bind a VBO to an attribute.  <a href="#aee176b126361862324108eaf2fa8f189"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a507e325d11e91fda58285388adf49d81">viewport</a> (int x, int y, unsigned width, unsigned height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GL function to set the viewport.  <a href="#a507e325d11e91fda58285388adf49d81"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Additional WebGL methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These methods are used to render WebGL content, but have no equivalent in WebGL.</p>
<p>Like the WebGL methods, you can use the WebGL methods in your <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a>, <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> and <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a> specializations. It makes no sense to call these methods outside those functions. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f729efd3e92fa137684cabbfb469ef8"></a><!-- doxytag: member="Wt::WGLWidget::createJavaScriptMatrix4" ref="a6f729efd3e92fa137684cabbfb469ef8" args="()" -->
<a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a6f729efd3e92fa137684cabbfb469ef8">createJavaScriptMatrix4</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a matrix that can be manipulated in client-side JavaScript. <br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a5c37a7ac888471cc6048d047129a4794"></a><!-- doxytag: member="Wt::WGLWidget::setJavaScriptMatrix4" ref="a5c37a7ac888471cc6048d047129a4794" args="(const JavaScriptMatrix4x4 &amp;jsm, const WGenericMatrix&lt; T, 4, 4 &gt; &amp;m)" -->
template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a5c37a7ac888471cc6048d047129a4794">setJavaScriptMatrix4</a> (const <a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a> &amp;jsm, const <a class="el" href="classWt_1_1WGenericMatrix.html">WGenericMatrix</a>&lt; T, 4, 4 &gt; &amp;m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of a client-side JavaScript matrix created by createJavaScriptMatrix4x4() <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#ae393ebdfa1ca01ffd6c16e198f7220b6">enableClientErrorChecks</a> (bool enable=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">enable client-side error messages (read detailed doc!)  <a href="#ae393ebdfa1ca01ffd6c16e198f7220b6"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WGLWidget.html#a596e6780d7390138d440c2f37bca288f">layoutSizeChanged</a> (int width, int height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual method that indicates a size change.  <a href="#a596e6780d7390138d440c2f37bca288f"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>WebGL support class. </p>
<p>The <a class="el" href="classWt_1_1WGLWidget.html" title="WebGL support class.">WGLWidget</a> class is an interface to the HTML5 WebGL infrastructure. Its implementation started based on the working drafts of the Khronos group, and will be updated as the standard stabilizes. To fully understand WebGL, it is recommended to read the WebGL standard in addition to this documentation.</p>
<p>The most recent version of the WebGL specification can be found here: <a href="https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/WebGL-spec.html">https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/WebGL-spec.html</a></p>
<p>This widget is work in progress. The API may change in the future because of new features, reorganizations or changes in the WebGL draft.</p>
<p>The goal of the <a class="el" href="classWt_1_1WGLWidget.html" title="WebGL support class.">WGLWidget</a> class is to provide a method to render 3D structures in the browser, where rendering and rerendering is normally done at the client side in JavaScript without interaction from the server, in order to obtain a smooth user interaction. Unless the scene requires server-side updates, there is no communication with the server.</p>
<p>The rendering interface resembles to OpenGL ES, the same standard as WebGL is based on. This is a stripped down version of the normal OpenGL as we usually find them on desktops. Many stateful OpenGL features are not present in OpenGL ES: no modelview and camera transformation stacks, no default lighting models, no support for other rendering methods than through VBOs, ... Therefore much existing example code for OpenGL applications and shaders will not work on WebGL without modifications. The 'learning webgl' web site at <a href="http://learningwebgl.com/">http://learningwebgl.com/</a> is a good starting point to get familiar with WebGL.</p>
<p>To use a WGLWidget, you must derive from it and reimplement the painter methods. Usually, you will always need to implement <a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a> and <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a>. Optionally, you may choose to implement <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a> (if your widget does not have a fixed size), and <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a>. If you need to modify the painting methods, a repaint is triggered by calling the <a class="el" href="classWt_1_1WGLWidget.html#a889b8cb36667335045d0886b76d3e1b3" title="Request invocation of resizeGL, paintGL and/or updateGL.">repaintGL()</a> method. The default behaviour for any of these four painting functions is to do nothing.</p>
<p>The four painter methods (<a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a>, <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a>, <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> and <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a>) all record JavaScript which is sent to the browser. The JavaScript code of <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> is cached client-side, and may be executed many times, e.g. to repaint a scene from different viewpoints. The JavaScript code of <a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a>, <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a> and <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a> are intended for OpenGL state updates, and is therefore only executed once on the client and is then discarded.</p>
<p>There are four painting methods that you may implement in a specialization of this class. The purpose of these functions is to register what JavaScript code has to be executed to render a scene. Through invocations of the WebGL functions documented below, <a class="el" href="namespaceWt.html" title="The namespace for Wt.">Wt</a> records the JavaScript calls that have to be invoked in the browser. </p>
<ul>
<li>
<b><a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a></b>: this function is executed only once, right after the successful detection of WebGL in the browser. (note: in future versions, it may be re-executed when the webglcontextlost signal is fired, but this is currently not yet implemented). This is the ideal location to compose shader programs, send VBO's to the client, extract uniform and attribute locations, ... Due to the presence of VBO's, this function may generate a large amount of data to the client. </li>
<li>
<b><a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a></b>: this function is executed whenever the canvas dimensions change. A change in canvas size will require you to invoke the <a class="el" href="classWt_1_1WGLWidget.html#a507e325d11e91fda58285388adf49d81" title="GL function to set the viewport.">viewport()</a> function again, as well as recalculate the projection matrices (especially when the aspect ratio has changed). The <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a> function is therefore the ideal location to set those properties. The <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a> function is invoked automatically on every resize, and after the first <a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a> invocation. Additional invocations may be triggered by calling repaint() with the RESIZE_GL flag. </li>
<li>
<b><a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a></b>: this is the main scene drawing function. Through its execution, <a class="el" href="namespaceWt.html" title="The namespace for Wt.">Wt</a> records what has to be done to render a scene, and it is executed every time that the scene is to be redrawn. You can use the VBO's and shaders prepared in the <a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a> phase. Usually, this function sets uniforms and attributes, links attributes to VBO's, applies textures, and draws primitives. You may also create local programs, buffers, ... Remeber that this function is executed a lot of times, so every buffer/program created in this function should also be destroyed to avoid memory leaks. This function is transmitted once to the client, and is executed when the scene needs to be redrawn. Redraws may be triggered from mouse events, timer triggers, events on e.g. a video element, or whatever other event. The <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> function can be updated through invoking <a class="el" href="classWt_1_1WGLWidget.html#a889b8cb36667335045d0886b76d3e1b3" title="Request invocation of resizeGL, paintGL and/or updateGL.">repaintGL()</a> with the PAINT_GL flag. </li>
<li>
<b><a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a></b>: VBO's, programs, uniforms, GL properties, or anything else set during intializeGL() are not necessarily immutable. If you want to change, add, remove or reconfigure those properties, the execution of an <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a> function can be triggered by invoking <a class="el" href="classWt_1_1WGLWidget.html#a889b8cb36667335045d0886b76d3e1b3" title="Request invocation of resizeGL, paintGL and/or updateGL.">repaintGL()</a> with the UPDATE_GL flag. This signals that <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a> needs to be evaluated - just once. It is possible that the <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> function also requires updates as consequence of the changes in the <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a> function; in this case, you should also set the PAINT_GL flag of <a class="el" href="classWt_1_1WGLWidget.html#a889b8cb36667335045d0886b76d3e1b3" title="Request invocation of resizeGL, paintGL and/or updateGL.">repaintGL()</a>. </li>
</ul>
<p>The WebGL functions are intended to be used exclusively from within the invocation of the four callback functions mentioned above. In order to manually trigger the execution of these function, use the <a class="el" href="classWt_1_1WGLWidget.html#a889b8cb36667335045d0886b76d3e1b3" title="Request invocation of resizeGL, paintGL and/or updateGL.">repaintGL()</a>.</p>
<p>A <a class="el" href="classWt_1_1WGLWidget.html" title="WebGL support class.">WGLWidget</a> must be given a size explicitly, or must be put inside a layout manager that manages its width and height. The behaviour of a <a class="el" href="classWt_1_1WGLWidget.html" title="WebGL support class.">WGLWidget</a> that was not given a size is undefined.</p>
<h3>Client side matrices.</h3>
<p>The <a class="el" href="classWt_1_1WGLWidget.html" title="WebGL support class.">WGLWidget</a> provides the <a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html" title="A client-side JavaScript matrix.">WGLWidget::JavaScriptMatrix4x4</a> class as a mechanism to use client-side modifiable matrices in the render functions. These matrices can be used identically to the 'constant', with the advantage that there is no need to have a roundtrip to the server to redraw the scene when they are changed. As such, they are ideal for mouse-based camera manipulations, timer triggered animations, or object manipulations.</p>
<p>Note: the client side matrices are currently not yet communicated back to the server, but that is an implementation idea for the future. </p>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a5d3425efa2e26e226a67935d096826db"></a><!-- doxytag: member="Wt::WGLWidget::ClientSideRenderer" ref="a5d3425efa2e26e226a67935d096826db" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classWt_1_1WGLWidget.html#a5d3425efa2e26e226a67935d096826db">Wt::WGLWidget::ClientSideRenderer</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Specifies what WebGL function needs to be updated. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a5d3425efa2e26e226a67935d096826dba3026bf815fbdf1e1f6049c6e8653e0be"></a><!-- doxytag: member="PAINT_GL" ref="a5d3425efa2e26e226a67935d096826dba3026bf815fbdf1e1f6049c6e8653e0be" args="" -->PAINT_GL</em>&nbsp;</td><td>
<p>refresh <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a5d3425efa2e26e226a67935d096826dba49d7a736e09d5579fa52b840b56efcf8"></a><!-- doxytag: member="RESIZE_GL" ref="a5d3425efa2e26e226a67935d096826dba49d7a736e09d5579fa52b840b56efcf8" args="" -->RESIZE_GL</em>&nbsp;</td><td>
<p>refresh <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a5d3425efa2e26e226a67935d096826dba4819fd831280292fd1a9d861132434b8"></a><!-- doxytag: member="UPDATE_GL" ref="a5d3425efa2e26e226a67935d096826dba4819fd831280292fd1a9d861132434b8" args="" -->UPDATE_GL</em>&nbsp;</td><td>
<p>refresh <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a> </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ae94560816975bedd91b9d63fc4b710a8"></a><!-- doxytag: member="Wt::WGLWidget::GLenum" ref="ae94560816975bedd91b9d63fc4b710a8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">Wt::WGLWidget::GLenum</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The enourmous GLenum. </p>
<p>This enum contains all numeric constants defined by the WebGL standard. </p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa6d4034bfecbcbca2190ba1cbdb53fd8"></a><!-- doxytag: member="Wt::WGLWidget::WGLWidget" ref="aa6d4034bfecbcbca2190ba1cbdb53fd8" args="(WContainerWidget *parent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::WGLWidget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WContainerWidget.html">WContainerWidget</a> *&#160;</td>
          <td class="paramname"><em>parent</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct a WebGL widget. </p>
<p>Before the first rendering, you must apply a size to the <a class="el" href="classWt_1_1WGLWidget.html" title="WebGL support class.">WGLWidget</a>.</p>
<p>/code /endcode </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a3adf76ce67f434d6966c639c98953998"></a><!-- doxytag: member="Wt::WGLWidget::activeTexture" ref="a3adf76ce67f434d6966c639c98953998" args="(GLenum texture)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::activeTexture </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>texture</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to activate an existing texture. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glActiveTexture.xml">glActiveTexture() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="abc8754b8435b1b9ff9e4628574682e88"></a><!-- doxytag: member="Wt::WGLWidget::attachShader" ref="abc8754b8435b1b9ff9e4628574682e88" args="(Program program, Shader shader)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::attachShader </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Shader&#160;</td>
          <td class="paramname"><em>shader</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to attach a shader to a program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glAttachShader.xml">glAttachShader() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a618261b8a88a6ec63e4e825dc86ba859"></a><!-- doxytag: member="Wt::WGLWidget::bindAttribLocation" ref="a618261b8a88a6ec63e4e825dc86ba859" args="(Program program, unsigned index, const std::string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::bindAttribLocation </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to bind an attribute to a given location. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBindAttribLocation.xml">glBindAttribLocation() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af19725ea4e17cb73015f1fe017daab16"></a><!-- doxytag: member="Wt::WGLWidget::bindBuffer" ref="af19725ea4e17cb73015f1fe017daab16" args="(GLenum target, Buffer buffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::bindBuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Buffer&#160;</td>
          <td class="paramname"><em>buffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to bind a buffer to a target. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBindBuffer.xml">glBindBuffer() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a30d913f9fd9568e611ef9dcbdc13828e"></a><!-- doxytag: member="Wt::WGLWidget::bindFramebuffer" ref="a30d913f9fd9568e611ef9dcbdc13828e" args="(GLenum target, Framebuffer framebuffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::bindFramebuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Framebuffer&#160;</td>
          <td class="paramname"><em>framebuffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to bind a frame buffer to a target. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBindFramebuffer.xml">glBindFramebuffer() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a3f619d99145cbea56325b2274fc58cc8"></a><!-- doxytag: member="Wt::WGLWidget::bindRenderbuffer" ref="a3f619d99145cbea56325b2274fc58cc8" args="(GLenum target, Renderbuffer renderbuffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::bindRenderbuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Renderbuffer&#160;</td>
          <td class="paramname"><em>renderbuffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to bind a render buffer to a target. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBindRenderbuffer.xml">glBindRenderbuffer() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af5b7790e850fb70d4e2236f3e2368d1a"></a><!-- doxytag: member="Wt::WGLWidget::bindTexture" ref="af5b7790e850fb70d4e2236f3e2368d1a" args="(GLenum target, Texture texture)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::bindTexture </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Texture&#160;</td>
          <td class="paramname"><em>texture</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to bind a texture to a target. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBindTexture.xml">glBindTexture() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="abfe0430556af2b69b1974ed05cfe6ac3"></a><!-- doxytag: member="Wt::WGLWidget::blendColor" ref="abfe0430556af2b69b1974ed05cfe6ac3" args="(double red, double green, double blue, double alpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::blendColor </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>blue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>alpha</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the blending color. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBlendColor.xml">glBlendColor() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a72ba397b13e4a1ea7a8cf3f392153237"></a><!-- doxytag: member="Wt::WGLWidget::blendEquation" ref="a72ba397b13e4a1ea7a8cf3f392153237" args="(GLenum mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::blendEquation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the blending equation. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBlendEquation.xml">glBlendEquation() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ad6a0b90c3639981fb97f8f8a2f421e41"></a><!-- doxytag: member="Wt::WGLWidget::blendEquationSeparate" ref="ad6a0b90c3639981fb97f8f8a2f421e41" args="(GLenum modeRGB, GLenum modeAlpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::blendEquationSeparate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>modeRGB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>modeAlpha</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that sets separate blending functions for RGB and alpha. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBlendEquationSeparate.xml">glBlendEquationSeparate() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ade3074a25a1c74dfbbcac27dbd461b42"></a><!-- doxytag: member="Wt::WGLWidget::blendFunc" ref="ade3074a25a1c74dfbbcac27dbd461b42" args="(GLenum sfactor, GLenum dfactor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::blendFunc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>sfactor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>dfactor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to configure the blending function. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBlendFunc.xml">glBlendFunc() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ac3047e378ef26ed04b355c91721c8f6d"></a><!-- doxytag: member="Wt::WGLWidget::blendFuncSeparate" ref="ac3047e378ef26ed04b355c91721c8f6d" args="(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::blendFuncSeparate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>srcRGB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>dstRGB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>srcAlpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>dstAlpha</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that configures the blending function. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBlendFuncSeparate.xml">glBlendFuncSeparate() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a6957d22f60ef97de57969ecda6ec4b81"></a><!-- doxytag: member="Wt::WGLWidget::bufferDatafv" ref="a6957d22f60ef97de57969ecda6ec4b81" args="(GLenum target, const Iterator begin, const Iterator end, GLenum usage)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Iterator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::bufferDatafv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Iterator&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Iterator&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>usage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that loads float or double data in a VBO. </p>
<p>Unlike the C version, we can't accept a void * here. We must be able to interpret the buffer's data in order to transmit it to the JS side.</p>
<p>Later we may also want versions with strides and offsets to cope with more complex buffer layouts that we typically see on desktop WebGL apps; suggestions to improve this are welcome</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBufferData.xml">glBufferData() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a4b35550b474da3b408d2e18401ae87cd"></a><!-- doxytag: member="Wt::WGLWidget::bufferDataiv" ref="a4b35550b474da3b408d2e18401ae87cd" args="(GLenum target, const Iterator begin, const Iterator end, GLenum usage, GLenum type)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Iterator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::bufferDataiv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Iterator&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Iterator&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>usage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that updates an existing VBO with new integer data. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBufferData.xml">glBufferData() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a61c7396f33c6a39024d47a6f7729897e"></a><!-- doxytag: member="Wt::WGLWidget::bufferSubDatafv" ref="a61c7396f33c6a39024d47a6f7729897e" args="(GLenum target, unsigned offset, const Iterator begin, const Iterator end)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Iterator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::bufferSubDatafv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Iterator&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Iterator&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that updates an existing VBO with new float or double data. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBufferSubData.xml">glBufferSubData() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a003fec2da53a1a7c2130b54ebef3e2e4"></a><!-- doxytag: member="Wt::WGLWidget::bufferSubDataiv" ref="a003fec2da53a1a7c2130b54ebef3e2e4" args="(GLenum target, unsigned offset, const Iterator begin, Iterator end, GLenum type)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Iterator &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::bufferSubDataiv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Iterator&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Iterator&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that loads integer data in a VBO. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glBufferSubData.xml">glBufferSubData() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="addcc25de08105c363cc43e442cf52d99"></a><!-- doxytag: member="Wt::WGLWidget::clear" ref="addcc25de08105c363cc43e442cf52d99" args="(WFlags&lt; GLenum &gt; mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::clear </td>
          <td>(</td>
          <td class="paramtype">WFlags&lt; <a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a> &gt;&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that clears the given buffers. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glClear.xml">glClear() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a4e80c72c4b3f05a199ea9bf2037d28bf"></a><!-- doxytag: member="Wt::WGLWidget::clearColor" ref="a4e80c72c4b3f05a199ea9bf2037d28bf" args="(double r, double g, double b, double a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::clearColor </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that sets the clear color of the color buffer. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glClearColor.xml">glClearColor() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ad81ab5cdaa1ce285bcc694ef9276129c"></a><!-- doxytag: member="Wt::WGLWidget::clearDepth" ref="ad81ab5cdaa1ce285bcc694ef9276129c" args="(double depth)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::clearDepth </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>depth</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that configures the depth to be set when the depth buffer is cleared. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glClearDepthf.xml">glClearDepthf() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a4ceeb658e93f6a31deb3fb095218b114"></a><!-- doxytag: member="Wt::WGLWidget::clearStencil" ref="a4ceeb658e93f6a31deb3fb095218b114" args="(int s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::clearStencil </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glClearStencil.xml">glClearStencil() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a980c3d63dae9852cb520464be428bf1b"></a><!-- doxytag: member="Wt::WGLWidget::colorMask" ref="a980c3d63dae9852cb520464be428bf1b" args="(bool red, bool green, bool blue, bool alpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::colorMask </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>alpha</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glColorMask.xml">glColorMask() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a96a9e906dc1da6636e6eb4a8c7f441af"></a><!-- doxytag: member="Wt::WGLWidget::compileShader" ref="a96a9e906dc1da6636e6eb4a8c7f441af" args="(Shader shader)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::compileShader </td>
          <td>(</td>
          <td class="paramtype">Shader&#160;</td>
          <td class="paramname"><em>shader</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to compile a shader. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glCompileShader.xml">glCompileShader() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a17179814d71e5f295056795f9c498970"></a><!-- doxytag: member="Wt::WGLWidget::copyTexImage2D" ref="a17179814d71e5f295056795f9c498970" args="(GLenum target, int level, GLenum internalformat, int x, int y, unsigned width, unsigned height, int border)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::copyTexImage2D </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>internalformat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>border</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to copy a texture image. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glCopyTexImage2D.xml">glCopyTexImage2D() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a235cb115e3874b5a6a8ffd2becc8a449"></a><!-- doxytag: member="Wt::WGLWidget::copyTexSubImage2D" ref="a235cb115e3874b5a6a8ffd2becc8a449" args="(GLenum target, int level, int xoffset, int yoffset, int x, int y, unsigned width, unsigned height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::copyTexSubImage2D </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>xoffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>yoffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that copies a part of a texture image. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glCopyTexSubImage2D.xml">glCopyTexSubImage2D() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a4840bc58bf91af2cd7ad2457e1909ca1"></a><!-- doxytag: member="Wt::WGLWidget::createBuffer" ref="a4840bc58bf91af2cd7ad2457e1909ca1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::Buffer WGLWidget::createBuffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that creates an empty VBO. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glGenBuffers.xml">glGenBuffers() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a7f5e9aa0c2a7bcb28085e8935f16cfea"></a><!-- doxytag: member="Wt::WGLWidget::createFramebuffer" ref="a7f5e9aa0c2a7bcb28085e8935f16cfea" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::Framebuffer WGLWidget::createFramebuffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that creates a frame buffer object. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glGenFramebuffers.xml">glGenFramebuffers() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a02b50faf2228b119fe22b4d282bef5f8"></a><!-- doxytag: member="Wt::WGLWidget::createProgram" ref="a02b50faf2228b119fe22b4d282bef5f8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::Program WGLWidget::createProgram </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that creates an empty program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glCreateProgram.xml">glCreateProgram() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a1781bee4c124726b4e8d4a5bd41e0053"></a><!-- doxytag: member="Wt::WGLWidget::createRenderbuffer" ref="a1781bee4c124726b4e8d4a5bd41e0053" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::Renderbuffer WGLWidget::createRenderbuffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that creates a render buffer object. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glGenRenderbuffers.xml">glGenRenderbuffers() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="afddbf886d2cc79a0ed4050a1cfe1af3e"></a><!-- doxytag: member="Wt::WGLWidget::createShader" ref="afddbf886d2cc79a0ed4050a1cfe1af3e" args="(GLenum shader)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::Shader WGLWidget::createShader </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>shader</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that creates an empty shader. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glCreateShader.xml">glCreateShader() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a1312b2a2ed7810709c98bc2adf72046a"></a><!-- doxytag: member="Wt::WGLWidget::createTexture" ref="a1312b2a2ed7810709c98bc2adf72046a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::Texture WGLWidget::createTexture </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that creates an empty texture. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glGenTextures.xml">glGenTextures() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a8830082d2a0a7c44eafb519e5392dd24"></a><!-- doxytag: member="Wt::WGLWidget::createTextureAndLoad" ref="a8830082d2a0a7c44eafb519e5392dd24" args="(const std::string &amp;url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::Texture WGLWidget::createTextureAndLoad </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>url</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that creates an image texture. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glGenTextures.xml">glGenTextures() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ae3a06231ee36de34f76553bdebb01cca"></a><!-- doxytag: member="Wt::WGLWidget::cullFace" ref="ae3a06231ee36de34f76553bdebb01cca" args="(GLenum mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::cullFace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that configures the backface culling mode. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glCullFace.xml">glCullFace() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a15b69ee8f66146b03f39596926c41f4c"></a><!-- doxytag: member="Wt::WGLWidget::debugger" ref="a15b69ee8f66146b03f39596926c41f4c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::debugger </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to activate an existing texture. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glActiveTexture.xml">glActiveTexture() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="adecaf38ce4889c723ec739d550ad1e63"></a><!-- doxytag: member="Wt::WGLWidget::deleteBuffer" ref="adecaf38ce4889c723ec739d550ad1e63" args="(Buffer buffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::deleteBuffer </td>
          <td>(</td>
          <td class="paramtype">Buffer&#160;</td>
          <td class="paramname"><em>buffer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that deletes a VBO. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDeleteBuffers.xml">glDeleteBuffers() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a42eed19aadb39fa600dd853160cb48e3"></a><!-- doxytag: member="Wt::WGLWidget::deleteFramebuffer" ref="a42eed19aadb39fa600dd853160cb48e3" args="(Framebuffer framebuffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::deleteFramebuffer </td>
          <td>(</td>
          <td class="paramtype">Framebuffer&#160;</td>
          <td class="paramname"><em>framebuffer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that deletes a frame buffer. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDeleteFramebuffers.xml">glDeleteFramebuffers() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af547d2c344045beb68cc1b9042f48ce0"></a><!-- doxytag: member="Wt::WGLWidget::deleteProgram" ref="af547d2c344045beb68cc1b9042f48ce0" args="(Program program)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::deleteProgram </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that deletes a program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDeleteProgram.xml">glDeleteProgram() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aa292ba5c6cc8956a68226216b50e3c20"></a><!-- doxytag: member="Wt::WGLWidget::deleteRenderbuffer" ref="aa292ba5c6cc8956a68226216b50e3c20" args="(Renderbuffer renderbuffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::deleteRenderbuffer </td>
          <td>(</td>
          <td class="paramtype">Renderbuffer&#160;</td>
          <td class="paramname"><em>renderbuffer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that deletes a render buffer. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDeleteRenderbuffers.xml">glDeleteRenderbuffers() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a3bfbe2e8f5004a01e04718520eab65ce"></a><!-- doxytag: member="Wt::WGLWidget::deleteShader" ref="a3bfbe2e8f5004a01e04718520eab65ce" args="(Shader shader)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::deleteShader </td>
          <td>(</td>
          <td class="paramtype">Shader&#160;</td>
          <td class="paramname"><em>shader</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that depetes a shader. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDeleteShader.xml">glDeleteShader() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a3486aaa9626e524f5293118c01e81c1f"></a><!-- doxytag: member="Wt::WGLWidget::deleteTexture" ref="a3486aaa9626e524f5293118c01e81c1f" args="(Texture texture)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::deleteTexture </td>
          <td>(</td>
          <td class="paramtype">Texture&#160;</td>
          <td class="paramname"><em>texture</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that deletes a texture. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDeleteTextures.xml">glDeleteTextures() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ac209744ac0ece438b8b7ffe380799b8a"></a><!-- doxytag: member="Wt::WGLWidget::depthFunc" ref="ac209744ac0ece438b8b7ffe380799b8a" args="(GLenum func)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::depthFunc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>func</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the depth test function. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDepthFunc.xml">glDepthFunc() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a0226f1a5f96d52d27cdd94a5994c7315"></a><!-- doxytag: member="Wt::WGLWidget::depthMask" ref="a0226f1a5f96d52d27cdd94a5994c7315" args="(bool flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::depthMask </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that enables or disables writing to the depth buffer. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDepthMask.xml">glDepthMask() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aff57f61a4f563882e9460c11fde14c68"></a><!-- doxytag: member="Wt::WGLWidget::depthRange" ref="aff57f61a4f563882e9460c11fde14c68" args="(double zNear, double zFar)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::depthRange </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>zNear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>zFar</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that specifies to what range the normalized [-1,1] z values should match. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDepthRangef.xml">glDepthRangef() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a1087bacbf24f0c7a82ae69ead7a944cd"></a><!-- doxytag: member="Wt::WGLWidget::detachShader" ref="a1087bacbf24f0c7a82ae69ead7a944cd" args="(Program program, Shader shader)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::detachShader </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Shader&#160;</td>
          <td class="paramname"><em>shader</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that detaches a shader from a program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDetachShader.xml">glDetachShader() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a5a41276a341fa2e3ca86cc10ba1cc4ee"></a><!-- doxytag: member="Wt::WGLWidget::disable" ref="a5a41276a341fa2e3ca86cc10ba1cc4ee" args="(GLenum cap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::disable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>cap</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to disable features. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDisable.xml">glDisable() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a9d7354d5545939a3818f2feebda36e55"></a><!-- doxytag: member="Wt::WGLWidget::disableVertexAttribArray" ref="a9d7354d5545939a3818f2feebda36e55" args="(AttribLocation index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::disableVertexAttribArray </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to disable the vertex attribute array. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDisableVertexAttribArray.xml">glDisableVertexAttribArray() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aa32b9c73b58e1e33699f4c27cd90cf22"></a><!-- doxytag: member="Wt::WGLWidget::drawArrays" ref="aa32b9c73b58e1e33699f4c27cd90cf22" args="(GLenum mode, int first, unsigned count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::drawArrays </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to draw a VBO. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDrawArrays.xml">glDrawArrays() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aaabb0fe26ffdda39fa0381a5e32fcc50"></a><!-- doxytag: member="Wt::WGLWidget::drawElements" ref="aaabb0fe26ffdda39fa0381a5e32fcc50" args="(GLenum mode, unsigned count, GLenum type, unsigned offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::drawElements </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to draw indexed VBOs. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glDrawElements.xml">glDrawElements() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aaf3453e58ec98f21349c78dc35f35169"></a><!-- doxytag: member="Wt::WGLWidget::enable" ref="aaf3453e58ec98f21349c78dc35f35169" args="(GLenum cap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::enable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>cap</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to enable features. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glEnable.xml">glEnable() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ae393ebdfa1ca01ffd6c16e198f7220b6"></a><!-- doxytag: member="Wt::WGLWidget::enableClientErrorChecks" ref="ae393ebdfa1ca01ffd6c16e198f7220b6" args="(bool enable=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void Wt::WGLWidget::enableClientErrorChecks </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em> = <code>true</code></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>enable client-side error messages (read detailed doc!) </p>
<p>This option will add client-side code to check the result of every WebGL call, and will popup an error dialog if a WebGL call returned an error. The JavaScript then invokes the client-side debugger. This code is intended to test your application, and should not be used in production.</p>
<p>Note that this option will not have any effect unless both <a class="el" href="namespaceWt.html" title="The namespace for Wt.">Wt</a> and your application is built with WT_WGLWIDGET_DEBUG defined. </p>

</div>
</div>
<a class="anchor" id="a70614ccf90c76fef8162580905dd6a7b"></a><!-- doxytag: member="Wt::WGLWidget::enableVertexAttribArray" ref="a70614ccf90c76fef8162580905dd6a7b" args="(AttribLocation index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::enableVertexAttribArray </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to enable the vertex attribute array. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glEnableVertexAttribArray.xml">glEnableVertexAttribArray() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a6bc0c8c32f70a72bde9f109106fa3b19"></a><!-- doxytag: member="Wt::WGLWidget::finish" ref="a6bc0c8c32f70a72bde9f109106fa3b19" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::finish </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to wait until given commands are executed. </p>
<p>This call is transfered to JS, but the server will never wait on this call.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glFinish.xml">glFinish() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ad89c117d6a540bec3fb0b1a6fdab6021"></a><!-- doxytag: member="Wt::WGLWidget::flush" ref="ad89c117d6a540bec3fb0b1a6fdab6021" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::flush </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to force execution of GL commands in finite time. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glFlush.xml">glFlush() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a833b779a546c7501eb17aabb05888f92"></a><!-- doxytag: member="Wt::WGLWidget::framebufferRenderbuffer" ref="a833b779a546c7501eb17aabb05888f92" args="(GLenum target, GLenum attachment, GLenum renderbuffertarget, Renderbuffer renderbuffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::framebufferRenderbuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>attachment</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>renderbuffertarget</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Renderbuffer&#160;</td>
          <td class="paramname"><em>renderbuffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to attach the given renderbuffer to the currently bound frame buffer. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glFramebufferRenderbuffer.xml">glFramebufferRenderbuffer() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a7668db734318bee60664bfc369459a49"></a><!-- doxytag: member="Wt::WGLWidget::framebufferTexture2D" ref="a7668db734318bee60664bfc369459a49" args="(GLenum target, GLenum attachment, GLenum textarget, Texture texture, int level)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::framebufferTexture2D </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>attachment</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>textarget</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Texture&#160;</td>
          <td class="paramname"><em>texture</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to render directly into a texture image. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glFramebufferTexture2D.xml">glFramebufferTexture2D() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a8d6173ea13f95b6212ee165790e31258"></a><!-- doxytag: member="Wt::WGLWidget::frontFace" ref="a8d6173ea13f95b6212ee165790e31258" args="(GLenum mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::frontFace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that specifies which side of a triangle is the front side. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glFrontFace.xml">glFrontFace() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a9fc7c929fb4bbed2a2ffe6e82f7c9f2e"></a><!-- doxytag: member="Wt::WGLWidget::generateMipmap" ref="a9fc7c929fb4bbed2a2ffe6e82f7c9f2e" args="(GLenum target)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::generateMipmap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function that generates a set of mipmaps for a texture object. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glGenerateMipmap.xml">glGenerateMipmap() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a6ceed270b1a7a7b306e047fe6a11003d"></a><!-- doxytag: member="Wt::WGLWidget::getAttribLocation" ref="a6ceed270b1a7a7b306e047fe6a11003d" args="(Program program, const std::string &amp;attrib)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::AttribLocation WGLWidget::getAttribLocation </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>attrib</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to retrieve an attribute's location in a Program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glGetAttribLocation.xml">glGetAttribLocation() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a0efd916e56562f9721faa3fae4f318ef"></a><!-- doxytag: member="Wt::WGLWidget::getUniformLocation" ref="a0efd916e56562f9721faa3fae4f318ef" args="(Program program, const std::string location)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WGLWidget::UniformLocation WGLWidget::getUniformLocation </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string&#160;</td>
          <td class="paramname"><em>location</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to retrieve a Uniform's location in a Program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glGetUniformLocation.xml">glGetUniformLocation() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a60500634c2080fe460fbb7b900b43869"></a><!-- doxytag: member="Wt::WGLWidget::hint" ref="a60500634c2080fe460fbb7b900b43869" args="(GLenum target, GLenum mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::hint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to give hints to the render pipeline. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glHint.xml">glHint() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a173846477e42933b8cfd342db5de116e"></a><!-- doxytag: member="Wt::WGLWidget::initializeGL" ref="a173846477e42933b8cfd342db5de116e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::initializeGL </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize the WebGL state when the widget is first shown. </p>
<p><a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a> is called once, when the widget is first rendered. It usually creates most of the WebGL related state: shaders, VBOs, uniform locations, ...</p>
<p>If this state is to be updated during the lifetime of the widget, you should specialize the <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a> to accomodate for this.</p>
<p>Note: in a future version, this method will probably also be invoked on contextrestore events. </p>

</div>
</div>
<a class="anchor" id="a596e6780d7390138d440c2f37bca288f"></a><!-- doxytag: member="Wt::WGLWidget::layoutSizeChanged" ref="a596e6780d7390138d440c2f37bca288f" args="(int width, int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::layoutSizeChanged </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Virtual method that indicates a size change. </p>
<p>This method propagates the client-side width and height of the widget when the widget is contained by a layout manager and setLayoutSizeAware(true) was called.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WWidget.html#a4f83592912a7f8fa4fd35dadde78ee74" title="Sets the widget to be aware of its size set by a layout manager.">setLayoutSizeAware()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classWt_1_1WWidget.html#af432588db3d599f89b54121f2ede8d63">Wt::WWidget</a>.</p>

</div>
</div>
<a class="anchor" id="a8263d1194622588549f886d6bd286017"></a><!-- doxytag: member="Wt::WGLWidget::lineWidth" ref="a8263d1194622588549f886d6bd286017" args="(double width)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::lineWidth </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>width</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the line width. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glLineWidth.xml">glLineWidth() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a3f2d536b3a2efd7cacf492f37a655f5f"></a><!-- doxytag: member="Wt::WGLWidget::linkProgram" ref="a3f2d536b3a2efd7cacf492f37a655f5f" args="(Program program)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::linkProgram </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to link a program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glLinkProgram.xml">glLinkProgram() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a867c0405122daeb78dad8a013c91f004"></a><!-- doxytag: member="Wt::WGLWidget::paintGL" ref="a867c0405122daeb78dad8a013c91f004" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::paintGL </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the client-side painting function. </p>
<p>This method is invoked client-side when a repaint is required, i.e. when the <a class="el" href="classWt_1_1WGLWidget.html#ab44c8692c63dd82a2b5bcf70961319c5" title="A JavaScript slot that repaints the widget when triggered.">repaintSlot()</a> (a JavaScript-side <a class="el" href="classWt_1_1JSlot.html" title="A slot that is only implemented in client side JavaScript code.">JSlot</a>) is triggered. Typical examples are: after mouse-based camera movements, after a timed update of a camera or an object's position, after a resize event (<a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a> will also be called then), after an animation event, ... In many cases, this function will be executed client-side many many times.</p>
<p>Using the WebGL functions from this class, you construct a scene. The implementation tracks all JavaScript calls that need to be performed to draw the scenes, and will replay them verbatim on every trigger of the <a class="el" href="classWt_1_1WGLWidget.html#ab44c8692c63dd82a2b5bcf70961319c5" title="A JavaScript slot that repaints the widget when triggered.">repaintSlot()</a>. There are a few mechanisms that may be employed to change what is rendered without updating the <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> cache: </p>
<ul>
<li>
Client-side matrices may be used to change camera viewpoints, manipilate separate object's model transformation matrices, ...  </li>
<li>
Shader sources can be updated without requiring the paint function to be renewed </li>
</ul>
<p>Updating the <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> cache is usually not too expensive; the VBOs, which are large in many cases, are already at the client side, while the <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> code only draws the VBOs. Of course, if you have to draw many separate objects, the <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> JS code may become large and updating is more expensive.</p>
<p>In order to update the <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a> cache, call <a class="el" href="classWt_1_1WGLWidget.html#a889b8cb36667335045d0886b76d3e1b3" title="Request invocation of resizeGL, paintGL and/or updateGL.">repaintGL()</a> with the PAINT_GL parameter, which will cause the invocation of this method. </p>

</div>
</div>
<a class="anchor" id="a665757917d17c385bf140d05c278e7ba"></a><!-- doxytag: member="Wt::WGLWidget::pixelStorei" ref="a665757917d17c385bf140d05c278e7ba" args="(GLenum pname, int param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::pixelStorei </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>pname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the pixel storage mode. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glPixelStorei.xml">glPixelStorei() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a92f0f539294b4e071883a4abb572b1be"></a><!-- doxytag: member="Wt::WGLWidget::polygonOffset" ref="a92f0f539294b4e071883a4abb572b1be" args="(double factor, double units)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::polygonOffset </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>factor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>units</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to apply modifications to Z values. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glPolygonOffset.xml">glPolygonOffset() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ae271dd8b086cc11440702a8a19dd4649"></a><!-- doxytag: member="Wt::WGLWidget::renderbufferStorage" ref="ae271dd8b086cc11440702a8a19dd4649" args="(GLenum target, GLenum internalformat, unsigned width, unsigned height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::renderbufferStorage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>internalformat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to allocate the appropriate amount of memory for a render buffer. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glRenderbufferStorage.xml">glSampleCoverage() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a889b8cb36667335045d0886b76d3e1b3"></a><!-- doxytag: member="Wt::WGLWidget::repaintGL" ref="a889b8cb36667335045d0886b76d3e1b3" args="(WFlags&lt; ClientSideRenderer &gt; which)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::repaintGL </td>
          <td>(</td>
          <td class="paramtype">WFlags&lt; <a class="el" href="classWt_1_1WGLWidget.html#a5d3425efa2e26e226a67935d096826db">ClientSideRenderer</a> &gt;&#160;</td>
          <td class="paramname"><em>which</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Request invocation of resizeGL, paintGL and/or updateGL. </p>
<p>If invoked with PAINT_GL, the client-side cached paint function is updated. If invoked with RESIZE_GL or UPDATE_GL, the code will be executed once.</p>
<p>If invoked with multiple flags set, the order of execution will be <a class="el" href="classWt_1_1WGLWidget.html#aac1505244222b8425bbd2f0a36c67545" title="Update state set in initializeGL()">updateGL()</a>, <a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a>, <a class="el" href="classWt_1_1WGLWidget.html#a867c0405122daeb78dad8a013c91f004" title="Update the client-side painting function.">paintGL()</a>. </p>

</div>
</div>
<a class="anchor" id="ab44c8692c63dd82a2b5bcf70961319c5"></a><!-- doxytag: member="Wt::WGLWidget::repaintSlot" ref="ab44c8692c63dd82a2b5bcf70961319c5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1JSlot.html">JSlot</a>&amp; Wt::WGLWidget::repaintSlot </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A JavaScript slot that repaints the widget when triggered. </p>
<p>This is useful for client-side initiated repaints. You may e.g. use this if you write your own client-side mouse handler, or if you updated a texture, or if you're playing a video texture. </p>

</div>
</div>
<a class="anchor" id="ab6e91b16dfa5e22a6c02cf12c1bbe799"></a><!-- doxytag: member="Wt::WGLWidget::resize" ref="ab6e91b16dfa5e22a6c02cf12c1bbe799" args="(const WLength &amp;width, const WLength &amp;height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::resize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WLength.html">WLength</a> &amp;&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WLength.html">WLength</a> &amp;&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resizes the widget. </p>
<p>Specifies a fixed size for this widget, setting CSS <code>width</code> and <code>height</code> properties. By default a widget has automatic width and height, which sets a size for the widget following CSS rules.</p>
<p>When the widget is not managed by a layout manager, the automatic (natural) size of a widget depends on whether they widget is a <em>block</em> or <em>inline</em> widget:</p>
<ul>
<li>a <em>block</em> widget takes by default the width of the parent, and the height that it needs based on its contents</li>
<li>an <em>inline</em> widget takes the width and height that it needs based on its contents (possibly wrapping over multiple lines). The width and height of an inline widget cannot be changed (by the letter of CSS, although most browsers will react to it in varying ways).</li>
</ul>
<p>When inserted in a layout manager, the size set will be used as a widget's preferred size, but the widget may be given a different size by the layout manager based on available space and stretch factors. The actual size given by a layout manager may be retrieved by making the widget "layout size aware", using <a class="el" href="classWt_1_1WWidget.html#a4f83592912a7f8fa4fd35dadde78ee74" title="Sets the widget to be aware of its size set by a layout manager.">setLayoutSizeAware()</a>. If you have defined a <code>"wtResize()"</code> JavaScript method for the widget, then this method will also be called.</p>
<p>The default width and height of a widget is <a class="el" href="classWt_1_1WLength.html#a0cf39ca4225776879d56ade60320c31a" title="An &#39;auto&#39; length.">WLength::Auto</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WWebWidget.html#a66ea6d827d488a855abc7a36d8d414ca" title="Returns the width.">width()</a>, <a class="el" href="classWt_1_1WWebWidget.html#a890a25fe2e8567525f44c0d2ecf0547b" title="Returns the height.">height()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classWt_1_1WWebWidget.html#a4762c1aa0b5788e54a52270674f21e23">Wt::WWebWidget</a>.</p>

</div>
</div>
<a class="anchor" id="a81c3bc38f708aec828ea1d1cf698633a"></a><!-- doxytag: member="Wt::WGLWidget::resizeGL" ref="a81c3bc38f708aec828ea1d1cf698633a" args="(int width, int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::resizeGL </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Act on resize events. </p>
<p>Usually, this method only contains functions to set the viewport and the projection matrix (as this is aspect ration dependent).</p>
<p><a class="el" href="classWt_1_1WGLWidget.html#a81c3bc38f708aec828ea1d1cf698633a" title="Act on resize events.">resizeGL()</a> is rendered after initializeGL, and whenever widget is resized. After this method finishes, the widget is repainted with the cached client-side paint function. </p>

</div>
</div>
<a class="anchor" id="a637af34795420250680f9785e86c1044"></a><!-- doxytag: member="Wt::WGLWidget::sampleCoverage" ref="a637af34795420250680f9785e86c1044" args="(double value, bool invert)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::sampleCoverage </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>invert</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set multisample parameters. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glSampleCoverage.xml">glSampleCoverage() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a67aa948fdf124ad035a58740b58a6df9"></a><!-- doxytag: member="Wt::WGLWidget::scissor" ref="a67aa948fdf124ad035a58740b58a6df9" args="(int x, int y, unsigned width, unsigned height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::scissor </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to define the scissor box. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glScissor.xml">glScissor() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="acf46ce2f59e3a57831b1c452d972fce5"></a><!-- doxytag: member="Wt::WGLWidget::setAlternativeContent" ref="acf46ce2f59e3a57831b1c452d972fce5" args="(WWidget *alternative)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::setAlternativeContent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WWidget.html">WWidget</a> *&#160;</td>
          <td class="paramname"><em>alternative</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the content to be displayed when WebGL is not available. </p>
<p>If <a class="el" href="namespaceWt.html" title="The namespace for Wt.">Wt</a> cannot create a working WebGL context, this content will be shown to the user. This may be a text explanation, or a pre-rendered image, or a video, a flash movie, ...</p>
<p>The default is a widget that explains to the user that he has no WebGL support. </p>

</div>
</div>
<a class="anchor" id="ae6a073cc4e88ddf5599270b14acb0133"></a><!-- doxytag: member="Wt::WGLWidget::setClientSideLookAtHandler" ref="ae6a073cc4e88ddf5599270b14acb0133" args="(const JavaScriptMatrix4x4 &amp;m, double lX, double lY, double lZ, double uX, double uY, double uZ, double pitchRate, double yawRate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::setClientSideLookAtHandler </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lZ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>uX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>uY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>uZ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>pitchRate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>yawRate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a mouse handler to the widget that looks at a given point. </p>
<p>This will allow a user to change client-side matrix m with the mouse. M is a model transformation matrix, representing the viewpoint of the camera.</p>
<p>Through mouse operations, the camera can be changed by the user, but (lX, lY, lZ) will always be at the center of the display, (uX, uY, uZ) is considered to be the up direction, and the distance of the camera to (lX, lY, lZ) will never change.</p>
<p>Pressing the left mouse button and moving the mouse left/right will rotate the camera around the up (uX, uY, uZ) direction. Moving up/down will tilt the camera (causing it to move up/down to keep the lookpoint centered). The scroll wheel simulates zooming by scaling the scene.</p>
<p>pitchRate and yawRate control how much the camera will move per mouse pixel.</p>
<p>Usually this method is called after setting a camera transformation with a client-side matrix in <a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a>. However, this function may also be called from outside the intializeGL()/paintGL()/updateGL() methods (but not before m was initialized). </p>

</div>
</div>
<a class="anchor" id="a990af8ca034e1f496b3e9f7acaf5c6c4"></a><!-- doxytag: member="Wt::WGLWidget::setClientSideWalkHandler" ref="a990af8ca034e1f496b3e9f7acaf5c6c4" args="(const JavaScriptMatrix4x4 &amp;m, double frontStep, double rotStep)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::setClientSideWalkHandler </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>frontStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>rotStep</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a mouse handler to the widget that allows 'walking' in the scene. </p>
<p>This will allow a user to change client-side matrix m with the mouse. M is a model transformation matrix, representing the viewpoint of the camera.</p>
<p>Through mouse operations, the camera can be changed by the user, as if he is walking around on a plane.</p>
<p>Pressing the left mouse button and moving the mouse left/right will rotate the camera around Y axis. Moving the mouse up/down will move the camera in the Z direction (walking forward/backward). centered).</p>
<p>frontStep and rotStep control how much the camera will move per mouse pixel.</p>
<p>Usually this method is called after setting a camera transformation with a client-side matrix in <a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a>. However, this function may also be called from outside the intializeGL()/paintGL()/updateGL() methods (but not before m was initialized). </p>

</div>
</div>
<a class="anchor" id="a2d37dd24f16b6b21fdd00da3795725a6"></a><!-- doxytag: member="Wt::WGLWidget::shaderSource" ref="a2d37dd24f16b6b21fdd00da3795725a6" args="(Shader shader, const std::string &amp;src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::shaderSource </td>
          <td>(</td>
          <td class="paramtype">Shader&#160;</td>
          <td class="paramname"><em>shader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set a shader's source code. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glShaderSource.xml">glShaderSource() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aa409e924469752c92e843a7ea699c4c6"></a><!-- doxytag: member="Wt::WGLWidget::stencilFunc" ref="aa409e924469752c92e843a7ea699c4c6" args="(GLenum func, int ref, unsigned mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::stencilFunc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ref</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set stencil test parameters. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glStencilFunc.xml">glStencilFunc() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a20a9b0307f1fe56ebaf15bb2633b52cb"></a><!-- doxytag: member="Wt::WGLWidget::stencilFuncSeparate" ref="a20a9b0307f1fe56ebaf15bb2633b52cb" args="(GLenum face, GLenum func, int ref, unsigned mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::stencilFuncSeparate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>face</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ref</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set stencil test parameters for front and/or back stencils. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glStencilFuncSeparate.xml">glStencilFuncSeparate() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aa8c3c09a8369e13516ca7ab0ffb02e79"></a><!-- doxytag: member="Wt::WGLWidget::stencilMask" ref="aa8c3c09a8369e13516ca7ab0ffb02e79" args="(unsigned mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::stencilMask </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to control which bits are to be written in the stencil buffer. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glStencilMask.xml">glStencilMask() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a764074c6a0c12fe196e5ec8de6663142"></a><!-- doxytag: member="Wt::WGLWidget::stencilMaskSeparate" ref="a764074c6a0c12fe196e5ec8de6663142" args="(GLenum face, unsigned mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::stencilMaskSeparate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>face</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to control which bits are written to the front and/or back stencil buffers. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glStencilMaskSeparate.xml">glStencilMaskSeparate() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af323ad020c915d44166a483b22d9341e"></a><!-- doxytag: member="Wt::WGLWidget::stencilOp" ref="af323ad020c915d44166a483b22d9341e" args="(GLenum fail, GLenum zfail, GLenum zpass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::stencilOp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>fail</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>zfail</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>zpass</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set stencil test actions. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glStencilOp.xml">glStencilOp() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aae0e891dcc8b9ed56385d7fb4ab34263"></a><!-- doxytag: member="Wt::WGLWidget::stencilOpSeparate" ref="aae0e891dcc8b9ed56385d7fb4ab34263" args="(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::stencilOpSeparate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>face</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>fail</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>zfail</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>zpass</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set front and/or back stencil test actions separately. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glStencilOpSeparate.xml">glStencilOpSeparate() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a411016f9d4d004026e660e020e124763"></a><!-- doxytag: member="Wt::WGLWidget::texImage2D" ref="a411016f9d4d004026e660e020e124763" args="(GLenum target, int level, GLenum internalformat, unsigned width, unsigned height, int border, GLenum format)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::texImage2D </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>internalformat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>border</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>format</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to reserve space for a 2D texture, without specifying its contents. </p>
<p>This corresponds to calling the WebGL function void texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView pixels) with null as last parameters. The value of 'type' is then of no importance and is therefore omitted from this function.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glTexImage2D.xml">glTexImage2D() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aa9ee76bfbb937818824ba434acceacdf"></a><!-- doxytag: member="Wt::WGLWidget::texImage2D" ref="aa9ee76bfbb937818824ba434acceacdf" args="(GLenum target, int level, GLenum internalformat, GLenum format, GLenum type, WImage *image)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::texImage2D </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>internalformat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WImage.html">WImage</a> *&#160;</td>
          <td class="paramname"><em>image</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to load a 2D texture from a <a class="el" href="classWt_1_1WImage.html" title="A widget that displays an image.">WImage</a>. </p>
<p>Note: <a class="el" href="classWt_1_1WImage.html" title="A widget that displays an image.">WImage</a> must be loaded before this function is executed.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glTexImage2D.xml">glTexImage2D() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af5ccb81ebcd8e3ff1f765a37656783a6"></a><!-- doxytag: member="Wt::WGLWidget::texImage2D" ref="af5ccb81ebcd8e3ff1f765a37656783a6" args="(GLenum target, int level, GLenum internalformat, GLenum format, GLenum type, WVideo *video)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::texImage2D </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>internalformat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WVideo.html">WVideo</a> *&#160;</td>
          <td class="paramname"><em>video</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to load a 2D texture from a <a class="el" href="classWt_1_1WVideo.html" title="A video-playing widget.">WVideo</a>. </p>
<p>Note: the video must be loaded prior to calling this function. The current frame is used as texture image.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glTexImage2D.xml">glTexImage2D() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a8e38cabff05317c99a71ba8eb96469a5"></a><!-- doxytag: member="Wt::WGLWidget::texImage2D" ref="a8e38cabff05317c99a71ba8eb96469a5" args="(GLenum target, int level, GLenum internalformat, GLenum format, GLenum type, Texture texture)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::texImage2D </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>internalformat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Texture&#160;</td>
          <td class="paramname"><em>texture</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to load a 2D texture loaded with <a class="el" href="classWt_1_1WGLWidget.html#a8830082d2a0a7c44eafb519e5392dd24" title="GL function that creates an image texture.">createTextureAndLoad()</a> </p>
<p>This function must only be used for textures created with <a class="el" href="classWt_1_1WGLWidget.html#a8830082d2a0a7c44eafb519e5392dd24" title="GL function that creates an image texture.">createTextureAndLoad()</a></p>
<p>Note: the <a class="el" href="classWt_1_1WGLWidget.html" title="WebGL support class.">WGLWidget</a> implementation will delay rendering until all textures created with <a class="el" href="classWt_1_1WGLWidget.html#a8830082d2a0a7c44eafb519e5392dd24" title="GL function that creates an image texture.">createTextureAndLoad()</a> are loaded in the browser.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glTexImage2D.xml">glTexImage2D() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="abac768779ed44759d762a942f1d3c1c1"></a><!-- doxytag: member="Wt::WGLWidget::texParameteri" ref="abac768779ed44759d762a942f1d3c1c1" args="(GLenum target, GLenum pname, GLenum param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::texParameteri </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>pname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set texture parameters. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glTexParameter.xml">glTexParameter() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a6b02c6a2aaa1aaf6802f42ced843cef4"></a><!-- doxytag: member="Wt::WGLWidget::uniform1f" ref="a6b02c6a2aaa1aaf6802f42ced843cef4" args="(const UniformLocation &amp;location, double x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform1f </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ad7535bc25e4c88beb98b415aacc8679b"></a><!-- doxytag: member="Wt::WGLWidget::uniform1fv" ref="ad7535bc25e4c88beb98b415aacc8679b" args="(const UniformLocation &amp;location, const Array *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform1fv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a16adc3005430e229621e80b20d8bd3b8"></a><!-- doxytag: member="Wt::WGLWidget::uniform1i" ref="a16adc3005430e229621e80b20d8bd3b8" args="(const UniformLocation &amp;location, int x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform1i </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af0b9bf48192beb2605cc50b684367dd3"></a><!-- doxytag: member="Wt::WGLWidget::uniform1iv" ref="af0b9bf48192beb2605cc50b684367dd3" args="(const UniformLocation &amp;location, const Array *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform1iv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a0e99527c91dcb5b580e7eaa22113011f"></a><!-- doxytag: member="Wt::WGLWidget::uniform2f" ref="a0e99527c91dcb5b580e7eaa22113011f" args="(const UniformLocation &amp;location, double x, double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform2f </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a72fc60c637537b5dad56d022b5cac109"></a><!-- doxytag: member="Wt::WGLWidget::uniform2fv" ref="a72fc60c637537b5dad56d022b5cac109" args="(const UniformLocation &amp;location, const Array *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform2fv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ac05c454c7f4ce41e3aed8495f27ee322"></a><!-- doxytag: member="Wt::WGLWidget::uniform2i" ref="ac05c454c7f4ce41e3aed8495f27ee322" args="(const UniformLocation &amp;location, int x, int y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform2i </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ab273433bf0f979895b3a1848f5303815"></a><!-- doxytag: member="Wt::WGLWidget::uniform2iv" ref="ab273433bf0f979895b3a1848f5303815" args="(const UniformLocation &amp;location, const Array *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform2iv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a4f6a054f4902cd574b357944fa4205af"></a><!-- doxytag: member="Wt::WGLWidget::uniform3f" ref="a4f6a054f4902cd574b357944fa4205af" args="(const UniformLocation &amp;location, double x, double y, double z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform3f </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a1881493bd8f742e3f2bd1318ca78e4f8"></a><!-- doxytag: member="Wt::WGLWidget::uniform3fv" ref="a1881493bd8f742e3f2bd1318ca78e4f8" args="(const UniformLocation &amp;location, const Array *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform3fv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af389d5e9bcd3e0c7af205e6fa4e5c96c"></a><!-- doxytag: member="Wt::WGLWidget::uniform3i" ref="af389d5e9bcd3e0c7af205e6fa4e5c96c" args="(const UniformLocation &amp;location, int x, int y, int z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform3i </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a8ddab6e7d6eedf5930d72f4fbd40a7bb"></a><!-- doxytag: member="Wt::WGLWidget::uniform3iv" ref="a8ddab6e7d6eedf5930d72f4fbd40a7bb" args="(const UniformLocation &amp;location, const Array *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform3iv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a7ba3292d9578808b90c11ff8bb5d6d4e"></a><!-- doxytag: member="Wt::WGLWidget::uniform4f" ref="a7ba3292d9578808b90c11ff8bb5d6d4e" args="(const UniformLocation &amp;location, double x, double y, double z, double w)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform4f </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>w</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a1806a9f78e2e8a841c4532c3af37afcb"></a><!-- doxytag: member="Wt::WGLWidget::uniform4fv" ref="a1806a9f78e2e8a841c4532c3af37afcb" args="(const UniformLocation &amp;location, const Array *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform4fv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ad201c7a916796921e52b74c79a19f43e"></a><!-- doxytag: member="Wt::WGLWidget::uniform4i" ref="ad201c7a916796921e52b74c79a19f43e" args="(const UniformLocation &amp;location, int x, int y, int z, int w)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform4i </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>w</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af22b07879a770e4658e43710b0af879e"></a><!-- doxytag: member="Wt::WGLWidget::uniform4iv" ref="af22b07879a770e4658e43710b0af879e" args="(const UniformLocation &amp;location, const Array *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniform4iv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform variable of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ae7c1f90643501b889776d70058e6427a"></a><!-- doxytag: member="Wt::WGLWidget::uniformMatrix2" ref="ae7c1f90643501b889776d70058e6427a" args="(const UniformLocation &amp;location, const WGenericMatrix&lt; T, 2, 2 &gt; &amp;m)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniformMatrix2 </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WGenericMatrix.html">WGenericMatrix</a>&lt; T, 2, 2 &gt; &amp;&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform matrix of the current program. </p>
<p>This function renders the matrix in the proper row/column order.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ae548ac7038de5d0c2136ff228e74d0be"></a><!-- doxytag: member="Wt::WGLWidget::uniformMatrix2fv" ref="ae548ac7038de5d0c2136ff228e74d0be" args="(const UniformLocation &amp;location, bool transpose, const MatrixType *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniformMatrix2fv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>transpose</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MatrixType *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform matrix of the current program. </p>
<p>Attention: The OpenGL ES specification states that transpose MUST be false.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a02d05a3896778ef527ecc377b2b2e15e"></a><!-- doxytag: member="Wt::WGLWidget::uniformMatrix3" ref="a02d05a3896778ef527ecc377b2b2e15e" args="(const UniformLocation &amp;location, const WGenericMatrix&lt; T, 3, 3 &gt; &amp;m)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniformMatrix3 </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WGenericMatrix.html">WGenericMatrix</a>&lt; T, 3, 3 &gt; &amp;&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform matrix of the current program. </p>
<p>This function renders the matrix in the proper row/column order.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a01aac130c2ecbeb1ba94c09c8d7b5d62"></a><!-- doxytag: member="Wt::WGLWidget::uniformMatrix3fv" ref="a01aac130c2ecbeb1ba94c09c8d7b5d62" args="(const UniformLocation &amp;location, bool transpose, const MatrixType *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniformMatrix3fv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>transpose</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MatrixType *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform matrix of the current program. </p>
<p>Attention: The OpenGL ES specification states that transpose MUST be false.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a38e393eb7dea9ef06259f79ef3f0f11a"></a><!-- doxytag: member="Wt::WGLWidget::uniformMatrix4" ref="a38e393eb7dea9ef06259f79ef3f0f11a" args="(const UniformLocation &amp;location, const WGenericMatrix&lt; T, 4, 4 &gt; &amp;m)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniformMatrix4 </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WGenericMatrix.html">WGenericMatrix</a>&lt; T, 4, 4 &gt; &amp;&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform matrix of the current program. </p>
<p>This function renders the matrix in the proper row/column order.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aa63161958fe1fb5ab60d22b84bec09f5"></a><!-- doxytag: member="Wt::WGLWidget::uniformMatrix4" ref="aa63161958fe1fb5ab60d22b84bec09f5" args="(const UniformLocation &amp;location, const JavaScriptMatrix4x4 &amp;m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniformMatrix4 </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WGLWidget_1_1JavaScriptMatrix4x4.html">JavaScriptMatrix4x4</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform matrix of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="abcecdccd5af839abbc3d8096eb01af19"></a><!-- doxytag: member="Wt::WGLWidget::uniformMatrix4fv" ref="abcecdccd5af839abbc3d8096eb01af19" args="(const UniformLocation &amp;location, bool transpose, const MatrixType *value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename MatrixType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::uniformMatrix4fv </td>
          <td>(</td>
          <td class="paramtype">const UniformLocation &amp;&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>transpose</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const MatrixType *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of a uniform matrix of the current program. </p>
<p>Attention: The OpenGL ES specification states that transpose MUST be false.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUniform.xml">glUniform() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aac1505244222b8425bbd2f0a36c67545"></a><!-- doxytag: member="Wt::WGLWidget::updateGL" ref="aac1505244222b8425bbd2f0a36c67545" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::updateGL </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update state set in <a class="el" href="classWt_1_1WGLWidget.html#a173846477e42933b8cfd342db5de116e" title="Initialize the WebGL state when the widget is first shown.">initializeGL()</a> </p>
<p>Invoked when repaint is called with the UPDATE_GL call.</p>
<p>This is intended to be executed when you want to change programs, 'constant' uniforms, or even VBO's, ... without resending already initialized data. It is a mechanism to make changes to what you've set in intializeGL(). For every server-side invocation of this method, the result will be rendered client-side exactly once. </p>

</div>
</div>
<a class="anchor" id="a4f29ecdc7c2fd1935ec29d5d953116f0"></a><!-- doxytag: member="Wt::WGLWidget::useProgram" ref="a4f29ecdc7c2fd1935ec29d5d953116f0" args="(Program program)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::useProgram </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the current active shader program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glUseProgram.xml">glUseProgram() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ad2153bce90cddf7fc459fe4f1329e8fa"></a><!-- doxytag: member="Wt::WGLWidget::validateProgram" ref="ad2153bce90cddf7fc459fe4f1329e8fa" args="(Program program)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::validateProgram </td>
          <td>(</td>
          <td class="paramtype">Program&#160;</td>
          <td class="paramname"><em>program</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to validate a program. </p>
<p>implementation note: there is currently not yet a method to read out the validation result.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glValidateProgram.xml">glValidateProgram() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="abe8a985b723658b7a3ab145b27dea772"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttrib1f" ref="abe8a985b723658b7a3ab145b27dea772" args="(AttribLocation location, double x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::vertexAttrib1f </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of an attribute of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttrib.xml">glVertexAttrib() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a450ae02f86e25554ec54f60a4d8bea45"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttrib1fv" ref="a450ae02f86e25554ec54f60a4d8bea45" args="(AttribLocation location, const Array *values)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::vertexAttrib1fv </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>values</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of an attribute of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttrib.xml">glVertexAttrib() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af987f03a08db04a7ba2592a3d11d4d9b"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttrib2f" ref="af987f03a08db04a7ba2592a3d11d4d9b" args="(AttribLocation location, double x, double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::vertexAttrib2f </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of an attribute of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttrib.xml">glVertexAttrib() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a869409a06cbdf1f7f28dffa0399cbd3c"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttrib2fv" ref="a869409a06cbdf1f7f28dffa0399cbd3c" args="(AttribLocation location, const Array *values)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::vertexAttrib2fv </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>values</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of an attribute of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttrib.xml">glVertexAttrib() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="ac9ce062f8afa522c395946e18b08cfd4"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttrib3f" ref="ac9ce062f8afa522c395946e18b08cfd4" args="(AttribLocation location, double x, double y, double z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::vertexAttrib3f </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of an attribute of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttrib.xml">glVertexAttrib() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a07ed20ca9986f6153cde90819507422f"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttrib3fv" ref="a07ed20ca9986f6153cde90819507422f" args="(AttribLocation location, const Array *values)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::vertexAttrib3fv </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>values</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of an attribute of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttrib.xml">glVertexAttrib() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="af0de2acadf10f24274e1c1fb91b09857"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttrib4f" ref="af0de2acadf10f24274e1c1fb91b09857" args="(AttribLocation location, double x, double y, double z, double w)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::vertexAttrib4f </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>w</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of an attribute of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttrib.xml">glVertexAttrib() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a8c5f63c278024ec35740743c05c04b91"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttrib4fv" ref="a8c5f63c278024ec35740743c05c04b91" args="(AttribLocation location, const Array *values)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Array &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WGLWidget::vertexAttrib4fv </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Array *&#160;</td>
          <td class="paramname"><em>values</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the value of an attribute of the current program. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttrib.xml">glVertexAttrib() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="aee176b126361862324108eaf2fa8f189"></a><!-- doxytag: member="Wt::WGLWidget::vertexAttribPointer" ref="aee176b126361862324108eaf2fa8f189" args="(AttribLocation location, int size, GLenum type, bool normalized, unsigned stride, unsigned offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::vertexAttribPointer </td>
          <td>(</td>
          <td class="paramtype">AttribLocation&#160;</td>
          <td class="paramname"><em>location</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WGLWidget.html#ae94560816975bedd91b9d63fc4b710a8">GLenum</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>normalized</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to bind a VBO to an attribute. </p>
<p>This function links the given attribute to the VBO currently bound to the ARRAY_BUFFER target.</p>
<p>The size parameter specifies the number of components per attribute (1 to 4). The type parameter is also used to determine the size of each component.</p>
<p>The size of a float is 8 bytes.</p>
<p>In <a class="el" href="classWt_1_1WGLWidget.html" title="WebGL support class.">WGLWidget</a>, the size of an int is 4 bytes.</p>
<p>The stride is in bytes.</p>
<p>The maximum stride is 255.</p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glVertexAttribPointer.xml">glVertexAttribPointer() OpenGL ES manpage</a> </p>

</div>
</div>
<a class="anchor" id="a507e325d11e91fda58285388adf49d81"></a><!-- doxytag: member="Wt::WGLWidget::viewport" ref="a507e325d11e91fda58285388adf49d81" args="(int x, int y, unsigned width, unsigned height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WGLWidget::viewport </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GL function to set the viewport. </p>
<p><a href="http://www.khronos.org/opengles/sdk/2.0/docs/man/glViewport.xml">glViewport() OpenGL ES manpage</a> </p>

</div>
</div>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1"><address style="text-align: right; margin: 3px"><small>
Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the
C++ Web Toolkit (Wt)</a> by&nbsp;<a
href="http://www.doxygen.org/index.html"><img src="doxygen.png"
alt="doxygen" border="0" style="vertical-align: middle; display:
inline-block; height: 2em"></a> 1.7.5.1</small></address>
</body>
</html>