Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 807a538c0f4abf81467b8a86879881d9 > files > 638

OpenSceneGraph-devel-2.8.4-2.fc14.i686.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>OpenSceneGraph: osgFX::Cartoon Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenSceneGraph&#160;<span id="projectnumber">2.8.4</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <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="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><a href="dirs.html"><span>Directories</span></a></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="classes.html"><span>Class&#160;Index</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="a01631.html">osgFX</a>      </li>
      <li class="navelem"><a class="el" href="a00096.html">Cartoon</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">osgFX::Cartoon Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="osgFX::Cartoon" --><!-- doxytag: inherits="osgFX::Effect" -->
<p>This effect implements a technique called 'Cel-Shading' to produce a cartoon-style (non photorealistic) rendering.  
 <a href="a00096.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for osgFX::Cartoon:</div>
<div class="dyncontent">
<div class="center"><img src="a02419.png" border="0" usemap="#osgFX_1_1Cartoon_inherit__map" alt="Inheritance graph"/></div>
<map name="osgFX_1_1Cartoon_inherit__map" id="osgFX_1_1Cartoon_inherit__map">
<area shape="rect" id="node2" href="a00240.html" title="The base class for special effects." alt="" coords="15,315,129,344"/><area shape="rect" id="node4" href="a00338.html" title="General group node which maintains a list of children." alt="" coords="25,237,119,267"/><area shape="rect" id="node6" href="a00491.html" title="Base class for all internal nodes in the scene graph." alt="" coords="27,160,117,189"/><area shape="rect" id="node8" href="a00500.html" title="Base class/standard interface for objects which require IO support, cloning and reference counting..." alt="" coords="21,83,123,112"/><area shape="rect" id="node10" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="5,5,139,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a02420.html">List of all members.</a></p>
<table class="memberdecls">
<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="a00096.html#a0b772881b31de64238990f5288e591b1">Cartoon</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ab0e32d2e0b5cc2e06fe07e850125f676">Cartoon</a> (const <a class="el" href="a00096.html">Cartoon</a> &amp;copy, const <a class="el" href="a00169.html">osg::CopyOp</a> &amp;copyop=osg::CopyOp::SHALLOW_COPY)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a6c79b7fb4631f73ceb9d50b811d43367">META_Effect</a> (osgFX, <a class="el" href="a00096.html">Cartoon</a>,&quot;Cartoon&quot;,&quot;This effect implements a technique called 'Cel-Shading' to produce a &quot;&quot;cartoon-style (non photorealistic) rendering. Two passes are required: &quot;&quot;the first one draws solid surfaces, the second one draws the outlines. &quot;&quot;A vertex program is used to setup texture coordinates for a sharp lighting &quot;&quot;texture on unit 0 which is generated on-the-fly.\n&quot;&quot;This effect requires the ARB_vertex_program extension &quot;&quot;or OpenGL Shading Language.&quot;,&quot;Marco Jez; OGLSL port by Mike Weiblen&quot;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01074.html">osg::Vec4</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a9bb09b5ae90af941230e53ea99d8483e">getOutlineColor</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the outline color  <a href="#a9bb09b5ae90af941230e53ea99d8483e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a2ae8b2f54d3b474be600e948c601f2f9">setOutlineColor</a> (const <a class="el" href="a01074.html">osg::Vec4</a> &amp;color)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set the outline color  <a href="#a2ae8b2f54d3b474be600e948c601f2f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ae1cb0a8ef28b35b1045f2ac2cf9783f7">getOutlineLineWidth</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the outline line width  <a href="#ae1cb0a8ef28b35b1045f2ac2cf9783f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#aaf34f438034222229faa6ff3683aa2bb">setOutlineLineWidth</a> (float w)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set the outline line width  <a href="#aaf34f438034222229faa6ff3683aa2bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a8ae551fd35a9f16ba542e25b5af3fa30">getLightNumber</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the OpenGL light number  <a href="#a8ae551fd35a9f16ba542e25b5af3fa30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a27e6d349029b022f1994d7eca0e1ec21">setLightNumber</a> (int n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set the OpenGL light number that will be used in lighting computations  <a href="#a27e6d349029b022f1994d7eca0e1ec21"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#af2c1e5cdda8a1e2609eac7168a8623d8">~Cartoon</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00096.html">Cartoon</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ab8e8aa51c85a72fb81f7bb2d4dd7b3c3">operator=</a> (const <a class="el" href="a00096.html">Cartoon</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#afdaa441f3f55ee1283168054342fb890">define_techniques</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">abstract method to be implemented in derived classes; its purpose if to create the techniques that can be used for obtaining the desired effect.  <a href="#afdaa441f3f55ee1283168054342fb890"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This effect implements a technique called 'Cel-Shading' to produce a cartoon-style (non photorealistic) rendering. </p>
<p>Two passes are required: the first one draws solid surfaces, the second one draws the outlines. A vertex program is used to setup texture coordinates for a sharp lighting texture on unit 0 which is generated on-the-fly. This effect requires the ARB_vertex_program extension. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0b772881b31de64238990f5288e591b1"></a><!-- doxytag: member="osgFX::Cartoon::Cartoon" ref="a0b772881b31de64238990f5288e591b1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">osgFX::Cartoon::Cartoon </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab0e32d2e0b5cc2e06fe07e850125f676"></a><!-- doxytag: member="osgFX::Cartoon::Cartoon" ref="ab0e32d2e0b5cc2e06fe07e850125f676" args="(const Cartoon &amp;copy, const osg::CopyOp &amp;copyop=osg::CopyOp::SHALLOW_COPY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">osgFX::Cartoon::Cartoon </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00096.html">Cartoon</a> &amp;&#160;</td>
          <td class="paramname"><em>copy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00169.html">osg::CopyOp</a> &amp;&#160;</td>
          <td class="paramname"><em>copyop</em> = <code>osg::CopyOp::SHALLOW_COPY</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af2c1e5cdda8a1e2609eac7168a8623d8"></a><!-- doxytag: member="osgFX::Cartoon::~Cartoon" ref="af2c1e5cdda8a1e2609eac7168a8623d8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual osgFX::Cartoon::~Cartoon </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="afdaa441f3f55ee1283168054342fb890"></a><!-- doxytag: member="osgFX::Cartoon::define_techniques" ref="afdaa441f3f55ee1283168054342fb890" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool osgFX::Cartoon::define_techniques </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>abstract method to be implemented in derived classes; its purpose if to create the techniques that can be used for obtaining the desired effect. </p>
<p>You will usually call <a class="el" href="a00240.html#acc6ad2b71579a412c7832196e893fffa" title="add a technique to the Effect">addTechnique()</a> inside this method. </p>

<p>Implements <a class="el" href="a00240.html#a76b13241e1beacb906050721a4eeeb21">osgFX::Effect</a>.</p>

</div>
</div>
<a class="anchor" id="a8ae551fd35a9f16ba542e25b5af3fa30"></a><!-- doxytag: member="osgFX::Cartoon::getLightNumber" ref="a8ae551fd35a9f16ba542e25b5af3fa30" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int osgFX::Cartoon::getLightNumber </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the OpenGL light number </p>

</div>
</div>
<a class="anchor" id="a9bb09b5ae90af941230e53ea99d8483e"></a><!-- doxytag: member="osgFX::Cartoon::getOutlineColor" ref="a9bb09b5ae90af941230e53ea99d8483e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a01074.html">osg::Vec4</a> &amp; osgFX::Cartoon::getOutlineColor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the outline color </p>

<p>References <a class="el" href="a00456.html#a72e3b1b054bab370253225256cdfd99bab9d7c4180885fd4495e7124b2edab8e2">osg::Material::FRONT_AND_BACK</a>.</p>

</div>
</div>
<a class="anchor" id="ae1cb0a8ef28b35b1045f2ac2cf9783f7"></a><!-- doxytag: member="osgFX::Cartoon::getOutlineLineWidth" ref="ae1cb0a8ef28b35b1045f2ac2cf9783f7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float osgFX::Cartoon::getOutlineLineWidth </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the outline line width </p>

</div>
</div>
<a class="anchor" id="a6c79b7fb4631f73ceb9d50b811d43367"></a><!-- doxytag: member="osgFX::Cartoon::META_Effect" ref="a6c79b7fb4631f73ceb9d50b811d43367" args="(osgFX, Cartoon,&quot;Cartoon&quot;,&quot;This effect implements a technique called 'Cel&#45;Shading' to produce a &quot;&quot;cartoon&#45;style (non photorealistic) rendering. Two passes are required: &quot;&quot;the first one draws solid surfaces, the second one draws the outlines. &quot;&quot;A vertex program is used to setup texture coordinates for a sharp lighting &quot;&quot;texture on unit 0 which is generated on&#45;the&#45;fly.\n&quot;&quot;This effect requires the ARB_vertex_program extension &quot;&quot;or OpenGL Shading Language.&quot;,&quot;Marco Jez; OGLSL port by Mike Weiblen&quot;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">osgFX::Cartoon::META_Effect </td>
          <td>(</td>
          <td class="paramtype">osgFX&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00096.html">Cartoon</a>&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Cartoon&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;This effect implements a technique called 'Cel-Shading' to produce a &quot;&quot;cartoon-style (non photorealistic) rendering. Two passes are required: &quot;&quot;the first one draws solid&#160;</td>
          <td class="paramname"><em>surfaces</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">the second one draws the outlines.&quot;&quot;A vertex program is used to setup texture coordinates for a sharp lighting&quot;&quot;texture on unit 0 which is generated on-the-fly.\n&quot;&quot;This effect requires the ARB_vertex_program extension&quot;&quot;or OpenGL Shading Language.&quot;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&quot;Marco Jez; OGLSL port by Mike Weiblen&quot;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab8e8aa51c85a72fb81f7bb2d4dd7b3c3"></a><!-- doxytag: member="osgFX::Cartoon::operator=" ref="ab8e8aa51c85a72fb81f7bb2d4dd7b3c3" args="(const Cartoon &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00096.html">Cartoon</a>&amp; osgFX::Cartoon::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00096.html">Cartoon</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a27e6d349029b022f1994d7eca0e1ec21"></a><!-- doxytag: member="osgFX::Cartoon::setLightNumber" ref="a27e6d349029b022f1994d7eca0e1ec21" args="(int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgFX::Cartoon::setLightNumber </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the OpenGL light number that will be used in lighting computations </p>

<p>References <a class="el" href="a00240.html#a629ee628dd192951fa5334c9f15d2935">osgFX::Effect::dirtyTechniques()</a>.</p>

</div>
</div>
<a class="anchor" id="a2ae8b2f54d3b474be600e948c601f2f9"></a><!-- doxytag: member="osgFX::Cartoon::setOutlineColor" ref="a2ae8b2f54d3b474be600e948c601f2f9" args="(const osg::Vec4 &amp;color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgFX::Cartoon::setOutlineColor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01074.html">osg::Vec4</a> &amp;&#160;</td>
          <td class="paramname"><em>color</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the outline color </p>

<p>References <a class="el" href="a00456.html#a72e3b1b054bab370253225256cdfd99bab9d7c4180885fd4495e7124b2edab8e2">osg::Material::FRONT_AND_BACK</a>.</p>

</div>
</div>
<a class="anchor" id="aaf34f438034222229faa6ff3683aa2bb"></a><!-- doxytag: member="osgFX::Cartoon::setOutlineLineWidth" ref="aaf34f438034222229faa6ff3683aa2bb" args="(float w)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgFX::Cartoon::setOutlineLineWidth </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>w</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the outline line width </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>osgFX/<a class="el" href="a01387.html">Cartoon</a></li>
</ul>
</div>
<hr>
<table border="0"><tr><td>
  <img src="osg32-32.png" alt="osg logo" />
</td><td>
  <address><small>Generated at Tue May 31 2011 04:19:35 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a>
by <a href="http://www.doxygen.org">doxygen</a> 1.7.4.</small></address>
<!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph -->
</td></tr></table>
</body>
</html>