<!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: osgShadow::ParallelSplitShadowMap 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 <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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a01636.html">osgShadow</a> </li> <li class="navelem"><a class="el" href="a00534.html">ParallelSplitShadowMap</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-types">Protected Types</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <div class="title">osgShadow::ParallelSplitShadowMap Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="osgShadow::ParallelSplitShadowMap" --><!-- doxytag: inherits="osgShadow::ShadowTechnique" --><div class="dynheader"> Inheritance diagram for osgShadow::ParallelSplitShadowMap:</div> <div class="dyncontent"> <div class="center"><img src="a03157.png" border="0" usemap="#osgShadow_1_1ParallelSplitShadowMap_inherit__map" alt="Inheritance graph"/></div> <map name="osgShadow_1_1ParallelSplitShadowMap_inherit__map" id="osgShadow_1_1ParallelSplitShadowMap_inherit__map"> <area shape="rect" id="node2" href="a00706.html" title="ShadowedScene provides a mechanism for decorating a scene that the needs to have shadows cast upon it..." alt="" coords="24,160,245,189"/><area shape="rect" id="node4" href="a00500.html" title="Base class/standard interface for objects which require IO support, cloning and reference counting..." alt="" coords="84,83,185,112"/><area shape="rect" id="node6" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="68,5,201,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a03158.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  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00303.html">FragmentShaderGenerator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">you can overwrite the fragment shader if you like to modify it yourself, own fragment shader can be used <a href="a00303.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00603.html">PSSMShadowSplitTexture</a></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  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a227c951d29c22919e17ed318a2fba921">SplitCalcMode</a> { <a class="el" href="a00534.html#a227c951d29c22919e17ed318a2fba921afc378a0d259003843f9a8a1b347c2d6d">SPLIT_LINEAR</a>, <a class="el" href="a00534.html#a227c951d29c22919e17ed318a2fba921a3bfaf63c9cddcb3eac620e84a4fc8f8d">SPLIT_EXP</a> }</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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a1b76d5b5f3504659f203a53c59e60a49">ParallelSplitShadowMap</a> (<a class="el" href="a00311.html">osg::Geode</a> **debugGroup=NULL, int icountplanes=3)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a0992231ae799d731f08844a3d8641158">ParallelSplitShadowMap</a> (const <a class="el" href="a00534.html">ParallelSplitShadowMap</a> &es, const <a class="el" href="a00169.html">osg::CopyOp</a> &copyop=osg::CopyOp::SHALLOW_COPY)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a578c39fd16024a3a8662b5ee37b1e392">META_Object</a> (osgShadow, <a class="el" href="a00534.html">ParallelSplitShadowMap</a>)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a0c30753eafd02ef4899d98607a465dee">init</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize the <a class="el" href="a00704.html" title="ShadowedScene provides a mechansim for decorating a scene that the needs to have shadows cast upon it...">ShadowedScene</a> and local cached data structures. <a href="#a0c30753eafd02ef4899d98607a465dee"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#acd4ad803718bdb226a8fd89adb1e9109">update</a> (<a class="el" href="a00497.html">osg::NodeVisitor</a> &nv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Run the update traversal of the <a class="el" href="a00704.html" title="ShadowedScene provides a mechansim for decorating a scene that the needs to have shadows cast upon it...">ShadowedScene</a> and update any loca chached data structures. <a href="#acd4ad803718bdb226a8fd89adb1e9109"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a089d88983c9557867b0518ed754bd630">cull</a> (<a class="el" href="a00182.html">osgUtil::CullVisitor</a> &cv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Run the cull traversal of the <a class="el" href="a00704.html" title="ShadowedScene provides a mechansim for decorating a scene that the needs to have shadows cast upon it...">ShadowedScene</a> and set up the rendering for this <a class="el" href="a00706.html" title="ShadowedScene provides a mechanism for decorating a scene that the needs to have shadows cast upon it...">ShadowTechnique</a>. <a href="#a089d88983c9557867b0518ed754bd630"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#ad86ac866ca1e05490340c46eb7751a78">cleanSceneGraph</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clean scene graph from any shadow technique specific nodes, state and drawables. <a href="#ad86ac866ca1e05490340c46eb7751a78"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a569684b4d288fcee0c70c32084fc68a5">setDebugColorOn</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Switch on the debug coloring in GLSL (only the first 3 texture/splits showed for visualisation. <a href="#a569684b4d288fcee0c70c32084fc68a5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a018f53bddff1d6adf077f1c150e1c03e">setPolygonOffset</a> (const <a class="el" href="a01062.html">osg::Vec2f</a> &p)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the polygon offset osg::Vec2f(factor,unit) <a href="#a018f53bddff1d6adf077f1c150e1c03e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01062.html">osg::Vec2f</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a00ea76b36d37d9470efc977bdd3b434f">getPolygonOffset</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the polygon offset osg::Vec2f(factor,unit) <a href="#a00ea76b36d37d9470efc977bdd3b434f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#aa42025dde7defaaee325a962b02dfd6f">setTextureResolution</a> (unsigned int resolution)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the texture resolution. <a href="#aa42025dde7defaaee325a962b02dfd6f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a933ba066613f33f9f0f96acbab6e4921">setMaxFarDistance</a> (double farDist)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the max far distance. <a href="#a933ba066613f33f9f0f96acbab6e4921"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a32dc440be50b4a289a683b3929cac9c7">setMoveVCamBehindRCamFactor</a> (double distFactor)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the factor for moving the virtual camera behind the real camera. <a href="#a32dc440be50b4a289a683b3929cac9c7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#aa971d094444c3ce38090518a0fa11e49">setMinNearDistanceForSplits</a> (double nd)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set min near distance for splits. <a href="#aa971d094444c3ce38090518a0fa11e49"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#af665247249342b7f32276e235438d70d">setUserLight</a> (<a class="el" href="a00428.html">osg::Light</a> *light)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">set a user defined light for shadow simulation (sun light, ... <a href="#af665247249342b7f32276e235438d70d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#abef74f3e26bb3dc87d3c82115d68ba69">setAmbientBias</a> (const <a class="el" href="a01062.html">osg::Vec2</a> &ambientBias)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the values for the ambient bias the shader will use. <a href="#abef74f3e26bb3dc87d3c82115d68ba69"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a1b63f5bdaaa45d8f38e74e1df34d9ea5">setFragmentShaderGenerator</a> (<a class="el" href="a00303.html">FragmentShaderGenerator</a> *fsw)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">set fragment shader generator <a href="#a1b63f5bdaaa45d8f38e74e1df34d9ea5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#ab881af4b94389ad1ade9737fe1fa2002">enableShadowGLSLFiltering</a> (bool filtering=true)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">enable / disable shadow filtering <a href="#ab881af4b94389ad1ade9737fe1fa2002"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a38dfc27e9f5f3d3c97a4d4748eb17687">setSplitCalculationMode</a> (<a class="el" href="a00534.html#a227c951d29c22919e17ed318a2fba921">SplitCalcMode</a> scm=SPLIT_EXP)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">set split calculation mode <a href="#a38dfc27e9f5f3d3c97a4d4748eb17687"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-types"></a> Protected Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef std::map< unsigned int, <br class="typebreak"/> <a class="el" href="a00603.html">PSSMShadowSplitTexture</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a84c743b7f715d69781adfe1c83c95aec">PSSMShadowSplitTextureMap</a></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a8a00cd2a91c41c58badee5dd21895817">~ParallelSplitShadowMap</a> ()</td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00534.html#a84c743b7f715d69781adfe1c83c95aec">PSSMShadowSplitTextureMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00534.html#a2c60dcc68c0c17da55ebeeb8475edff3">_PSSMShadowSplitTextureMap</a></td></tr> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a84c743b7f715d69781adfe1c83c95aec"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::PSSMShadowSplitTextureMap" ref="a84c743b7f715d69781adfe1c83c95aec" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::map<unsigned int,<a class="el" href="a00603.html">PSSMShadowSplitTexture</a>> <a class="el" href="a00534.html#a84c743b7f715d69781adfe1c83c95aec">osgShadow::ParallelSplitShadowMap::PSSMShadowSplitTextureMap</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="a227c951d29c22919e17ed318a2fba921"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::SplitCalcMode" ref="a227c951d29c22919e17ed318a2fba921" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="a00534.html#a227c951d29c22919e17ed318a2fba921">osgShadow::ParallelSplitShadowMap::SplitCalcMode</a></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a227c951d29c22919e17ed318a2fba921afc378a0d259003843f9a8a1b347c2d6d"></a><!-- doxytag: member="SPLIT_LINEAR" ref="a227c951d29c22919e17ed318a2fba921afc378a0d259003843f9a8a1b347c2d6d" args="" -->SPLIT_LINEAR</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a227c951d29c22919e17ed318a2fba921a3bfaf63c9cddcb3eac620e84a4fc8f8d"></a><!-- doxytag: member="SPLIT_EXP" ref="a227c951d29c22919e17ed318a2fba921a3bfaf63c9cddcb3eac620e84a4fc8f8d" args="" -->SPLIT_EXP</em> </td><td> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a1b76d5b5f3504659f203a53c59e60a49"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::ParallelSplitShadowMap" ref="a1b76d5b5f3504659f203a53c59e60a49" args="(osg::Geode **debugGroup=NULL, int icountplanes=3)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgShadow::ParallelSplitShadowMap::ParallelSplitShadowMap </td> <td>(</td> <td class="paramtype"><a class="el" href="a00311.html">osg::Geode</a> ** </td> <td class="paramname"><em>debugGroup</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>icountplanes</em> = <code>3</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a0992231ae799d731f08844a3d8641158"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::ParallelSplitShadowMap" ref="a0992231ae799d731f08844a3d8641158" args="(const ParallelSplitShadowMap &es, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgShadow::ParallelSplitShadowMap::ParallelSplitShadowMap </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00534.html">ParallelSplitShadowMap</a> & </td> <td class="paramname"><em>es</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00169.html">osg::CopyOp</a> & </td> <td class="paramname"><em>copyop</em> = <code>osg::CopyOp::SHALLOW_COPY</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a8a00cd2a91c41c58badee5dd21895817"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::~ParallelSplitShadowMap" ref="a8a00cd2a91c41c58badee5dd21895817" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual osgShadow::ParallelSplitShadowMap::~ParallelSplitShadowMap </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="ad86ac866ca1e05490340c46eb7751a78"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::cleanSceneGraph" ref="ad86ac866ca1e05490340c46eb7751a78" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osgShadow::ParallelSplitShadowMap::cleanSceneGraph </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Clean scene graph from any shadow technique specific nodes, state and drawables. </p> <p>Reimplemented from <a class="el" href="a00706.html#a8753a998e839319013ff9f0ee3cb0821">osgShadow::ShadowTechnique</a>.</p> </div> </div> <a class="anchor" id="a089d88983c9557867b0518ed754bd630"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::cull" ref="a089d88983c9557867b0518ed754bd630" args="(osgUtil::CullVisitor &cv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osgShadow::ParallelSplitShadowMap::cull </td> <td>(</td> <td class="paramtype"><a class="el" href="a00182.html">osgUtil::CullVisitor</a> & </td> <td class="paramname"><em>cv</em></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Run the cull traversal of the <a class="el" href="a00704.html" title="ShadowedScene provides a mechansim for decorating a scene that the needs to have shadows cast upon it...">ShadowedScene</a> and set up the rendering for this <a class="el" href="a00706.html" title="ShadowedScene provides a mechanism for decorating a scene that the needs to have shadows cast upon it...">ShadowTechnique</a>. </p> <p>Reimplemented from <a class="el" href="a00706.html#a5a0afd8d420eb13372f735a0dab95550">osgShadow::ShadowTechnique</a>.</p> </div> </div> <a class="anchor" id="ab881af4b94389ad1ade9737fe1fa2002"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::enableShadowGLSLFiltering" ref="ab881af4b94389ad1ade9737fe1fa2002" args="(bool filtering=true)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::enableShadowGLSLFiltering </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>filtering</em> = <code>true</code></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>enable / disable shadow filtering </p> </div> </div> <a class="anchor" id="a00ea76b36d37d9470efc977bdd3b434f"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::getPolygonOffset" ref="a00ea76b36d37d9470efc977bdd3b434f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a01062.html">osg::Vec2f</a>& osgShadow::ParallelSplitShadowMap::getPolygonOffset </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the polygon offset osg::Vec2f(factor,unit) </p> </div> </div> <a class="anchor" id="a0c30753eafd02ef4899d98607a465dee"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::init" ref="a0c30753eafd02ef4899d98607a465dee" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osgShadow::ParallelSplitShadowMap::init </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Initialize the <a class="el" href="a00704.html" title="ShadowedScene provides a mechansim for decorating a scene that the needs to have shadows cast upon it...">ShadowedScene</a> and local cached data structures. </p> <p>Reimplemented from <a class="el" href="a00706.html#a9f0ccb38c3c8fd34ecca0a613a75c7cf">osgShadow::ShadowTechnique</a>.</p> </div> </div> <a class="anchor" id="a578c39fd16024a3a8662b5ee37b1e392"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::META_Object" ref="a578c39fd16024a3a8662b5ee37b1e392" args="(osgShadow, ParallelSplitShadowMap)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">osgShadow::ParallelSplitShadowMap::META_Object </td> <td>(</td> <td class="paramtype">osgShadow </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00534.html">ParallelSplitShadowMap</a> </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="abef74f3e26bb3dc87d3c82115d68ba69"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setAmbientBias" ref="abef74f3e26bb3dc87d3c82115d68ba69" args="(const osg::Vec2 &ambientBias)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setAmbientBias </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01062.html">osg::Vec2</a> & </td> <td class="paramname"><em>ambientBias</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the values for the ambient bias the shader will use. </p> </div> </div> <a class="anchor" id="a569684b4d288fcee0c70c32084fc68a5"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setDebugColorOn" ref="a569684b4d288fcee0c70c32084fc68a5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setDebugColorOn </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Switch on the debug coloring in GLSL (only the first 3 texture/splits showed for visualisation. </p> </div> </div> <a class="anchor" id="a1b63f5bdaaa45d8f38e74e1df34d9ea5"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setFragmentShaderGenerator" ref="a1b63f5bdaaa45d8f38e74e1df34d9ea5" args="(FragmentShaderGenerator *fsw)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setFragmentShaderGenerator </td> <td>(</td> <td class="paramtype"><a class="el" href="a00303.html">FragmentShaderGenerator</a> * </td> <td class="paramname"><em>fsw</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>set fragment shader generator </p> </div> </div> <a class="anchor" id="a933ba066613f33f9f0f96acbab6e4921"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setMaxFarDistance" ref="a933ba066613f33f9f0f96acbab6e4921" args="(double farDist)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setMaxFarDistance </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>farDist</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the max far distance. </p> </div> </div> <a class="anchor" id="aa971d094444c3ce38090518a0fa11e49"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setMinNearDistanceForSplits" ref="aa971d094444c3ce38090518a0fa11e49" args="(double nd)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setMinNearDistanceForSplits </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>nd</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set min near distance for splits. </p> </div> </div> <a class="anchor" id="a32dc440be50b4a289a683b3929cac9c7"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setMoveVCamBehindRCamFactor" ref="a32dc440be50b4a289a683b3929cac9c7" args="(double distFactor)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setMoveVCamBehindRCamFactor </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>distFactor</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the factor for moving the virtual camera behind the real camera. </p> </div> </div> <a class="anchor" id="a018f53bddff1d6adf077f1c150e1c03e"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setPolygonOffset" ref="a018f53bddff1d6adf077f1c150e1c03e" args="(const osg::Vec2f &p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setPolygonOffset </td> <td>(</td> <td class="paramtype">const <a class="el" href="a01062.html">osg::Vec2f</a> & </td> <td class="paramname"><em>p</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the polygon offset osg::Vec2f(factor,unit) </p> </div> </div> <a class="anchor" id="a38dfc27e9f5f3d3c97a4d4748eb17687"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setSplitCalculationMode" ref="a38dfc27e9f5f3d3c97a4d4748eb17687" args="(SplitCalcMode scm=SPLIT_EXP)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setSplitCalculationMode </td> <td>(</td> <td class="paramtype"><a class="el" href="a00534.html#a227c951d29c22919e17ed318a2fba921">SplitCalcMode</a> </td> <td class="paramname"><em>scm</em> = <code>SPLIT_EXP</code></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>set split calculation mode </p> </div> </div> <a class="anchor" id="aa42025dde7defaaee325a962b02dfd6f"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setTextureResolution" ref="aa42025dde7defaaee325a962b02dfd6f" args="(unsigned int resolution)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setTextureResolution </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>resolution</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set the texture resolution. </p> </div> </div> <a class="anchor" id="af665247249342b7f32276e235438d70d"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::setUserLight" ref="af665247249342b7f32276e235438d70d" args="(osg::Light *light)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void osgShadow::ParallelSplitShadowMap::setUserLight </td> <td>(</td> <td class="paramtype"><a class="el" href="a00428.html">osg::Light</a> * </td> <td class="paramname"><em>light</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>set a user defined light for shadow simulation (sun light, ... </p> <p>) when this light get passed to pssm, the scene's light are no longer collected and simulated. just this user passed light, it needs to be a directional light. </p> </div> </div> <a class="anchor" id="acd4ad803718bdb226a8fd89adb1e9109"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::update" ref="acd4ad803718bdb226a8fd89adb1e9109" args="(osg::NodeVisitor &nv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void osgShadow::ParallelSplitShadowMap::update </td> <td>(</td> <td class="paramtype"><a class="el" href="a00497.html">osg::NodeVisitor</a> & </td> <td class="paramname"><em>nv</em></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Run the update traversal of the <a class="el" href="a00704.html" title="ShadowedScene provides a mechansim for decorating a scene that the needs to have shadows cast upon it...">ShadowedScene</a> and update any loca chached data structures. </p> <p>Reimplemented from <a class="el" href="a00706.html#a0271f2784b3a646a59d57d7b1dabe32c">osgShadow::ShadowTechnique</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a2c60dcc68c0c17da55ebeeb8475edff3"></a><!-- doxytag: member="osgShadow::ParallelSplitShadowMap::_PSSMShadowSplitTextureMap" ref="a2c60dcc68c0c17da55ebeeb8475edff3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00534.html#a84c743b7f715d69781adfe1c83c95aec">PSSMShadowSplitTextureMap</a> <a class="el" href="a00534.html#a2c60dcc68c0c17da55ebeeb8475edff3">osgShadow::ParallelSplitShadowMap::_PSSMShadowSplitTextureMap</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>osgShadow/<a class="el" href="a01501.html">ParallelSplitShadowMap</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:37 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>