aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03325.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a03325.html')
-rw-r--r--docs/doxygen/nel/a03325.html4148
1 files changed, 4148 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03325.html b/docs/doxygen/nel/a03325.html
new file mode 100644
index 00000000..4de8917b
--- /dev/null
+++ b/docs/doxygen/nel/a03325.html
@@ -0,0 +1,4148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NL3D::CRenderTrav class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NL3D::CRenderTrav Class Reference</h1><code>#include &lt;<a class="el" href="a06330.html">render_trav.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::CRenderTrav:
+<p><center><img src="a03325.png" usemap="#NL3D::CRenderTrav_map" border="0" alt=""></center>
+<map name="NL3D::CRenderTrav_map">
+<area href="a02354.html" alt="NL3D::CTravCameraScene" shape="rect" coords="0,56,165,80">
+<area href="a02214.html" alt="NL3D::CTraversal" shape="rect" coords="0,0,165,24">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The Render traversal. The purpose of this traversal is to render a list of models. This traversals is tightly linked to the cliptraversal. The clipTraversals insert directly the models with CRenderTrav::addRenderModel(m). The <a class="el" href="a03325.html#NL3D_1_1CRenderTravz780_0">traverse()</a> method should render all the render models with <a class="el" href="a02434.html">IDriver</a>.<p>
+This traversal has no graph of models<p>
+<b>USER</b> <b>RULES</b>: Before using <a class="el" href="a03325.html#NL3D_1_1CRenderTravz780_0">traverse()</a> on a render traversal, you should:<ul>
+<li><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenea3">setFrustum()</a> the camera shape (focale....)</li><li><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenea1">setCamMatrix()</a> for the camera transform</li></ul>
+<p>
+NB: see <a class="el" href="a03348.html">CScene</a> for 3d conventions (orthonormal basis...)<p>
+<dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00100">100</a> of file <a class="el" href="a06330.html">render_trav.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Render Lighting Setup. FOR MODEL TRAVERSING ONLY.</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom>{ <a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_0NL3D_1_1CRenderTravw0">MaxVPLight</a> = 4
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_1">beginVPLightSetup</a> (<a class="el" href="a04558.html#a15">uint</a> ctStart, bool supportSpecular, const <a class="el" href="a02851.html">CMatrix</a> &amp;invObjectWM)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_2">changeLightSetup</a> (<a class="el" href="a02744.html">CLightContribution</a> *lightContribution, bool useLocalAttenuation)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_3">changeVPLightSetupMaterial</a> (const <a class="el" href="a02839.html">CMaterial</a> &amp;mat, bool excludeStrongest)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02743.html">CLight</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_4">getDriverLight</a> (<a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a04223.html#a566">index</a>) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_5">getNumVPLights</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_6">getStrongestLightColors</a> (<a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;diffuse, <a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;specular)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_7">getStrongestLightIndex</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return an index to the current strongest settuped light (or -1 if there's none) <a href="#NL3D_1_1CRenderTravz786_7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_8">resetLightSetup</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_9">getLightVPFragment</a> (<a class="el" href="a04558.html#a15">uint</a> numActivePointLights, <a class="el" href="a04558.html#a15">uint</a> ctStart, bool supportSpecular, bool normalize)</td></tr>
+
+<tr><td colspan=2><br><h2>Render Lighting Setup.</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_0">getSunDirection</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_1">setSunDirection</a> (const <a class="el" href="a03128.html">CVector</a> &amp;dir)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_2">AmbientGlobal</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_3">LightingSystemEnabled</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_4">SunAmbient</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_5">SunDiffuse</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_6">SunSpecular</a></td></tr>
+
+<tr><td colspan=2><br><h2>Special Landscape RenderList.</h2></td></tr>
+<tr><td colspan=2>The Landscape list is separated from std render List for optimisation purpose. See Doc in traverse() method. <br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz792_0">clearRenderLandscapeList</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz792_1">renderLandscapes</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a02713.html">CLandscapeModel</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz792_2">_LandscapeRenderList</a></td></tr>
+
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava0">addRenderLandscape</a> (<a class="el" href="a02713.html">CLandscapeModel</a> *model)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava1">CRenderTrav</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CRenderTrava1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava2">getAuxDriver</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava3">getDriver</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava4">getLayersRenderingOrder</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03703.html">CVertexStreamManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava5">getMeshSkinManager</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the MeshSkinManager <a href="#NL3D_1_1CRenderTrava5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03371.html">CShadowMapManager</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava6">getShadowMapManager</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03371.html">CShadowMapManager</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava7">getShadowMapManager</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the <a class="el" href="a03371.html">CShadowMapManager</a> <a href="#NL3D_1_1CRenderTrava7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03703.html">CVertexStreamManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava8">getShadowMeshSkinManager</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03704.html">CViewport</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava9">getViewport</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava10">isCurrentPassOpaque</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenea1">setCamMatrix</a> (const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;camMatrix)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup the camera matrix (a translation/rotation matrix). <a href="#NL3D_1_1CTravCameraScenea1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava12">setDriver</a> (<a class="el" href="a02434.html">IDriver</a> *drv)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenea2">setFrustum</a> (float <a class="el" href="a04223.html#a632">width</a>, float <a class="el" href="a04223.html#a633">height</a>, float znear, float zfar, bool perspective=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be &gt;0 (if perspective). <a href="#NL3D_1_1CTravCameraScenea2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenea3">setFrustum</a> (float left, float right, float bottom, float top, float znear, float zfar, bool perspective=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be &gt;0 (if perspective). <a href="#NL3D_1_1CTravCameraScenea3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava15">setLayersRenderingOrder</a> (bool directOrder=true)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava16">setMeshSkinManager</a> (<a class="el" href="a03703.html">CVertexStreamManager</a> *msm)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava17">setShadowMeshSkinManager</a> (<a class="el" href="a03703.html">CVertexStreamManager</a> *msm)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the MeshSkinManager for Shadow. Same Behaviour than std MeshSkinManager. NB: the Shadow MSM is inited with AuxDriver. <a href="#NL3D_1_1CRenderTrava17"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava18">setupDriverCamera</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava19">setViewport</a> (const <a class="el" href="a03704.html">CViewport</a> &amp;viewport)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">RenderList.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz782_0">addRenderModel</a> (<a class="el" href="a02316.html">CTransform</a> *m)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz782_1">clearRenderList</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the list of rendered models. <a href="#NL3D_1_1CRenderTravz782_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz782_2">reserveRenderList</a> (<a class="el" href="a04558.html#a15">uint</a> numModels)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">ITravScene Implementation.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz780_0">traverse</a> ()</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03348.html">CScene</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02214.html#NL3D_1_1CTraversalo0">Scene</a></td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">FOR MODEL TRAVERSING ONLY. (Read only)</div></td></tr>
+<tr><td colspan="2"><div class="groupText">Those variables are valid only in traverse(). <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_0">Bottom</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_1">CamLook</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">CamMatrix</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">CamPos</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_4">Far</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_5">Left</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_6">Near</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_7">Perspective</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_8">Right</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_9">Top</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_10">ViewMatrix</a></td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">FOR MODEL TRAVERSING ONLY. (Read only)</div></td></tr>
+<tr><td colspan="2"><div class="groupText">Those variables are valid only in traverse(). <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_0">Bottom</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_1">CamLook</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">CamMatrix</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">CamPos</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_4">Far</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_5">Left</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_6">Near</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_7">Perspective</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_8">Right</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_9">Top</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_10">ViewMatrix</a></td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">FOR MODEL TRAVERSING ONLY. (Read only)</div></td></tr>
+<tr><td colspan="2"><div class="groupText">Those variables are valid only in traverse(). <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_0">Bottom</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_1">CamLook</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">CamMatrix</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">CamPos</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_4">Far</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_5">Left</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_6">Near</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_7">Perspective</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_8">Right</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_9">Top</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_10">ViewMatrix</a></td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">MeshBlock Manager. FOR MODEL TRAVERSING AND MESHS ONLY.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02875.html">CMeshBlockManager</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz788_0">MeshBlockManager</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The manager of meshBlock. Used to add instances. <a href="#NL3D_1_1CRenderTravz788_0"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">FOR MODEL TRAVERSING ONLY. (Read only)</div></td></tr>
+<tr><td colspan="2"><div class="groupText">Those variables are valid only in traverse(). <br><br></div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_0">Bottom</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_1">CamLook</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">CamMatrix</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">CamPos</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_4">Far</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_5">Left</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_6">Near</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_7">Perspective</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_8">Right</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_9">Top</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">NLMISC::CMatrix</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_10">ViewMatrix</a></td></tr>
+
+<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraSceneb0">update</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">update the dependent information. <a href="#NL3D_1_1CTravCameraSceneb0"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr0">_CurrentNumVisibleModels</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr1">_CurrentPassOpaque</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr2">_LayersRenderingOrder</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03703.html">CVertexStreamManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The manager of skin. NULL by default. <a href="#NL3D_1_1CRenderTravr3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03371.html">CShadowMapManager</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr4">_ShadowMapManager</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The ShadowMap Manager. <a href="#NL3D_1_1CRenderTravr4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03703.html">CVertexStreamManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The SkinManager, but For Shadow rendering. <a href="#NL3D_1_1CRenderTravr5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03704.html">CViewport</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr6">_Viewport</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03030.html">COrderingTable</a>&lt; <a class="el" href="a02316.html">CTransform</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02720.html">CLayeredOrderingTable</a>&lt; <a class="el" href="a02316.html">CTransform</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a02316.html">CTransform</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr10">RenderList</a></td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Render Lighting Setup.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02744.html">CLightContribution</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_0">_CacheLightContribution</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02743.html">CLight</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a> [NL3D_MAX_LIGHT_CONTRIBUTION+1]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_2">_LastFinalAmbient</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_3">_LastLocalAttenuation</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03091.html">CPointLight</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_4">_LastPointLight</a> [NL3D_MAX_LIGHT_CONTRIBUTION]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_5">_LastPointLightFactor</a> [NL3D_MAX_LIGHT_CONTRIBUTION]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_6">_LastPointLightLocalAttenuation</a> [NL3D_MAX_LIGHT_CONTRIBUTION]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_7">_LastSunFactor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_8">_NumLightEnabled</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_9">_StrongestLightDiffuse</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_10">_StrongestLightIndex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_11">_StrongestLightSpecular</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_12">_StrongestLightTouched</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_13">_SunDirection</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_14">_VPCurrentCtStart</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03338.html">NLMISC::CRGBAF</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_15">_VPFinalAmbient</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03338.html">NLMISC::CRGBAF</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_16">_VPLightDiffuse</a> [MaxVPLight]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03338.html">NLMISC::CRGBAF</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a> [MaxVPLight]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_18">_VPMaterialCacheAmbient</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_19">_VPMaterialCacheDiffuse</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_20">_VPMaterialCacheDirty</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_21">_VPMaterialCacheEmissive</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_22">_VPMaterialCacheShininess</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_23">_VPMaterialCacheSpecular</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_25">_VPSupportSpecular</a></td></tr>
+
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_0" doxytag="NL3D::CRenderTrav::@28" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> anonymous enum
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CRenderTravz786_0NL3D_1_1CRenderTravw0" doxytag="MaxVPLight" ></a>MaxVPLight</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00203">203</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+<div class="fragment"><pre>00203 {<a class="code" href="a03325.html#NL3D_1_1CRenderTravz786_0NL3D_1_1CRenderTravw0">MaxVPLight</a>= 4};
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1CRenderTrava1" doxytag="NL3D::CRenderTrav::CRenderTrav" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::CRenderTrav::CRenderTrav </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00061">61</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00338">_CacheLightContribution</a>, <a class="el" href="a06330.html#l00331">_CurrentPassOpaque</a>, <a class="el" href="a06330.html#l00332">_LayersRenderingOrder</a>, <a class="el" href="a06330.html#l00357">_StrongestLightTouched</a>, <a class="el" href="a06330.html#l00350">_SunDirection</a>, <a class="el" href="a06330.html#l00165">AmbientGlobal</a>, <a class="el" href="a02720.html#NL3D_1_1CLayeredOrderingTablea4">NL3D::CLayeredOrderingTable&lt; CTransform &gt;::init()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea4">NL3D::COrderingTable&lt; CTransform &gt;::init()</a>, <a class="el" href="a06682.html#l00119">NLMISC::CVector::normalize()</a>, <a class="el" href="a06330.html#l00324">OrderOpaqueList</a>, <a class="el" href="a06330.html#l00325">OrderTransparentList</a>, <a class="el" href="a06330.html#l00320">RenderList</a>, <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, <a class="el" href="a06330.html#l00167">SunAmbient</a>, <a class="el" href="a06330.html#l00167">SunDiffuse</a>, and <a class="el" href="a06330.html#l00167">SunSpecular</a>.
+<p>
+<div class="fragment"><pre>00062 {
+00063 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr10">RenderList</a>.resize(1024);
+00064 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr0">_CurrentNumVisibleModels</a>= 0;
+00065
+00066 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.init(1024);
+00067 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.init(1024);
+00068 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a> = NULL;
+00069 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr1">_CurrentPassOpaque</a> = <span class="keyword">true</span>;
+00070
+00071 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_0">_CacheLightContribution</a>= NULL;
+00072
+00073 <span class="comment">// Default light Setup.</span>
+00074 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz784_3">LightingSystemEnabled</a>= <span class="keyword">false</span>;
+00075 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz784_2">AmbientGlobal</a>= <a class="code" href="a03337.html">CRGBA</a>(50, 50, 50);
+00076 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz784_4">SunAmbient</a>= CRGBA::Black;
+00077 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz784_5">SunDiffuse</a>= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz784_6">SunSpecular</a>= CRGBA::White;
+00078 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_13">_SunDirection</a>.set(0, 0.5, -0.5);
+00079 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_13">_SunDirection</a>.normalize();
+00080
+00081 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_12">_StrongestLightTouched</a> = <span class="keyword">true</span>;
+00082
+00083 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>= NULL;
+00084 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>= NULL;
+00085
+00086 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr2">_LayersRenderingOrder</a>= <span class="keyword">true</span>;
+00087 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1CRenderTrava0" doxytag="NL3D::CRenderTrav::addRenderLandscape" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::addRenderLandscape </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02713.html">CLandscapeModel</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>model</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l01037">1037</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00406">_LandscapeRenderList</a>.
+<p>
+Referenced by <a class="el" href="a05870.html#l00257">NL3D::CLandscapeModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>01038 {
+01039 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz792_2">_LandscapeRenderList</a>.push_back(model);
+01040 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz782_0" doxytag="NL3D::CRenderTrav::addRenderModel" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::addRenderModel </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02316.html">CTransform</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>m</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Add a model to the list of rendered models. <b>DOESN'T</b> <b>CHECK</b> if already inserted.
+<p>
+Definition at line <a class="el" href="a06330.html#l00121">121</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00320">RenderList</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00516">NL3D::CParticleSystemModel::traverseAnimDetail()</a>, and <a class="el" href="a06568.html#l00806">NL3D::CTransform::traverseClip()</a>.
+<p>
+<div class="fragment"><pre>00122 {
+00123 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr10">RenderList</a>[<a class="code" href="a03325.html#NL3D_1_1CRenderTravr0">_CurrentNumVisibleModels</a>]= m;
+00124 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr0">_CurrentNumVisibleModels</a>++;
+00125 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_1" doxytag="NL3D::CRenderTrav::beginVPLightSetup" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::beginVPLightSetup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ctStart</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>supportSpecular</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02851.html">CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>invObjectWM</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+setup the driver VP constants to get info from current LightSetup. Only 0..3 Light + SunLights are supported. The VP do NOT support distance/Spot attenuation Also it does not handle World Matrix with non uniform scale correctly since lighting is made in ObjectSpace<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>ctStart</em>&nbsp;</td><td>the program use ctes from ctStart to ctStart+NumCtes. </td></tr>
+ <tr><td valign=top><em>supportSpecular</em>&nbsp;</td><td>asitsounds. PointLights and dirLight are localViewer </td></tr>
+ <tr><td valign=top><em>invObjectWM</em>&nbsp;</td><td>the inverse of object matrix: lights are mul by this. Vp compute in object space.</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00557">557</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00353">_DriverLight</a>, <a class="el" href="a06330.html#l00341">_NumLightEnabled</a>, <a class="el" href="a06330.html#l00360">_VPCurrentCtStart</a>, <a class="el" href="a06330.html#l00366">_VPFinalAmbient</a>, <a class="el" href="a06330.html#l00368">_VPLightDiffuse</a>, <a class="el" href="a06330.html#l00369">_VPLightSpecular</a>, <a class="el" href="a06330.html#l00375">_VPMaterialCacheDirty</a>, <a class="el" href="a06330.html#l00362">_VPNumLights</a>, <a class="el" href="a06330.html#l00364">_VPSupportSpecular</a>, <a class="el" href="a06330.html#l00165">AmbientGlobal</a>, <a class="el" href="a05892.html#l00232">NL3D::CLight::getAmbiant()</a>, <a class="el" href="a05892.html#l00240">NL3D::CLight::getDiffuse()</a>, <a class="el" href="a05892.html#l00256">NL3D::CLight::getPosition()</a>, <a class="el" href="a05892.html#l00248">NL3D::CLight::getSpecular()</a>, <a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_0NL3D_1_1CRenderTravw0">MaxVPLight</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05972.html#l01244">NLMISC::CMatrix::mulVector()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06682.html#l00119">NLMISC::CVector::normalize()</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_11">NL3D::IDriver::setConstant()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06022.html#l00433">NL3D::CMeshVPPerPixelLight::begin()</a>, and <a class="el" href="a06024.html#l00363">NL3D::CMeshVPWindTree::setupLighting()</a>.
+<p>
+<div class="fragment"><pre>00558 {
+00559 <a class="code" href="a04558.html#a15">uint</a> i;
+00560 <a class="code" href="a04199.html#a6">nlassert</a>(MaxVPLight==4);
+00561 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a>= <a class="code" href="a04061.html#a0">min</a>(_NumLightEnabled, (<a class="code" href="a04558.html#a15">uint</a>)MaxVPLight);
+00562 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_14">_VPCurrentCtStart</a>= ctStart;
+00563 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_25">_VPSupportSpecular</a>= supportSpecular;
+00564
+00565 <span class="comment">// Prepare Colors (to be multiplied by material)</span>
+00566 <span class="comment">//================</span>
+00567 <span class="comment">// Ambient. _VPCurrentCtStart+0</span>
+00568 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_15">_VPFinalAmbient</a>= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz784_2">AmbientGlobal</a>;
+00569 <span class="keywordflow">for</span>(i=0; i&lt;<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a>; i++)
+00570 {
+00571 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_15">_VPFinalAmbient</a>+= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a>[i].getAmbiant();
+00572 }
+00573 <span class="comment">// Diffuse. _VPCurrentCtStart+1 to 4</span>
+00574 <span class="keywordflow">for</span>(i=0; i&lt;_VPNumLights; i++)
+00575 {
+00576 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_16">_VPLightDiffuse</a>[i]= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a>[i].getDiffuse();
+00577 }
+00578 <span class="comment">// reset other to 0.</span>
+00579 <span class="keywordflow">for</span>(; i&lt;<a class="code" href="a03325.html#NL3D_1_1CRenderTravz786_0NL3D_1_1CRenderTravw0">MaxVPLight</a>; i++)
+00580 {
+00581 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_16">_VPLightDiffuse</a>[i]= CRGBA::Black;
+00582 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+1+i, 0.f, 0.f, 0.f, 0.f);
+00583 }
+00584 <span class="comment">// Specular. _VPCurrentCtStart+5 to 8 (only if supportSpecular)</span>
+00585 <span class="keywordflow">if</span>(supportSpecular)
+00586 {
+00587 <span class="keywordflow">for</span>(i=0; i&lt;_VPNumLights; i++)
+00588 {
+00589 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[i]= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a>[i].getSpecular();
+00590 }
+00591 <span class="comment">// reset other to 0.</span>
+00592 <span class="keywordflow">for</span>(; i&lt;MaxVPLight; i++)
+00593 {
+00594 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[i]= CRGBA::Black;
+00595 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+5+i, 0.f, 0.f, 0.f, 0.f);
+00596 }
+00597 }
+00598
+00599
+00600 <span class="comment">// Compute Eye position in Object space.</span>
+00601 CVector eye= invObjectWM * <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">CamPos</a>;
+00602
+00603
+00604 <span class="comment">// Setup Sun Directionnal light.</span>
+00605 <span class="comment">//================</span>
+00606 CVector lightDir;
+00607 <span class="comment">// in objectSpace.</span>
+00608 lightDir= invObjectWM.mulVector(_DriverLight[0].getDirection());
+00609 lightDir.normalize();
+00610 lightDir= -lightDir;
+00611 <span class="keywordflow">if</span>(supportSpecular)
+00612 {
+00613 <span class="comment">// Setup lightDir.</span>
+00614 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+9, lightDir);
+00615 }
+00616 <span class="keywordflow">else</span>
+00617 {
+00618 <span class="comment">// Setup lightDir. NB: no specular color!</span>
+00619 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+5, lightDir);
+00620 }
+00621
+00622
+00623 <span class="comment">// Setup PointLights</span>
+00624 <span class="comment">//================</span>
+00625 <a class="code" href="a04558.html#a15">uint</a> startPLPos;
+00626 <span class="keywordflow">if</span>(supportSpecular)
+00627 {
+00628 <span class="comment">// Setup eye in objectSpace for localViewer</span>
+00629 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+11, eye);
+00630 <span class="comment">// Start at 12.</span>
+00631 startPLPos= 12;
+00632 }
+00633 <span class="keywordflow">else</span>
+00634 {
+00635 <span class="comment">// Start at 6.</span>
+00636 startPLPos= 6;
+00637 }
+00638 <span class="comment">// For all pointLight enabled (other are black: don't matter)</span>
+00639 <span class="keywordflow">for</span>(i=1; i&lt;_VPNumLights; i++)
+00640 {
+00641 <span class="comment">// Setup position of light.</span>
+00642 CVector lightPos;
+00643 lightPos= invObjectWM * <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a>[i].getPosition();
+00644 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+startPLPos+(i-1), lightPos);
+00645 }
+00646
+00647
+00648 <span class="comment">// Must force real light setup at least the first time, in changeVPLightSetupMaterial()</span>
+00649 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_20">_VPMaterialCacheDirty</a>= <span class="keyword">true</span>;
+00650 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_2" doxytag="NL3D::CRenderTrav::changeLightSetup" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::changeLightSetup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02744.html">CLightContribution</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>lightContribution</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>useLocalAttenuation</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+setup the driver to the given lightContribution. if lightContribution==NULL, then all currently enabled lights are disabled. NB: lightContribution is cached, so if same than preceding, no-op. cache cleared at each frame with <a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_8">resetLightSetup()</a>. NB: models which are sticked or skinned on a skeleton have same lightContribution because lightSetup is made on the skeleton only. Hence the interest of this cache.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>useLocalAttenuation</em>&nbsp;</td><td>if true, use Hardware Attenuation, else use global one (attenuation with AttFactor)</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00409">409</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00338">_CacheLightContribution</a>, <a class="el" href="a06330.html#l00353">_DriverLight</a>, <a class="el" href="a06330.html#l00345">_LastFinalAmbient</a>, <a class="el" href="a06330.html#l00339">_LastLocalAttenuation</a>, <a class="el" href="a06330.html#l00346">_LastPointLight</a>, <a class="el" href="a06330.html#l00347">_LastPointLightFactor</a>, <a class="el" href="a06330.html#l00348">_LastPointLightLocalAttenuation</a>, <a class="el" href="a06330.html#l00344">_LastSunFactor</a>, <a class="el" href="a06330.html#l00341">_NumLightEnabled</a>, <a class="el" href="a06330.html#l00357">_StrongestLightTouched</a>, <a class="el" href="a06330.html#l00350">_SunDirection</a>, <a class="el" href="a06340.html#l00340">NLMISC::CRGBA::A</a>, <a class="el" href="a06340.html#l00264">NLMISC::CRGBA::addRGBOnly()</a>, <a class="el" href="a05894.html#l00073">NL3D::CLightContribution::AttFactor</a>, <a class="el" href="a05894.html#l00106">NL3D::CLightContribution::computeCurrentAmbient()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera9">NL3D::IDriver::enableLight()</a>, <a class="el" href="a05894.html#l00071">NL3D::CLightContribution::Factor</a>, <a class="el" href="a05894.html#l00096">NL3D::CLightContribution::MergedPointLight</a>, <a class="el" href="a06340.html#l00236">NLMISC::CRGBA::modulateFromuiRGBOnly()</a>, <a class="el" href="a05894.html#l00042">NL3D_MAX_LIGHT_CONTRIBUTION</a>, <a class="el" href="a05894.html#l00067">NL3D::CLightContribution::PointLight</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera61">NL3D::IDriver::setLight()</a>, <a class="el" href="a05891.html#l00037">NL3D::CLight::setupDirectional()</a>, <a class="el" href="a06330.html#l00167">SunAmbient</a>, <a class="el" href="a05894.html#l00086">NL3D::CLightContribution::SunContribution</a>, <a class="el" href="a06330.html#l00167">SunDiffuse</a>, <a class="el" href="a06330.html#l00167">SunSpecular</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05894.html#l00088">NL3D::CLightContribution::UseMergedPointLight</a>.
+<p>
+Referenced by <a class="el" href="a06570.html#l00105">NL3D::CTransformShape::changeLightSetup()</a>.
+<p>
+<div class="fragment"><pre>00410 {
+00411 <span class="comment">// If lighting System disabled, skip</span>
+00412 <span class="keywordflow">if</span>(!<a class="code" href="a03325.html#NL3D_1_1CRenderTravz784_3">LightingSystemEnabled</a>)
+00413 <span class="keywordflow">return</span>;
+00414
+00415 <a class="code" href="a04558.html#a15">uint</a> i;
+00416
+00417 <span class="comment">// if same lightContribution, no-op.</span>
+00418 <span class="keywordflow">if</span>(<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_0">_CacheLightContribution</a> == lightContribution &amp;&amp; <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_3">_LastLocalAttenuation</a> == useLocalAttenuation)
+00419 <span class="keywordflow">return</span>;
+00420 <span class="comment">// else, must setup the lights into driver.</span>
+00421 <span class="keywordflow">else</span>
+00422 {
+00423 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_12">_StrongestLightTouched</a> = <span class="keyword">true</span>;
+00424 <span class="comment">// if the setup is !NULL</span>
+00425 <span class="keywordflow">if</span>(lightContribution)
+00426 {
+00427 <span class="comment">// Compute SunAmbient / LocalAmbient</span>
+00428 <span class="comment">//-----------</span>
+00429 <span class="comment">// Take the current model ambient</span>
+00430 <a class="code" href="a03337.html">CRGBA</a> finalAmbient= lightContribution-&gt;computeCurrentAmbient(SunAmbient);
+00431 <span class="comment">// If use the mergedPointLight, add it to final Ambient</span>
+00432 <span class="keywordflow">if</span>(lightContribution-&gt;UseMergedPointLight)
+00433 finalAmbient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_0">addRGBOnly</a>(finalAmbient, lightContribution-&gt;MergedPointLight);
+00434 <span class="comment">// Force Alpha to 255 for good cache test.</span>
+00435 finalAmbient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAo0">A</a>= 255;
+00436
+00437
+00438 <span class="comment">// Setup the directionnal Sunlight.</span>
+00439 <span class="comment">//-----------</span>
+00440 <span class="comment">// expand 0..255 to 0..256, to avoid loss of precision.</span>
+00441 <a class="code" href="a04558.html#a15">uint</a> ufactor= lightContribution-&gt;SunContribution;
+00442 <span class="comment">// different SunLight as in cache ??</span>
+00443 <span class="comment">// NB: sunSetup can't change during renderPass, so need only to test factor.</span>
+00444 <span class="keywordflow">if</span>(ufactor != <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_7">_LastSunFactor</a> || finalAmbient != <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_2">_LastFinalAmbient</a>)
+00445 {
+00446 <span class="comment">// cache (before expanding!!)</span>
+00447 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_7">_LastSunFactor</a>= ufactor;
+00448 <span class="comment">// Cache final ambient light</span>
+00449 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_2">_LastFinalAmbient</a>= finalAmbient;
+00450
+00451 <span class="comment">// expand to 0..256.</span>
+00452 ufactor+= ufactor&gt;&gt;7; <span class="comment">// add 0 or 1.</span>
+00453 <span class="comment">// modulate color with factor of the lightContribution.</span>
+00454 <a class="code" href="a03337.html">CRGBA</a> sunDiffuse, sunSpecular;
+00455 sunDiffuse.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a>(SunDiffuse, ufactor);
+00456 sunSpecular.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_5">modulateFromuiRGBOnly</a>(SunSpecular, ufactor);
+00457 <span class="comment">// setup driver light</span>
+00458 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a>[0].setupDirectional(finalAmbient, sunDiffuse, sunSpecular, _SunDirection);
+00459 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setLight(0, _DriverLight[0]);
+00460 }
+00461
+00462
+00463 <span class="comment">// Setup other point lights</span>
+00464 <span class="comment">//-----------</span>
+00465 <a class="code" href="a04558.html#a15">uint</a> plId=0;
+00466 <span class="comment">// for the list of light.</span>
+00467 <span class="keywordflow">while</span>(lightContribution-&gt;PointLight[plId]!=NULL)
+00468 {
+00469 CPointLight *pl= lightContribution-&gt;PointLight[plId];
+00470 <a class="code" href="a04558.html#a15">uint</a> inf;
+00471 <span class="keywordflow">if</span>(useLocalAttenuation)
+00472 inf= lightContribution-&gt;Factor[plId];
+00473 <span class="keywordflow">else</span>
+00474 inf= lightContribution-&gt;AttFactor[plId];
+00475
+00476 <span class="comment">// different PointLight setup than in cache??</span>
+00477 <span class="comment">// NB: pointLight setup can't change during renderPass, so need only to test pointer, </span>
+00478 <span class="comment">// attenuation mode and factor.</span>
+00479 <span class="keywordflow">if</span>( pl!=<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_4">_LastPointLight</a>[plId] ||
+00480 inf!=<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_5">_LastPointLightFactor</a>[plId] ||
+00481 useLocalAttenuation!=<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_6">_LastPointLightLocalAttenuation</a>[plId] )
+00482 {
+00483 <span class="comment">// need to resetup the light. Cache it.</span>
+00484 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_4">_LastPointLight</a>[plId]= pl;
+00485 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_5">_LastPointLightFactor</a>[plId]= inf;
+00486 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_6">_LastPointLightLocalAttenuation</a>[plId]= useLocalAttenuation;
+00487
+00488 <span class="comment">// compute the driver light</span>
+00489 <span class="keywordflow">if</span>(useLocalAttenuation)
+00490 pl-&gt;setupDriverLight(_DriverLight[plId+1], inf);
+00491 <span class="keywordflow">else</span>
+00492 <span class="comment">// Compute it with user Attenuation</span>
+00493 pl-&gt;setupDriverLightUserAttenuation(_DriverLight[plId+1], inf);
+00494
+00495 <span class="comment">// setup driver. decal+1 because of sun.</span>
+00496 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setLight(plId+1, _DriverLight[plId+1]);
+00497 }
+00498
+00499 <span class="comment">// next light?</span>
+00500 plId++;
+00501 <span class="keywordflow">if</span>(plId&gt;=<a class="code" href="a04471.html#a0">NL3D_MAX_LIGHT_CONTRIBUTION</a>)
+00502 <span class="keywordflow">break</span>;
+00503 }
+00504
+00505
+00506 <span class="comment">// Disable olds, enable news, and cache.</span>
+00507 <span class="comment">//-----------</span>
+00508 <span class="comment">// count new number of light enabled.</span>
+00509 <a class="code" href="a04558.html#a15">uint</a> newNumLightEnabled;
+00510 <span class="comment">// number of pointLight + the sun </span>
+00511 newNumLightEnabled= plId + 1;
+00512
+00513 <span class="comment">// enable lights which are used now and were not before.</span>
+00514 <span class="keywordflow">for</span>(i=<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_8">_NumLightEnabled</a>; i&lt;newNumLightEnabled; i++)
+00515 {
+00516 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;enableLight(i, <span class="keyword">true</span>);
+00517 }
+00518
+00519 <span class="comment">// disable lights which are no more used.</span>
+00520 <span class="keywordflow">for</span>(i=newNumLightEnabled; i&lt;_NumLightEnabled; i++)
+00521 {
+00522 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;enableLight(i, <span class="keyword">false</span>);
+00523 }
+00524
+00525 <span class="comment">// cache the setup.</span>
+00526 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_0">_CacheLightContribution</a> = lightContribution;
+00527 _NumLightEnabled= newNumLightEnabled;
+00528 _LastLocalAttenuation= useLocalAttenuation;
+00529 }
+00530 <span class="keywordflow">else</span>
+00531 {
+00532 <span class="comment">// Disable old lights, and cache.</span>
+00533 <span class="comment">//-----------</span>
+00534 <span class="comment">// disable lights which are no more used.</span>
+00535 <span class="keywordflow">for</span>(i=0; i&lt;<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_8">_NumLightEnabled</a>; i++)
+00536 {
+00537 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;enableLight(i, <span class="keyword">false</span>);
+00538 }
+00539
+00540 <span class="comment">// cache the setup.</span>
+00541 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_0">_CacheLightContribution</a> = NULL;
+00542 _NumLightEnabled= 0;
+00543 }
+00544
+00545
+00546 }
+00547 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_3" doxytag="NL3D::CRenderTrav::changeVPLightSetupMaterial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::changeVPLightSetupMaterial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>mat</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>excludeStrongest</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+change the driver VP LightSetup constants which depends on material. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>excludeStrongest</em>&nbsp;</td><td>This remove the strongest light from the setup. The typical use is to have it computed by using perpixel lighting.</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00653">653</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00371">_StrongestLightDiffuse</a>, <a class="el" href="a06330.html#l00372">_StrongestLightSpecular</a>, <a class="el" href="a06330.html#l00360">_VPCurrentCtStart</a>, <a class="el" href="a06330.html#l00366">_VPFinalAmbient</a>, <a class="el" href="a06330.html#l00368">_VPLightDiffuse</a>, <a class="el" href="a06330.html#l00369">_VPLightSpecular</a>, <a class="el" href="a06330.html#l00377">_VPMaterialCacheAmbient</a>, <a class="el" href="a06330.html#l00378">_VPMaterialCacheDiffuse</a>, <a class="el" href="a06330.html#l00375">_VPMaterialCacheDirty</a>, <a class="el" href="a06330.html#l00376">_VPMaterialCacheEmissive</a>, <a class="el" href="a06330.html#l00380">_VPMaterialCacheShininess</a>, <a class="el" href="a06330.html#l00379">_VPMaterialCacheSpecular</a>, <a class="el" href="a06330.html#l00362">_VPNumLights</a>, <a class="el" href="a06330.html#l00364">_VPSupportSpecular</a>, <a class="el" href="a06340.html#l00661">NLMISC::CRGBAF::A</a>, <a class="el" href="a06340.html#l00659">NLMISC::CRGBAF::B</a>, <a class="el" href="a06340.html#l00657">NLMISC::CRGBAF::G</a>, <a class="el" href="a05969.html#l00378">NL3D::CMaterial::getAmbient()</a>, <a class="el" href="a05969.html#l00380">NL3D::CMaterial::getDiffuse()</a>, <a class="el" href="a05969.html#l00377">NL3D::CMaterial::getEmissive()</a>, <a class="el" href="a06340.html#l00075">NLMISC::CRGBA::getPacked()</a>, <a class="el" href="a05969.html#l00383">NL3D::CMaterial::getShininess()</a>, <a class="el" href="a05969.html#l00382">NL3D::CMaterial::getSpecular()</a>, <a class="el" href="a06329.html#l00761">getStrongestLightIndex()</a>, <a class="el" href="a06340.html#l00655">NLMISC::CRGBAF::R</a>, <a class="el" href="a06339.html#l00066">NLMISC::CRGBA::set()</a>, <a class="el" href="a02434.html#NL3D_1_1IDriverz147_11">NL3D::IDriver::setConstant()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05989.html#l02075">NL3D::CMeshGeom::renderPass()</a>, <a class="el" href="a06024.html#l00338">NL3D::SetupForMaterial()</a>, and <a class="el" href="a06022.html#l00544">NL3D::CMeshVPPerPixelLight::setupForMaterial()</a>.
+<p>
+<div class="fragment"><pre>00654 {
+00655 <span class="comment">// Must test if at least done one time.</span>
+00656 <span class="keywordflow">if</span>(!<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_20">_VPMaterialCacheDirty</a>)
+00657 {
+00658 <span class="comment">// Must test if same as in cache</span>
+00659 <span class="keywordflow">if</span>( <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_21">_VPMaterialCacheEmissive</a> == mat.getEmissive().getPacked() &amp;&amp;
+00660 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_18">_VPMaterialCacheAmbient</a> == mat.getAmbient().getPacked() &amp;&amp;
+00661 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_19">_VPMaterialCacheDiffuse</a> == mat.getDiffuse().getPacked() )
+00662 {
+00663 <span class="comment">// Same Diffuse part, test if same specular if necessary</span>
+00664 <span class="keywordflow">if</span>( !<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_25">_VPSupportSpecular</a> ||
+00665 ( <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_23">_VPMaterialCacheSpecular</a> == mat.getSpecular().getPacked() &amp;&amp;
+00666 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_22">_VPMaterialCacheShininess</a> == mat.getShininess() ) )
+00667 {
+00668 <span class="comment">// Then ok, skip.</span>
+00669 <span class="keywordflow">return</span>;
+00670 }
+00671 }
+00672 }
+00673
+00674 <span class="comment">// If not skiped, cache now. cache all for simplification</span>
+00675 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_20">_VPMaterialCacheDirty</a>= <span class="keyword">false</span>;
+00676 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_21">_VPMaterialCacheEmissive</a>= mat.getEmissive().getPacked();
+00677 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_18">_VPMaterialCacheAmbient</a>= mat.getDiffuse().getPacked();
+00678 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_19">_VPMaterialCacheDiffuse</a>= mat.getDiffuse().getPacked();
+00679 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_23">_VPMaterialCacheSpecular</a>= mat.getSpecular().getPacked();
+00680 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_22">_VPMaterialCacheShininess</a>= mat.getShininess();
+00681
+00682 <span class="comment">// Setup constants</span>
+00683 <a class="code" href="a03338.html">CRGBAF</a> color;
+00684 <a class="code" href="a04558.html#a15">uint</a> i;
+00685 <a class="code" href="a03338.html">CRGBAF</a> matDiff= mat.getDiffuse();
+00686 <a class="code" href="a03338.html">CRGBAF</a> matSpec= mat.getSpecular();
+00687 <span class="keywordtype">float</span> specExp= mat.getShininess();
+00688
+00689 <a class="code" href="a04558.html#a15">uint</a> strongestLightIndex = excludeStrongest ? <a class="code" href="a03325.html#NL3D_1_1CRenderTravz786_7">getStrongestLightIndex</a>() : <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a>;
+00690
+00691 <span class="comment">// setup Ambient + Emissive</span>
+00692 color= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_15">_VPFinalAmbient</a> * mat.getAmbient();
+00693 color+= mat.getEmissive();
+00694 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+0, 1, &amp;color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>);
+00695
+00696
+00697 <span class="comment">// is the strongest light is not excluded, its index should have been setup to _VPNumLights</span>
+00698
+00699 <span class="comment">// setup Diffuse.</span>
+00700 <span class="keywordflow">for</span>(i = 0; i &lt; strongestLightIndex; ++i)
+00701 {
+00702 color= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_16">_VPLightDiffuse</a>[i] * matDiff;
+00703 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+1+i, 1, &amp;color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>);
+00704 }
+00705
+00706
+00707 <span class="keywordflow">if</span> (i != <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a>)
+00708 {
+00709 color= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_16">_VPLightDiffuse</a>[i] * matDiff;
+00710 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_9">_StrongestLightDiffuse</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa14">set</a>((<a class="code" href="a04558.html#a7">uint8</a>) (255.f * color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>), (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo2">G</a>), (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo1">B</a>), (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a>));
+00711 <span class="comment">// setup strongest light to black for the gouraud part</span>
+00712 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart + 1 + i, 0.f, 0.f, 0.f, 0.f);
+00713 ++i;
+00714 <span class="comment">// setup other lights</span>
+00715 <span class="keywordflow">for</span>(; i &lt; <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a>; i++)
+00716 {
+00717 color= _VPLightDiffuse[i] * matDiff;
+00718 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart + 1 + i, 1, &amp;color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>);
+00719 }
+00720 }
+00721
+00722 <span class="comment">// setup Specular</span>
+00723 <span class="keywordflow">if</span>(<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_25">_VPSupportSpecular</a>)
+00724 {
+00725 <span class="keywordflow">for</span>(i = 0; i &lt; strongestLightIndex; ++i)
+00726 {
+00727 color= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[i] * matSpec;
+00728 color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a>= specExp;
+00729 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+5+i, 1, &amp;color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>);
+00730 }
+00731
+00732 <span class="keywordflow">if</span> (i != <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a>)
+00733 {
+00734 color= <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[i] * matSpec;
+00735 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_11">_StrongestLightSpecular</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa14">set</a>((<a class="code" href="a04558.html#a7">uint8</a>) (255.f * color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>), (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo2">G</a>), (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo1">B</a>), (<a class="code" href="a04558.html#a7">uint8</a>) (255.f * color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a>));
+00736
+00737 <span class="comment">// setup strongest light to black (for gouraud part)</span>
+00738 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart + 5 + i, 0.f, 0.f, 0.f, 0.f);
+00739 ++i;
+00740 <span class="comment">// setup other lights</span>
+00741 <span class="keywordflow">for</span>(; i &lt; <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a>; i++)
+00742 {
+00743 color= _VPLightSpecular[i] * matSpec;
+00744 color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a>= specExp;
+00745 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart + 5 + i, 1, &amp;color.<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a>);
+00746 }
+00747 }
+00748 }
+00749
+00750 <span class="comment">// setup alpha.</span>
+00751 <span class="keyword">static</span> <span class="keywordtype">float</span> alphaCte[4]= {0,0,1,0};
+00752 alphaCte[3]= matDiff.A;
+00753 <span class="comment">// setup at good place</span>
+00754 <span class="keywordflow">if</span>(<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_25">_VPSupportSpecular</a>)
+00755 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+10, 1, alphaCte);
+00756 <span class="keywordflow">else</span>
+00757 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setConstant(_VPCurrentCtStart+9, 1, alphaCte);
+00758 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz792_0" doxytag="NL3D::CRenderTrav::clearRenderLandscapeList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::clearRenderLandscapeList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l01031">1031</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00406">_LandscapeRenderList</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00089">traverse()</a>.
+<p>
+<div class="fragment"><pre>01032 {
+01033 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz792_2">_LandscapeRenderList</a>.clear();
+01034 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz782_1" doxytag="NL3D::CRenderTrav::clearRenderList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::clearRenderList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Clear the list of rendered models.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00312">312</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>.
+<p>
+<div class="fragment"><pre>00313 {
+00314 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr0">_CurrentNumVisibleModels</a>= 0;
+00315 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava2" doxytag="NL3D::CRenderTrav::getAuxDriver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02434.html">IDriver</a>* NL3D::CRenderTrav::getAuxDriver </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00135">135</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06393.html#l01781">NL3D::CSkeletonModel::generateShadowMap()</a>, <a class="el" href="a06001.html#l00166">NL3D::CMeshInstance::generateShadowMap()</a>, <a class="el" href="a06372.html#l00234">NL3D::CShadowMapManager::renderGenerate()</a>, <a class="el" href="a06393.html#l02062">NL3D::CSkeletonModel::renderIntoSkeletonShadowMap()</a>, <a class="el" href="a06001.html#l00367">NL3D::CMeshInstance::renderIntoSkeletonShadowMap()</a>, <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>, and <a class="el" href="a06329.html#l00089">traverse()</a>.
+<p>
+<div class="fragment"><pre>00135 {<span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava3" doxytag="NL3D::CRenderTrav::getDriver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02434.html">IDriver</a>* NL3D::CRenderTrav::getDriver </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00133">133</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a05870.html#l00143">NL3D::CLandscapeModel::clipAndRenderLandscape()</a>, <a class="el" href="a05870.html#l00293">NL3D::CLandscapeModel::receiveShadowMap()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>, <a class="el" href="a06011.html#l00726">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupGeom()</a>, <a class="el" href="a06005.html#l01318">NL3D::CMeshMRMGeom::renderSkinGroupGeom()</a>, <a class="el" href="a06011.html#l00795">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupPrimitives()</a>, <a class="el" href="a06005.html#l01406">NL3D::CMeshMRMGeom::renderSkinGroupPrimitives()</a>, <a class="el" href="a06011.html#l00877">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupSpecularRdrPass()</a>, <a class="el" href="a06005.html#l01488">NL3D::CMeshMRMGeom::renderSkinGroupSpecularRdrPass()</a>, <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>, <a class="el" href="a06393.html#l01390">NL3D::CSkeletonModel::renderSkins()</a>, <a class="el" href="a06329.html#l00304">setupDriverCamera()</a>, <a class="el" href="a06329.html#l00089">traverse()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, <a class="el" href="a06688.html#l00145">NL3D::CVegetableBlendLayerModel::traverseRender()</a>, <a class="el" href="a06570.html#l00178">NL3D::CTransformShape::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00133 {<span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_4" doxytag="NL3D::CRenderTrav::getDriverLight" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02743.html">CLight</a>&amp; NL3D::CRenderTrav::getDriverLight </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This returns a reference to a driver light, by its index <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_7">getStrongestLightIndex</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00283">283</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00353">_DriverLight</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05894.html#l00042">NL3D_MAX_LIGHT_CONTRIBUTION</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+Referenced by <a class="el" href="a06022.html#l00433">NL3D::CMeshVPPerPixelLight::begin()</a>.
+<p>
+<div class="fragment"><pre>00284 {
+00285 <a class="code" href="a04199.html#a6">nlassert</a>(index &gt;= 0 &amp;&amp; index &lt; NL3D_MAX_LIGHT_CONTRIBUTION+1);
+00286 <span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a>[<a class="code" href="a04223.html#a566">index</a>];
+00287 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava4" doxytag="NL3D::CRenderTrav::getLayersRenderingOrder" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CRenderTrav::getLayersRenderingOrder </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00154">154</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00332">_LayersRenderingOrder</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00804">NL3D::CScene::getLayersRenderingOrder()</a>.
+<p>
+<div class="fragment"><pre>00154 { <span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr2">_LayersRenderingOrder</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_9" doxytag="NL3D::CRenderTrav::getLightVPFragment" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NL3D::CRenderTrav::getLightVPFragment </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>numActivePointLights</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ctStart</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>supportSpecular</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>normalize</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+tool to get a VP fragment which compute lighting with following rules: IN:<ul>
+<li>R5 vertex in objectSpace (ie untransformed)</li><li>R6 normal in objectSpace (ie untransformed) OUT:</li><li>R6 normal normalized</li><li>o[COL0] and o[COL1] are setuped. NB: BF0 and BF1 not computed/setuped. Scratch:</li><li>R0, R1, R2, R3, R4</li></ul>
+<p>
+For information, constant mapping is (add ctStart):<p>
+== Strongest light included ==<p>
+if !supportSpecular:<ul>
+<li>0: AmbientColor.</li><li>1..4: DiffuseColor of 4 lights.</li><li>5: - (directional Light direction) in objectSpace</li><li>6..8: light position (3 pointLihgts) in objectSpace</li><li>9: material Diffuse Alpha copied to output. cte is: {0,0, 1, alphaMat} TOTAL: 10 constants used. if supportSpecular:</li><li>0: AmbientColor.</li><li>1..4: DiffuseColor of 4 lights.</li><li>5..8: SpecularColor of 4 lights. NB: SpecularColor[5].w get the specular exponent of the material</li><li>9: - (directional Light direction) in objectSpace</li><li>10: material Diffuse Alpha copied to output. cte is: {0,0, 1, alphaMat}</li><li>11: eye position in objectSpace</li><li>12..14: light position (3 pointLihgts) in objectSpace TOTAL: 15 constants used.</li></ul>
+<p>
+NB: the number of active light does not change the number of constantes used. But the VP code returned is modified accordingly.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>numActivePoinLights</em>&nbsp;</td><td>tells how many point light from 0 to 3 this VP must handle. NB: the Sun directionnal is not option NB: nlassert(numActiveLights&lt;=MaxVPLight-1).</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00964">964</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06329.html#l00794">NL3D::LightingVPFragmentNormalize</a>, <a class="el" href="a06329.html#l00804">NL3D::LightingVPFragmentNoSpecular_Begin</a>, <a class="el" href="a06329.html#l00848">NL3D::LightingVPFragmentNoSpecular_End</a>, <a class="el" href="a06329.html#l00816">NL3D::LightingVPFragmentNoSpecular_PL</a>, <a class="el" href="a06329.html#l00856">NL3D::LightingVPFragmentSpecular_Begin</a>, <a class="el" href="a06329.html#l00944">NL3D::LightingVPFragmentSpecular_End</a>, <a class="el" href="a06329.html#l00885">NL3D::LightingVPFragmentSpecular_PL</a>, <a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_0NL3D_1_1CRenderTravw0">MaxVPLight</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06329.html#l00953">NL3D::strReplaceAll()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00965 {
+00966 string ret;
+00967
+00968 <span class="comment">// Code frag written for 4 light max.</span>
+00969 <a class="code" href="a04199.html#a6">nlassert</a>(MaxVPLight==4);
+00970 <a class="code" href="a04199.html#a6">nlassert</a>(numActivePointLights&lt;=MaxVPLight-1);
+00971
+00972 <span class="comment">// Add LightingVPFragmentNormalize fragment?</span>
+00973 <span class="keywordflow">if</span>(normalize)
+00974 ret+= <a class="code" href="a05363.html#a277">LightingVPFragmentNormalize</a>;
+00975
+00976 <span class="comment">// Which fragment to use...</span>
+00977 <span class="keywordflow">if</span>(supportSpecular)
+00978 {
+00979 <span class="comment">// Add start of VP.</span>
+00980 ret+= <a class="code" href="a05363.html#a281">LightingVPFragmentSpecular_Begin</a>;
+00981
+00982 <span class="comment">// Add needed pointLights.</span>
+00983 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;numActivePointLights;i++)
+00984 {
+00985 ret+= <a class="code" href="a05363.html#a282">LightingVPFragmentSpecular_PL</a>[i];
+00986 }
+00987
+00988 <span class="comment">// Add end of VP.</span>
+00989 ret+= <a class="code" href="a05363.html#a283">LightingVPFragmentSpecular_End</a>;
+00990 }
+00991 <span class="keywordflow">else</span>
+00992 {
+00993 <span class="comment">// Add start of VP.</span>
+00994 ret+= <a class="code" href="a05363.html#a278">LightingVPFragmentNoSpecular_Begin</a>;
+00995
+00996 <span class="comment">// Add needed pointLights.</span>
+00997 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;numActivePointLights;i++)
+00998 {
+00999 ret+= <a class="code" href="a05363.html#a279">LightingVPFragmentNoSpecular_PL</a>[i];
+01000 }
+01001
+01002 <span class="comment">// Add end of VP.</span>
+01003 ret+= <a class="code" href="a05363.html#a280">LightingVPFragmentNoSpecular_End</a>;
+01004 }
+01005
+01006 <span class="comment">// Replace all CTS+x with good index. do it for 15 possible indices: 0 to 14 if specular.</span>
+01007 <span class="comment">// run from 14 to 0 so CTS+14 will not be taken for a CTS+1 !!</span>
+01008 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a14">sint</a> i=14; i&gt;=0; i--)
+01009 {
+01010 <span class="keywordtype">char</span> tokenSrc[256];
+01011 sprintf(tokenSrc, <span class="stringliteral">"CTS+%d"</span>, i);
+01012 <span class="keywordtype">char</span> tokenDst[256];
+01013 sprintf(tokenDst, <span class="stringliteral">"%d"</span>, ctStart+i);
+01014 <span class="comment">// replace all in the string</span>
+01015 <a class="code" href="a05363.html#a522">strReplaceAll</a>(ret, tokenSrc, tokenDst);
+01016 }
+01017
+01018 <span class="comment">// verify no CTS+ leaved... (not all ctes parsed!!!)</span>
+01019 <a class="code" href="a04199.html#a6">nlassert</a>( ret.find(<span class="stringliteral">"CTS+"</span>)==string::npos );
+01020
+01021 <span class="keywordflow">return</span> ret;
+01022 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava5" doxytag="NL3D::CRenderTrav::getMeshSkinManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03703.html">CVertexStreamManager</a>* NL3D::CRenderTrav::getMeshSkinManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the MeshSkinManager
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00182">182</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>.
+<p>
+<div class="fragment"><pre>00182 {<span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_5" doxytag="NL3D::CRenderTrav::getNumVPLights" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CRenderTrav::getNumVPLights </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return the number of VP lights currently activated (sunlight included) Value correct after <a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_1">beginVPLightSetup()</a> only
+<p>
+Definition at line <a class="el" href="a06330.html#l00301">301</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00362">_VPNumLights</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06024.html#l00297">NL3D::CMeshVPWindTree::begin()</a>, and <a class="el" href="a06024.html#l00407">NL3D::CMeshVPWindTree::beginMBRInstance()</a>.
+<p>
+<div class="fragment"><pre>00301 {<span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_24">_VPNumLights</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava6" doxytag="NL3D::CRenderTrav::getShadowMapManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03371.html">CShadowMapManager</a>&amp; NL3D::CRenderTrav::getShadowMapManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00186">186</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00390">_ShadowMapManager</a>.
+<p>
+<div class="fragment"><pre>00186 {<span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr4">_ShadowMapManager</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava7" doxytag="NL3D::CRenderTrav::getShadowMapManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03371.html">CShadowMapManager</a>&amp; NL3D::CRenderTrav::getShadowMapManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+get the <a class="el" href="a03371.html">CShadowMapManager</a>
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00185">185</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00390">_ShadowMapManager</a>.
+<p>
+Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06348.html#l01234">NL3D::CScene::enableShadowPolySmooth()</a>, <a class="el" href="a06393.html#l01781">NL3D::CSkeletonModel::generateShadowMap()</a>, <a class="el" href="a06001.html#l00166">NL3D::CMeshInstance::generateShadowMap()</a>, <a class="el" href="a06348.html#l01240">NL3D::CScene::getEnableShadowPolySmooth()</a>, <a class="el" href="a06001.html#l00330">NL3D::CMeshInstance::traverseRender()</a>, and <a class="el" href="a05870.html#l00257">NL3D::CLandscapeModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00185 {<span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr4">_ShadowMapManager</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava8" doxytag="NL3D::CRenderTrav::getShadowMeshSkinManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03703.html">CVertexStreamManager</a>* NL3D::CRenderTrav::getShadowMeshSkinManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00190">190</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>.
+<p>
+<div class="fragment"><pre>00190 {<span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_6" doxytag="NL3D::CRenderTrav::getStrongestLightColors" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::getStrongestLightColors </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>diffuse</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>specular</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get current color, diffuse and specular of the strongest light in the scene. These values are modulated by the current material color, so these values are valid only after <a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_3">changeVPLightSetupMaterial()</a> has been called
+<p>
+Definition at line <a class="el" href="a06329.html#l00778">778</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00371">_StrongestLightDiffuse</a>, <a class="el" href="a06330.html#l00372">_StrongestLightSpecular</a>, <a class="el" href="a06329.html#l00761">getStrongestLightIndex()</a>, and <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+Referenced by <a class="el" href="a06022.html#l00544">NL3D::CMeshVPPerPixelLight::setupForMaterial()</a>.
+<p>
+<div class="fragment"><pre>00779 {
+00780 <a class="code" href="a04558.html#a14">sint</a> strongestLightIndex = <a class="code" href="a03325.html#NL3D_1_1CRenderTravz786_7">getStrongestLightIndex</a>();
+00781 <span class="keywordflow">if</span> (strongestLightIndex == -1)
+00782 {
+00783 diffuse = specular = <a class="code" href="a03337.html#NLMISC_1_1CRGBAs0">NLMISC::CRGBA::Black</a>;
+00784 }
+00785 <span class="keywordflow">else</span>
+00786 {
+00787 diffuse = <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_9">_StrongestLightDiffuse</a>;
+00788 specular = <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_11">_StrongestLightSpecular</a>;
+00789 }
+00790 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_7" doxytag="NL3D::CRenderTrav::getStrongestLightIndex" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> NL3D::CRenderTrav::getStrongestLightIndex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return an index to the current strongest settuped light (or -1 if there's none)
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00761">761</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00341">_NumLightEnabled</a>, <a class="el" href="a06330.html#l00357">_StrongestLightTouched</a>, <a class="el" href="a06330.html#l00368">_VPLightDiffuse</a>, <a class="el" href="a06330.html#l00369">_VPLightSpecular</a>, <a class="el" href="a06340.html#l00661">NLMISC::CRGBAF::A</a>, <a class="el" href="a06340.html#l00659">NLMISC::CRGBAF::B</a>, <a class="el" href="a06340.html#l00657">NLMISC::CRGBAF::G</a>, <a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_0NL3D_1_1CRenderTravw0">MaxVPLight</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a06340.html#l00655">NLMISC::CRGBAF::R</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06022.html#l00433">NL3D::CMeshVPPerPixelLight::begin()</a>, <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>, and <a class="el" href="a06329.html#l00778">getStrongestLightColors()</a>.
+<p>
+<div class="fragment"><pre>00762 {
+00763 <span class="keywordflow">if</span> (!<a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_12">_StrongestLightTouched</a>) <span class="keywordflow">return</span> -1;
+00764 <a class="code" href="a04558.html#a15">uint</a> vpNumLights = <a class="code" href="a04061.html#a0">min</a>(_NumLightEnabled, (<a class="code" href="a04558.html#a15">uint</a>)MaxVPLight);
+00765 <span class="comment">// If there is only a directionnal light, use it</span>
+00766 <span class="comment">// If there is any point light, use the nearest, or the directionnal light if it is brighter</span>
+00767 <span class="keywordflow">if</span> (vpNumLights == 0) <span class="keywordflow">return</span> -1;
+00768 <span class="keywordflow">if</span> (vpNumLights == 1) <span class="keywordflow">return</span> 0;
+00769 <span class="comment">// First point light is brightest ?</span>
+00770 <span class="keywordtype">float</span> lumDir = <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_16">_VPLightDiffuse</a>[0].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a> + _VPLightDiffuse[0].G + _VPLightDiffuse[0].B + _VPLightDiffuse[0].A
+00771 + <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[0].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a> + <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[0].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo2">G</a> + <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[0].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo1">B</a> + <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[0].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a>;
+00772 <span class="keywordtype">float</span> lumOmni = _VPLightDiffuse[1].R + _VPLightDiffuse[1].G + _VPLightDiffuse[1].B + _VPLightDiffuse[1].A
+00773 + <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[1].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo3">R</a> + <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[1].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo2">G</a> + <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[1].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo1">B</a> + <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_17">_VPLightSpecular</a>[1].<a class="code" href="a03338.html#NLMISC_1_1CRGBAFo0">A</a>;
+00774 <span class="keywordflow">return</span> lumDir &gt; lumOmni ? 0 : 1;
+00775 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz784_0" doxytag="NL3D::CRenderTrav::getSunDirection" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03128.html">CVector</a> NL3D::CRenderTrav::getSunDirection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00170">170</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00350">_SunDirection</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00883">NL3D::CScene::getSunDirection()</a>.
+<p>
+<div class="fragment"><pre>00170 {<span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_13">_SunDirection</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava9" doxytag="NL3D::CRenderTrav::getViewport" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03704.html">CViewport</a> NL3D::CRenderTrav::getViewport </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00140">140</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+<div class="fragment"><pre>00141 {
+00142 <span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr6">_Viewport</a>;
+00143 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava10" doxytag="NL3D::CRenderTrav::isCurrentPassOpaque" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NL3D::CRenderTrav::isCurrentPassOpaque </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00145">145</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00331">_CurrentPassOpaque</a>.
+<p>
+Referenced by <a class="el" href="a06570.html#l00248">NL3D::CTransformShape::profileRender()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06393.html#l01390">NL3D::CSkeletonModel::renderSkins()</a>, <a class="el" href="a06570.html#l00178">NL3D::CTransformShape::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>.
+<p>
+<div class="fragment"><pre>00145 { <span class="keywordflow">return</span> <a class="code" href="a03325.html#NL3D_1_1CRenderTravr1">_CurrentPassOpaque</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz792_1" doxytag="NL3D::CRenderTrav::renderLandscapes" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::renderLandscapes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l01043">1043</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00406">_LandscapeRenderList</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00089">traverse()</a>.
+<p>
+<div class="fragment"><pre>01044 {
+01045 <span class="comment">// Render Each Landscapes.</span>
+01046 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i&lt;<a class="code" href="a03325.html#NL3D_1_1CRenderTravz792_2">_LandscapeRenderList</a>.size();i++)
+01047 {
+01048 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz792_2">_LandscapeRenderList</a>[i]-&gt;clipAndRenderLandscape();
+01049 }
+01050 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz782_2" doxytag="NL3D::CRenderTrav::reserveRenderList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::reserveRenderList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>numModels</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Add a model to the list of rendered models. <b>DOESN'T</b> <b>CHECK</b> if already inserted.
+<p>
+Definition at line <a class="el" href="a06329.html#l00339">339</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00320">RenderList</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l01004">NL3D::CScene::createModel()</a>.
+<p>
+<div class="fragment"><pre>00340 {
+00341 <span class="comment">// enlarge only.</span>
+00342 <span class="keywordflow">if</span>(numModels&gt;<a class="code" href="a03325.html#NL3D_1_1CRenderTravr10">RenderList</a>.size())
+00343 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr10">RenderList</a>.resize(numModels);
+00344 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz786_8" doxytag="NL3D::CRenderTrav::resetLightSetup" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::resetLightSetup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+reset the lighting setup in the driver (all lights are disabled). called at begining of <a class="el" href="a03325.html#NL3D_1_1CRenderTravz780_0">traverse()</a>. Must be called by any model (before and after rendering) that wish to use CDriver::setLight() instead of the standard behavior with <a class="el" href="a03325.html#NL3D_1_1CRenderTravz786_2">changeLightSetup()</a>
+<p>
+Definition at line <a class="el" href="a06329.html#l00355">355</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00338">_CacheLightContribution</a>, <a class="el" href="a06330.html#l00353">_DriverLight</a>, <a class="el" href="a06330.html#l00345">_LastFinalAmbient</a>, <a class="el" href="a06330.html#l00346">_LastPointLight</a>, <a class="el" href="a06330.html#l00344">_LastSunFactor</a>, <a class="el" href="a06330.html#l00341">_NumLightEnabled</a>, <a class="el" href="a06330.html#l00357">_StrongestLightTouched</a>, <a class="el" href="a06330.html#l00350">_SunDirection</a>, <a class="el" href="a06330.html#l00165">AmbientGlobal</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera9">NL3D::IDriver::enableLight()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera25">NL3D::IDriver::getMaxLight()</a>, <a class="el" href="a05894.html#l00042">NL3D_MAX_LIGHT_CONTRIBUTION</a>, <a class="el" href="a06682.html#l00119">NLMISC::CVector::normalize()</a>, <a class="el" href="a06339.html#l00066">NLMISC::CRGBA::set()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera57">NL3D::IDriver::setAmbientColor()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera61">NL3D::IDriver::setLight()</a>, <a class="el" href="a05891.html#l00037">NL3D::CLight::setupDirectional()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00089">traverse()</a>.
+<p>
+<div class="fragment"><pre>00356 {
+00357 <span class="comment">// If lighting System disabled, skip</span>
+00358 <span class="keywordflow">if</span>(!<a class="code" href="a03325.html#NL3D_1_1CRenderTravz784_3">LightingSystemEnabled</a>)
+00359 {
+00360 <span class="comment">// Dont modify Driver lights, but setup default lighting For VertexProgram Lighting.</span>
+00361 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_8">_NumLightEnabled</a>= 1;
+00362 <span class="comment">// Setup A default directionnal.</span>
+00363 CVector defDir(-0.5f, 0.0, -0.85f);
+00364 defDir.normalize();
+00365 <a class="code" href="a03337.html">CRGBA</a> aday= <a class="code" href="a03337.html">CRGBA</a>(130, 105, 119);
+00366 CRGBA dday= CRGBA(238, 225, 204);
+00367 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a>[0].setupDirectional(aday, dday, dday, defDir);
+00368
+00369 <span class="keywordflow">return</span>;
+00370 }
+00371 <span class="keywordflow">else</span>
+00372 {
+00373 <a class="code" href="a04558.html#a15">uint</a> i;
+00374
+00375 <span class="comment">// Disable all lights.</span>
+00376 <span class="keywordflow">for</span>(i=0; i&lt;<a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;getMaxLight(); i++)
+00377 {
+00378 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;enableLight(i, <span class="keyword">false</span>);
+00379 }
+00380
+00381
+00382 <span class="comment">// setup the precise cache, and setup lights according to this cache?</span>
+00383 <span class="comment">// setup blackSun (factor==0).</span>
+00384 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_7">_LastSunFactor</a>= 0;
+00385 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_2">_LastFinalAmbient</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa14">set</a>(0,0,0,255);
+00386 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_1">_DriverLight</a>[0].setupDirectional(CRGBA::Black, CRGBA::Black, CRGBA::Black, _SunDirection);
+00387 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setLight(0, _DriverLight[0]);
+00388 <span class="comment">// setup NULL point lights (=&gt; cache will fail), so no need to setup other lights in Driver.</span>
+00389 <span class="keywordflow">for</span>(i=0; i&lt;<a class="code" href="a04471.html#a0">NL3D_MAX_LIGHT_CONTRIBUTION</a>; i++)
+00390 {
+00391 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_4">_LastPointLight</a>[i]= NULL;
+00392 }
+00393
+00394
+00395 <span class="comment">// Set the global ambientColor</span>
+00396 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>-&gt;setAmbientColor(AmbientGlobal);
+00397
+00398
+00399 <span class="comment">// clear the cache.</span>
+00400 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_0">_CacheLightContribution</a>= NULL;
+00401 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_8">_NumLightEnabled</a>= 0;
+00402
+00403 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_12">_StrongestLightTouched</a> = <span class="keyword">true</span>;
+00404 }
+00405 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenea1" doxytag="NL3D::CRenderTrav::setCamMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CTravCameraScene::setCamMatrix </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02851.html">NLMISC::CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>camMatrix</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup the camera matrix (a translation/rotation matrix).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00102">102</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+References <a class="el" href="a06583.html#l00077">NL3D::CTravCameraScene::CamMatrix</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00300">NL3D::CScene::render()</a>.
+<p>
+<div class="fragment"><pre>00103 {
+00104 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">CamMatrix</a>= camMatrix;
+00105 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava12" doxytag="NL3D::CRenderTrav::setDriver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::setDriver </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>drv</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00132">132</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00573">NL3D::CScene::setDriver()</a>.
+<p>
+<div class="fragment"><pre>00132 {<a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>= drv;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenea2" doxytag="NL3D::CRenderTrav::setFrustum" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CTravCameraScene::setFrustum </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>width</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>height</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>znear</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>zfar</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>perspective</em> = true</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be &gt;0 (if perspective).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00097">97</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+References <a class="el" href="a05646.html#l01013">height</a>, <a class="el" href="a06583.html#l00086">NL3D::CTravCameraScene::setFrustum()</a>, and <a class="el" href="a05646.html#l01013">width</a>.
+<p>
+<div class="fragment"><pre>00098 {
+00099 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenea3">setFrustum</a>(-width/2, width/2, -height/2, height/2, znear, zfar, perspective);
+00100 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenea3" doxytag="NL3D::CRenderTrav::setFrustum" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CTravCameraScene::setFrustum </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>left</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>right</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>bottom</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>top</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>znear</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>zfar</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>perspective</em> = true</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be &gt;0 (if perspective).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00086">86</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+References <a class="el" href="a06583.html#l00075">NL3D::CTravCameraScene::Bottom</a>, <a class="el" href="a06583.html#l00075">NL3D::CTravCameraScene::Far</a>, <a class="el" href="a06583.html#l00075">NL3D::CTravCameraScene::Near</a>, <a class="el" href="a06583.html#l00076">NL3D::CTravCameraScene::Perspective</a>, and <a class="el" href="a06583.html#l00075">NL3D::CTravCameraScene::Right</a>.
+<p>
+Referenced by <a class="el" href="a06583.html#l00109">NL3D::CTravCameraScene::CTravCameraScene()</a>, <a class="el" href="a06348.html#l00300">NL3D::CScene::render()</a>, and <a class="el" href="a06583.html#l00097">NL3D::CTravCameraScene::setFrustum()</a>.
+<p>
+<div class="fragment"><pre>00087 {
+00088 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_5">Left</a>= left;
+00089 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_8">Right</a>= right;
+00090 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_0">Bottom</a>= bottom;
+00091 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_9">Top</a>= top;
+00092 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_6">Near</a>= znear;
+00093 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_4">Far</a>= zfar;
+00094 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_7">Perspective</a>= perspective;
+00095 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava15" doxytag="NL3D::CRenderTrav::setLayersRenderingOrder" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::setLayersRenderingOrder </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>directOrder</em> = true </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set the order or rendering for transparent objects. In real case, with direct order, we have:<ul>
+<li>Underwater is rendered.</li><li>Water is rendered.</li><li>Objects above water are rendered.</li></ul>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00153">153</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+References <a class="el" href="a06330.html#l00332">_LayersRenderingOrder</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00798">NL3D::CScene::setLayersRenderingOrder()</a>.
+<p>
+<div class="fragment"><pre>00153 { <a class="code" href="a03325.html#NL3D_1_1CRenderTravr2">_LayersRenderingOrder</a> = directOrder; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava16" doxytag="NL3D::CRenderTrav::setMeshSkinManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::setMeshSkinManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03703.html">CVertexStreamManager</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>msm</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set/Replace the MeshSkinManager. NULL by default =&gt; skinning is slower. The ptr is handled but not deleted. There should be one MeshSkinManager per driver.
+<p>
+Definition at line <a class="el" href="a06329.html#l00327">327</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+<div class="fragment"><pre>00328 {
+00329 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>= msm;
+00330 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava17" doxytag="NL3D::CRenderTrav::setShadowMeshSkinManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::setShadowMeshSkinManager </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03703.html">CVertexStreamManager</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>msm</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+the MeshSkinManager for Shadow. Same Behaviour than std MeshSkinManager. NB: the Shadow MSM is inited with AuxDriver.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00333">333</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+<div class="fragment"><pre>00334 {
+00335 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>= msm;
+00336 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz784_1" doxytag="NL3D::CRenderTrav::setSunDirection" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::setSunDirection </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>dir</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00319">319</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00350">_SunDirection</a>, and <a class="el" href="a06682.html#l00119">NLMISC::CVector::normalize()</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00860">NL3D::CScene::setSunDirection()</a>.
+<p>
+<div class="fragment"><pre>00320 {
+00321 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_13">_SunDirection</a>= dir;
+00322 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_13">_SunDirection</a>.normalize();
+00323 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava18" doxytag="NL3D::CRenderTrav::setupDriverCamera" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::setupDriverCamera </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06329.html#l00304">304</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00133">getDriver()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera60">NL3D::IDriver::setFrustum()</a>, and <a class="el" href="a02434.html#NL3D_1_1IDrivera73">NL3D::IDriver::setupViewMatrixEx()</a>.
+<p>
+Referenced by <a class="el" href="a06372.html#l00234">NL3D::CShadowMapManager::renderGenerate()</a>, and <a class="el" href="a06329.html#l00089">traverse()</a>.
+<p>
+<div class="fragment"><pre>00305 {
+00306 <a class="code" href="a03325.html#NL3D_1_1CRenderTrava3">getDriver</a>()-&gt;setFrustum(Left, Right, Bottom, Top, Near, Far, Perspective);
+00307 <span class="comment">// Use setupViewMatrixEx() for ZBuffer precision.</span>
+00308 <a class="code" href="a03325.html#NL3D_1_1CRenderTrava3">getDriver</a>()-&gt;setupViewMatrixEx(ViewMatrix, CamPos);
+00309 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTrava19" doxytag="NL3D::CRenderTrav::setViewport" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::setViewport </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03704.html">CViewport</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>viewport</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00136">136</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00300">NL3D::CScene::render()</a>.
+<p>
+<div class="fragment"><pre>00137 {
+00138 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr6">_Viewport</a> = viewport;
+00139 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz780_0" doxytag="NL3D::CRenderTrav::traverse" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CRenderTrav::traverse </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+First traverse the root (if any), then render the render list. NB: no Driver clear buffers (color or ZBuffer) are done....
+<p>
+Definition at line <a class="el" href="a06329.html#l00089">89</a> of file <a class="el" href="a06329.html">render_trav.cpp</a>.
+<p>
+References <a class="el" href="a06330.html#l00331">_CurrentPassOpaque</a>, <a class="el" href="a06330.html#l00332">_LayersRenderingOrder</a>, <a class="el" href="a06330.html#l00390">_ShadowMapManager</a>, <a class="el" href="a02720.html#NL3D_1_1CLayeredOrderingTablea0">NL3D::CLayeredOrderingTable&lt; CTransform &gt;::begin()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea0">NL3D::COrderingTable&lt; CTransform &gt;::begin()</a>, <a class="el" href="a05935.html#l00276">NL3D::CLodCharacterManager::beginRender()</a>, <a class="el" href="a06329.html#l01031">clearRenderLandscapeList()</a>, <a class="el" href="a05935.html#l00736">NL3D::CLodCharacterManager::endRender()</a>, <a class="el" href="a05997.html#l00114">NL3D::CMeshBlockManager::flush()</a>, <a class="el" href="a05569.html#l00123">NL3D::CCoarseMeshManager::flushRender()</a>, <a class="el" href="a02720.html#NL3D_1_1CLayeredOrderingTablea2">NL3D::CLayeredOrderingTable&lt; CTransform &gt;::get()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea2">NL3D::COrderingTable&lt; CTransform &gt;::get()</a>, <a class="el" href="a06330.html#l00135">getAuxDriver()</a>, <a class="el" href="a06349.html#l00335">NL3D::CScene::getCoarseMeshManager()</a>, <a class="el" href="a06721.html#l00076">NL3D::CVertexStreamManager::getDriver()</a>, <a class="el" href="a06330.html#l00133">getDriver()</a>, <a class="el" href="a06349.html#l00349">NL3D::CScene::getLodCharacterManager()</a>, <a class="el" href="a06569.html#l00187">NL3D::CTransform::getOrderingLayer()</a>, <a class="el" href="a05973.html#l00198">NLMISC::CMatrix::getPos()</a>, <a class="el" href="a02720.html#NL3D_1_1CLayeredOrderingTablea3">NL3D::CLayeredOrderingTable&lt; CTransform &gt;::getSize()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea3">NL3D::COrderingTable&lt; CTransform &gt;::getSize()</a>, <a class="el" href="a06569.html#l00299">NL3D::CTransform::getWorldMatrix()</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a06720.html#l00056">NL3D::CVertexStreamManager::init()</a>, <a class="el" href="a02720.html#NL3D_1_1CLayeredOrderingTablea5">NL3D::CLayeredOrderingTable&lt; CTransform &gt;::insert()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea5">NL3D::COrderingTable&lt; CTransform &gt;::insert()</a>, <a class="el" href="a06349.html#l00528">NL3D::CScene::isNextRenderProfile()</a>, <a class="el" href="a06569.html#l00173">NL3D::CTransform::isOpaque()</a>, <a class="el" href="a06569.html#l00174">NL3D::CTransform::isTransparent()</a>, <a class="el" href="a06330.html#l00310">MeshBlockManager</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a02720.html#NL3D_1_1CLayeredOrderingTablea6">NL3D::CLayeredOrderingTable&lt; CTransform &gt;::next()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea6">NL3D::COrderingTable&lt; CTransform &gt;::next()</a>, <a class="el" href="a06330.html#l00066">NL3D_MESH_SKIN_MANAGER_MAXVERTICES</a>, <a class="el" href="a06330.html#l00067">NL3D_MESH_SKIN_MANAGER_NUMVB</a>, <a class="el" href="a06330.html#l00065">NL3D_MESH_SKIN_MANAGER_VERTEXFORMAT</a>, <a class="el" href="a06330.html#l00076">NL3D_SHADOW_MESH_SKIN_MANAGER_MAXVERTICES</a>, <a class="el" href="a06330.html#l00077">NL3D_SHADOW_MESH_SKIN_MANAGER_NUMVB</a>, <a class="el" href="a06330.html#l00075">NL3D_SHADOW_MESH_SKIN_MANAGER_VERTEXFORMAT</a>, <a class="el" href="a05701.html#l00125">NLMISC::OptFastFloor()</a>, <a class="el" href="a05701.html#l00123">NLMISC::OptFastFloorBegin()</a>, <a class="el" href="a05701.html#l00124">NLMISC::OptFastFloorEnd()</a>, <a class="el" href="a06330.html#l00324">OrderOpaqueList</a>, <a class="el" href="a06330.html#l00325">OrderTransparentList</a>, <a class="el" href="a06568.html#l01137">NL3D::CTransform::profileRender()</a>, <a class="el" href="a06720.html#l00126">NL3D::CVertexStreamManager::release()</a>, <a class="el" href="a06372.html#l00234">NL3D::CShadowMapManager::renderGenerate()</a>, <a class="el" href="a06329.html#l01043">renderLandscapes()</a>, <a class="el" href="a06330.html#l00320">RenderList</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a02720.html#NL3D_1_1CLayeredOrderingTablea7">NL3D::CLayeredOrderingTable&lt; CTransform &gt;::reset()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea7">NL3D::COrderingTable&lt; CTransform &gt;::reset()</a>, <a class="el" href="a06329.html#l00355">resetLightSetup()</a>, <a class="el" href="a06329.html#l00304">setupDriverCamera()</a>, <a class="el" href="a02434.html#NL3D_1_1IDrivera74">NL3D::IDriver::setupViewport()</a>, <a class="el" href="a06568.html#l01131">NL3D::CTransform::traverseRender()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00300">NL3D::CScene::render()</a>.
+<p>
+<div class="fragment"><pre>00090 {
+00091 <a class="code" href="a04365.html#a4">H_AUTO</a>( NL3D_TravRender );
+00092
+00093 CTravCameraScene::update();
+00094
+00095 <span class="comment">// Bind to Driver.</span>
+00096 <a class="code" href="a03325.html#NL3D_1_1CRenderTrava18">setupDriverCamera</a>();
+00097 <a class="code" href="a03325.html#NL3D_1_1CRenderTrava3">getDriver</a>()-&gt;setupViewport(_Viewport);
+00098
+00099 <span class="comment">// reset the light setup, and set global ambient.</span>
+00100 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz786_8">resetLightSetup</a>();
+00101
+00102
+00103 <span class="comment">// reset the Skin manager, if needed</span>
+00104 <span class="keywordflow">if</span>(<a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>)
+00105 {
+00106 <span class="keywordflow">if</span>(<a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>!=<a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>-&gt;getDriver())
+00107 {
+00108 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>-&gt;release();
+00109 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>-&gt;init(Driver,
+00110 NL3D_MESH_SKIN_MANAGER_VERTEXFORMAT,
+00111 NL3D_MESH_SKIN_MANAGER_MAXVERTICES,
+00112 NL3D_MESH_SKIN_MANAGER_NUMVB,
+00113 <span class="stringliteral">"MRMSkinVB"</span>);
+00114 }
+00115 }
+00116
+00117 <span class="comment">// Same For Shadow ones. NB: use AuxDriver here!!!</span>
+00118 <span class="keywordflow">if</span>(<a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>)
+00119 {
+00120 <span class="keywordflow">if</span>(<a class="code" href="a03325.html#NL3D_1_1CRenderTrava2">getAuxDriver</a>()!=<a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>-&gt;getDriver())
+00121 {
+00122 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>-&gt;release();
+00123 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>-&gt;init(<a class="code" href="a03325.html#NL3D_1_1CRenderTrava2">getAuxDriver</a>(),
+00124 NL3D_SHADOW_MESH_SKIN_MANAGER_VERTEXFORMAT,
+00125 NL3D_SHADOW_MESH_SKIN_MANAGER_MAXVERTICES,
+00126 NL3D_SHADOW_MESH_SKIN_MANAGER_NUMVB,
+00127 <span class="stringliteral">"ShadowSkinVB"</span>);
+00128 }
+00129 }
+00130
+00131
+00132 <span class="comment">// Fill OT with models, for both Opaque and transparent pass</span>
+00133 <span class="comment">// =============================</span>
+00134
+00135 <span class="comment">// Sort the models by distance from camera</span>
+00136 <span class="comment">// This is done here and not in the addRenderModel because of the LoadBalancing traversal which can modify</span>
+00137 <span class="comment">// the transparency flag (multi lod for instance)</span>
+00138
+00139 <span class="comment">// clear the OTs, and prepare to allocate max element space</span>
+00140 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.reset(_CurrentNumVisibleModels);
+00141 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.reset(_CurrentNumVisibleModels);
+00142
+00143 <span class="comment">// fill the OTs.</span>
+00144 CTransform **itRdrModel= NULL;
+00145 <a class="code" href="a04558.html#a11">uint32</a> nNbModels = <a class="code" href="a03325.html#NL3D_1_1CRenderTravr0">_CurrentNumVisibleModels</a>;
+00146 <span class="keywordflow">if</span>(nNbModels)
+00147 itRdrModel= &amp;<a class="code" href="a03325.html#NL3D_1_1CRenderTravr10">RenderList</a>[0];
+00148 <span class="keywordtype">float</span> rPseudoZ, rPseudoZ2;
+00149
+00150 <span class="comment">// Some precalc</span>
+00151 <span class="keywordtype">float</span> OOFar= 1.0f / this-&gt;<a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_4">Far</a>;
+00152 <a class="code" href="a04558.html#a11">uint32</a> opaqueOtSize= <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.getSize();
+00153 <a class="code" href="a04558.html#a11">uint32</a> opaqueOtMax= <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.getSize()-1;
+00154 <a class="code" href="a04558.html#a11">uint32</a> transparentOtSize= <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.getSize();
+00155 <a class="code" href="a04558.html#a11">uint32</a> transparentOtMax= <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.getSize()-1;
+00156 <a class="code" href="a04558.html#a11">uint32</a> otId;
+00157 <span class="comment">// fast floor</span>
+00158 <a class="code" href="a05378.html#a395">NLMISC::OptFastFloorBegin</a>();
+00159 <span class="comment">// For all rdr models</span>
+00160 <span class="keywordflow">for</span>( ; nNbModels&gt;0; itRdrModel++, nNbModels-- )
+00161 {
+00162 CTransform *pTransform = *itRdrModel;
+00163
+00164 <span class="comment">// Yoyo: skins are rendered through skeletons, so models WorldMatrix are all good here (even sticked objects)</span>
+00165 rPseudoZ = (pTransform-&gt;getWorldMatrix().getPos() - <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">CamPos</a>).norm();
+00166
+00167 <span class="comment">// rPseudoZ from 0.0 -&gt; 1.0</span>
+00168 rPseudoZ = sqrtf( rPseudoZ * OOFar );
+00169
+00170 <span class="keywordflow">if</span>( pTransform-&gt;isOpaque() )
+00171 {
+00172 <span class="comment">// since norm, we are sure that rPseudoZ&gt;=0</span>
+00173 rPseudoZ2 = rPseudoZ * opaqueOtSize;
+00174 otId= <a class="code" href="a05378.html#a397">NLMISC::OptFastFloor</a>(rPseudoZ2);
+00175 otId= <a class="code" href="a04061.html#a0">min</a>(otId, opaqueOtMax);
+00176 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.insert( otId, pTransform );
+00177 }
+00178 <span class="keywordflow">if</span>( pTransform-&gt;isTransparent() )
+00179 {
+00180 <span class="comment">// since norm, we are sure that rPseudoZ&gt;=0</span>
+00181 rPseudoZ2 = rPseudoZ * transparentOtSize;
+00182 otId= <a class="code" href="a05378.html#a397">NLMISC::OptFastFloor</a>(rPseudoZ2);
+00183 otId= <a class="code" href="a04061.html#a0">min</a>(otId, transparentOtMax);
+00184 <span class="comment">// must invert id, because transparent, sort from back to front</span>
+00185 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.insert( pTransform-&gt;getOrderingLayer(), pTransform, transparentOtMax-otId );
+00186 }
+00187
+00188 }
+00189 <span class="comment">// fast floor</span>
+00190 <a class="code" href="a05378.html#a396">NLMISC::OptFastFloorEnd</a>();
+00191
+00192
+00193 <span class="comment">// Render Opaque stuff.</span>
+00194 <span class="comment">// =============================</span>
+00195
+00196 <span class="comment">// TestYoyo</span>
+00197 <span class="comment">//OrderOpaqueList.reset(0);</span>
+00198 <span class="comment">//OrderTransparentList.reset(0);</span>
+00199
+00200 <span class="comment">// Clear any landscape</span>
+00201 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz792_0">clearRenderLandscapeList</a>();
+00202
+00203 <span class="comment">// Start LodCharacter Manager render.</span>
+00204 CLodCharacterManager *clodMngr= <a class="code" href="a02214.html#NL3D_1_1CTraversalo0">Scene</a>-&gt;getLodCharacterManager();
+00205 <span class="keywordflow">if</span>(clodMngr)
+00206 clodMngr-&gt;beginRender(<a class="code" href="a03325.html#NL3D_1_1CRenderTrava3">getDriver</a>(), CamPos);
+00207
+00208 <span class="comment">// Render the opaque materials</span>
+00209 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr1">_CurrentPassOpaque</a> = <span class="keyword">true</span>;
+00210 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.begin();
+00211 <span class="keywordflow">while</span>( <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.get() != NULL )
+00212 {
+00213 CTransform *tr= <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.get();
+00214 tr-&gt;traverseRender();
+00215 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.next();
+00216 }
+00217
+00218 <span class="comment">/* Render MeshBlock Manager. </span>
+00219 <span class="comment"> Some Meshs may be render per block. Interesting to remove VertexBuffer and Material setup overhead.</span>
+00220 <span class="comment"> Faster if rendered before lods, for ZBuffer optimisation: render first near objects then far. </span>
+00221 <span class="comment"> Lods are usually far objects.</span>
+00222 <span class="comment"> */</span>
+00223 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz788_0">MeshBlockManager</a>.flush(Driver, Scene, <span class="keyword">this</span>);
+00224
+00225
+00226 <span class="comment">// End LodCharacter Manager render.</span>
+00227 <span class="keywordflow">if</span>(clodMngr)
+00228 clodMngr-&gt;endRender();
+00229
+00230
+00231 <span class="comment">/* Render Scene CoarseMeshManager. </span>
+00232 <span class="comment"> Important to render them at end of Opaque rendering, because coarses instances are created/removed during</span>
+00233 <span class="comment"> this model opaque rendering pass.</span>
+00234 <span class="comment"> */</span>
+00235 <span class="keywordflow">if</span>( <a class="code" href="a02214.html#NL3D_1_1CTraversalo0">Scene</a>-&gt;getCoarseMeshManager() )
+00236 <a class="code" href="a02214.html#NL3D_1_1CTraversalo0">Scene</a>-&gt;getCoarseMeshManager()-&gt;flushRender(Driver);
+00237
+00238 <span class="comment">/* Render ShadowMaps.</span>
+00239 <span class="comment"> Important to render them at end of Opaque rendering, because alphaBlended objects must blend with opaque</span>
+00240 <span class="comment"> objects shadowed.</span>
+00241 <span class="comment"> Therefore, transparent objects neither can't cast or receive shadows...</span>
+00242 <span class="comment"></span>
+00243 <span class="comment"> NB: Split in 2 calls and interleave Landscape Rendering between the 2. WHY???</span>
+00244 <span class="comment"> Because it is far more efficient for VBLock (but not for ZBuffer optim...) because in renderGenerate()</span>
+00245 <span class="comment"> the ShadowMeshSkinManager do lot of VBLocks that really stall (because only 2 VBHard with swap scheme). </span>
+00246 <span class="comment"></span>
+00247 <span class="comment"> Therefore the first Lock that stall will wait not only for the first MeshSkin to finish but also for the</span>
+00248 <span class="comment"> preceding landscape render to finish too! =&gt; big STALL.</span>
+00249 <span class="comment"> */</span>
+00250
+00251 <span class="comment">// Generate ShadowMaps</span>
+00252 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr4">_ShadowMapManager</a>.renderGenerate(Scene);
+00253
+00254 <span class="comment">// Render the Landscape</span>
+00255 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz792_1">renderLandscapes</a>();
+00256
+00257 <span class="comment">// Project ShadowMaps.</span>
+00258 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr4">_ShadowMapManager</a>.renderProject(Scene);
+00259
+00260
+00261 <span class="comment">// Profile this frame?</span>
+00262 <span class="keywordflow">if</span>(<a class="code" href="a02214.html#NL3D_1_1CTraversalo0">Scene</a>-&gt;isNextRenderProfile())
+00263 {
+00264 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.begin();
+00265 <span class="keywordflow">while</span>( <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.get() != NULL )
+00266 {
+00267 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.get()-&gt;profileRender();
+00268 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr8">OrderOpaqueList</a>.next();
+00269 }
+00270 }
+00271
+00272 <span class="comment">// Render Transparent stuff.</span>
+00273 <span class="comment">// =============================</span>
+00274
+00275 <span class="comment">// Render transparent materials</span>
+00276 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr1">_CurrentPassOpaque</a> = <span class="keyword">false</span>;
+00277 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.begin(_LayersRenderingOrder);
+00278 <span class="keywordflow">while</span>( <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.get() != NULL )
+00279 {
+00280 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.get()-&gt;traverseRender();
+00281 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.next();
+00282 }
+00283
+00284 <span class="comment">// Profile this frame?</span>
+00285 <span class="keywordflow">if</span>(<a class="code" href="a02214.html#NL3D_1_1CTraversalo0">Scene</a>-&gt;isNextRenderProfile())
+00286 {
+00287 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.begin();
+00288 <span class="keywordflow">while</span>( <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.get() != NULL )
+00289 {
+00290 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.get()-&gt;profileRender();
+00291 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr9">OrderTransparentList</a>.next();
+00292 }
+00293 }
+00294
+00295 <span class="comment">// END!</span>
+00296 <span class="comment">// =============================</span>
+00297
+00298 <span class="comment">// clean: reset the light setup</span>
+00299 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz786_8">resetLightSetup</a>();
+00300
+00301 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraSceneb0" doxytag="NL3D::CRenderTrav::update" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::CTravCameraScene::update </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+update the dependent information.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00122">122</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+References <a class="el" href="a06583.html#l00080">NL3D::CTravCameraScene::CamLook</a>, <a class="el" href="a06583.html#l00077">NL3D::CTravCameraScene::CamMatrix</a>, <a class="el" href="a06583.html#l00079">NL3D::CTravCameraScene::CamPos</a>, <a class="el" href="a05973.html#l00198">NLMISC::CMatrix::getPos()</a>, <a class="el" href="a05972.html#l01090">NLMISC::CMatrix::inverted()</a>, and <a class="el" href="a05972.html#l01244">NLMISC::CMatrix::mulVector()</a>.
+<p>
+<div class="fragment"><pre>00123 {
+00124 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_10">ViewMatrix</a>= <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">CamMatrix</a>.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1967_1">inverted</a>();
+00125 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">CamPos</a>= <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">CamMatrix</a>.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_6">getPos</a>();
+00126 <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_1">CamLook</a>= <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">CamMatrix</a>.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1968_1">mulVector</a>(NLMISC::CVector::J);
+00127 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_0" doxytag="NL3D::CRenderTrav::_CacheLightContribution" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02744.html">CLightContribution</a>* <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_0">NL3D::CRenderTrav::_CacheLightContribution</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00338">338</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, and <a class="el" href="a06329.html#l00355">resetLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr0" doxytag="NL3D::CRenderTrav::_CurrentNumVisibleModels" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravr0">NL3D::CRenderTrav::_CurrentNumVisibleModels</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00321">321</a> of file <a class="el" href="a06330.html">render_trav.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr1" doxytag="NL3D::CRenderTrav::_CurrentPassOpaque" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03325.html#NL3D_1_1CRenderTravr1">NL3D::CRenderTrav::_CurrentPassOpaque</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00331">331</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06330.html#l00145">isCurrentPassOpaque()</a>, and <a class="el" href="a06329.html#l00089">traverse()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_1" doxytag="NL3D::CRenderTrav::_DriverLight" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02743.html">CLight</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_1">NL3D::CRenderTrav::_DriverLight</a>[NL3D_MAX_LIGHT_CONTRIBUTION+1]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00353">353</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, <a class="el" href="a06330.html#l00283">getDriverLight()</a>, and <a class="el" href="a06329.html#l00355">resetLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz792_2" doxytag="NL3D::CRenderTrav::_LandscapeRenderList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a02713.html">CLandscapeModel</a>*&gt; <a class="el" href="a03325.html#NL3D_1_1CRenderTravz792_2">NL3D::CRenderTrav::_LandscapeRenderList</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00406">406</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l01037">addRenderLandscape()</a>, <a class="el" href="a06329.html#l01031">clearRenderLandscapeList()</a>, and <a class="el" href="a06329.html#l01043">renderLandscapes()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_2" doxytag="NL3D::CRenderTrav::_LastFinalAmbient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_2">NL3D::CRenderTrav::_LastFinalAmbient</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00345">345</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, and <a class="el" href="a06329.html#l00355">resetLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_3" doxytag="NL3D::CRenderTrav::_LastLocalAttenuation" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_3">NL3D::CRenderTrav::_LastLocalAttenuation</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00339">339</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_4" doxytag="NL3D::CRenderTrav::_LastPointLight" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03091.html">CPointLight</a>* <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_4">NL3D::CRenderTrav::_LastPointLight</a>[NL3D_MAX_LIGHT_CONTRIBUTION]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00346">346</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, and <a class="el" href="a06329.html#l00355">resetLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_5" doxytag="NL3D::CRenderTrav::_LastPointLightFactor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_5">NL3D::CRenderTrav::_LastPointLightFactor</a>[NL3D_MAX_LIGHT_CONTRIBUTION]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00347">347</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_6" doxytag="NL3D::CRenderTrav::_LastPointLightLocalAttenuation" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_6">NL3D::CRenderTrav::_LastPointLightLocalAttenuation</a>[NL3D_MAX_LIGHT_CONTRIBUTION]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00348">348</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_7" doxytag="NL3D::CRenderTrav::_LastSunFactor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_7">NL3D::CRenderTrav::_LastSunFactor</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00344">344</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, and <a class="el" href="a06329.html#l00355">resetLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr2" doxytag="NL3D::CRenderTrav::_LayersRenderingOrder" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03325.html#NL3D_1_1CRenderTravr2">NL3D::CRenderTrav::_LayersRenderingOrder</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00332">332</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06330.html#l00154">getLayersRenderingOrder()</a>, <a class="el" href="a06330.html#l00153">setLayersRenderingOrder()</a>, and <a class="el" href="a06329.html#l00089">traverse()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr3" doxytag="NL3D::CRenderTrav::_MeshSkinManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03703.html">CVertexStreamManager</a>* <a class="el" href="a03325.html#NL3D_1_1CRenderTravr3">NL3D::CRenderTrav::_MeshSkinManager</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The manager of skin. NULL by default.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00386">386</a> of file <a class="el" href="a06330.html">render_trav.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_8" doxytag="NL3D::CRenderTrav::_NumLightEnabled" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_8">NL3D::CRenderTrav::_NumLightEnabled</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00341">341</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, <a class="el" href="a06329.html#l00761">getStrongestLightIndex()</a>, and <a class="el" href="a06329.html#l00355">resetLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr4" doxytag="NL3D::CRenderTrav::_ShadowMapManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03371.html">CShadowMapManager</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravr4">NL3D::CRenderTrav::_ShadowMapManager</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The ShadowMap Manager.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00390">390</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06330.html#l00185">getShadowMapManager()</a>, and <a class="el" href="a06329.html#l00089">traverse()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr5" doxytag="NL3D::CRenderTrav::_ShadowMeshSkinManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03703.html">CVertexStreamManager</a>* <a class="el" href="a03325.html#NL3D_1_1CRenderTravr5">NL3D::CRenderTrav::_ShadowMeshSkinManager</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The SkinManager, but For Shadow rendering.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00392">392</a> of file <a class="el" href="a06330.html">render_trav.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_9" doxytag="NL3D::CRenderTrav::_StrongestLightDiffuse" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_9">NL3D::CRenderTrav::_StrongestLightDiffuse</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00371">371</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>, and <a class="el" href="a06329.html#l00778">getStrongestLightColors()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_10" doxytag="NL3D::CRenderTrav::_StrongestLightIndex" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_10">NL3D::CRenderTrav::_StrongestLightIndex</a><code> [mutable, private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00356">356</a> of file <a class="el" href="a06330.html">render_trav.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_11" doxytag="NL3D::CRenderTrav::_StrongestLightSpecular" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_11">NL3D::CRenderTrav::_StrongestLightSpecular</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00372">372</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>, and <a class="el" href="a06329.html#l00778">getStrongestLightColors()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_12" doxytag="NL3D::CRenderTrav::_StrongestLightTouched" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_12">NL3D::CRenderTrav::_StrongestLightTouched</a><code> [mutable, private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00357">357</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06329.html#l00761">getStrongestLightIndex()</a>, and <a class="el" href="a06329.html#l00355">resetLightSetup()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_13" doxytag="NL3D::CRenderTrav::_SunDirection" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">CVector</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_13">NL3D::CRenderTrav::_SunDirection</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00350">350</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06330.html#l00170">getSunDirection()</a>, <a class="el" href="a06329.html#l00355">resetLightSetup()</a>, and <a class="el" href="a06329.html#l00319">setSunDirection()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr6" doxytag="NL3D::CRenderTrav::_Viewport" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03704.html">CViewport</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravr6">NL3D::CRenderTrav::_Viewport</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00328">328</a> of file <a class="el" href="a06330.html">render_trav.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_14" doxytag="NL3D::CRenderTrav::_VPCurrentCtStart" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_14">NL3D::CRenderTrav::_VPCurrentCtStart</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00360">360</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, and <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_15" doxytag="NL3D::CRenderTrav::_VPFinalAmbient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03338.html">NLMISC::CRGBAF</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_15">NL3D::CRenderTrav::_VPFinalAmbient</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00366">366</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, and <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_16" doxytag="NL3D::CRenderTrav::_VPLightDiffuse" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03338.html">NLMISC::CRGBAF</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_16">NL3D::CRenderTrav::_VPLightDiffuse</a>[MaxVPLight]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00368">368</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>, and <a class="el" href="a06329.html#l00761">getStrongestLightIndex()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_17" doxytag="NL3D::CRenderTrav::_VPLightSpecular" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03338.html">NLMISC::CRGBAF</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_17">NL3D::CRenderTrav::_VPLightSpecular</a>[MaxVPLight]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00369">369</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>, and <a class="el" href="a06329.html#l00761">getStrongestLightIndex()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_18" doxytag="NL3D::CRenderTrav::_VPMaterialCacheAmbient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_18">NL3D::CRenderTrav::_VPMaterialCacheAmbient</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00377">377</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_19" doxytag="NL3D::CRenderTrav::_VPMaterialCacheDiffuse" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_19">NL3D::CRenderTrav::_VPMaterialCacheDiffuse</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00378">378</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_20" doxytag="NL3D::CRenderTrav::_VPMaterialCacheDirty" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_20">NL3D::CRenderTrav::_VPMaterialCacheDirty</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00375">375</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, and <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_21" doxytag="NL3D::CRenderTrav::_VPMaterialCacheEmissive" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_21">NL3D::CRenderTrav::_VPMaterialCacheEmissive</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00376">376</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_22" doxytag="NL3D::CRenderTrav::_VPMaterialCacheShininess" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_22">NL3D::CRenderTrav::_VPMaterialCacheShininess</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00380">380</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_23" doxytag="NL3D::CRenderTrav::_VPMaterialCacheSpecular" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_23">NL3D::CRenderTrav::_VPMaterialCacheSpecular</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00379">379</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_24" doxytag="NL3D::CRenderTrav::_VPNumLights" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_24">NL3D::CRenderTrav::_VPNumLights</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00362">362</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>, and <a class="el" href="a06330.html#l00301">getNumVPLights()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz790_25" doxytag="NL3D::CRenderTrav::_VPSupportSpecular" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03325.html#NL3D_1_1CRenderTravz790_25">NL3D::CRenderTrav::_VPSupportSpecular</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00364">364</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, and <a class="el" href="a06329.html#l00653">changeVPLightSetupMaterial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz784_2" doxytag="NL3D::CRenderTrav::AmbientGlobal" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_2">NL3D::CRenderTrav::AmbientGlobal</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00165">165</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00557">beginVPLightSetup()</a>, <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06348.html#l00867">NL3D::CScene::getAmbientGlobal()</a>, <a class="el" href="a06329.html#l00355">resetLightSetup()</a>, and <a class="el" href="a06348.html#l00844">NL3D::CScene::setAmbientGlobal()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_0" doxytag="NL3D::CRenderTrav::Bottom" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_0">NL3D::CTravCameraScene::Bottom</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00075">75</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06583.html#l00086">NL3D::CTravCameraScene::setFrustum()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_1" doxytag="NL3D::CRenderTrav::CamLook" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_1">NL3D::CTravCameraScene::CamLook</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00080">80</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a05870.html#l00143">NL3D::CLandscapeModel::clipAndRenderLandscape()</a>, <a class="el" href="a06583.html#l00109">NL3D::CTravCameraScene::CTravCameraScene()</a>, and <a class="el" href="a06583.html#l00122">NL3D::CTravCameraScene::update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_2" doxytag="NL3D::CRenderTrav::CamMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02851.html">NLMISC::CMatrix</a> <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_2">NL3D::CTravCameraScene::CamMatrix</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00077">77</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06583.html#l00109">NL3D::CTravCameraScene::CTravCameraScene()</a>, <a class="el" href="a06583.html#l00102">NL3D::CTravCameraScene::setCamMatrix()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>, and <a class="el" href="a06583.html#l00122">NL3D::CTravCameraScene::update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_3" doxytag="NL3D::CRenderTrav::CamPos" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">NL3D::CTravCameraScene::CamPos</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00079">79</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06570.html#l00141">NL3D::CTransformShape::clip()</a>, <a class="el" href="a06302.html#l00193">NL3D::CQuadGridClipClusterQTreeNode::clip()</a>, <a class="el" href="a05870.html#l00143">NL3D::CLandscapeModel::clipAndRenderLandscape()</a>, <a class="el" href="a06393.html#l00972">NL3D::CSkeletonModel::computeDisplayLodCharacterPriority()</a>, <a class="el" href="a06583.html#l00109">NL3D::CTravCameraScene::CTravCameraScene()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06302.html#l00268">NL3D::CQuadGridClipClusterQTreeNode::noFrustumClip()</a>, <a class="el" href="a05563.html#l00405">NL3D::CCluster::recursTraverseClip()</a>, <a class="el" href="a06348.html#l00300">NL3D::CScene::render()</a>, <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>, <a class="el" href="a06372.html#l00880">NL3D::CShadowMapManager::selectShadowMapsToGenerate()</a>, <a class="el" href="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>, <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>, <a class="el" href="a06570.html#l00274">NL3D::CTransformShape::traverseLoadBalancingPass0()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, and <a class="el" href="a06583.html#l00122">NL3D::CTravCameraScene::update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr7" doxytag="NL3D::CRenderTrav::Driver" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02434.html">IDriver</a>* <a class="el" href="a03325.html#NL3D_1_1CRenderTravr7">NL3D::CRenderTrav::Driver</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00327">327</a> of file <a class="el" href="a06330.html">render_trav.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_4" doxytag="NL3D::CRenderTrav::Far" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_4">NL3D::CTravCameraScene::Far</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00075">75</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06737.html#l01054">NL3D::CWaterModel::computeClippedPoly()</a>, <a class="el" href="a06583.html#l00086">NL3D::CTravCameraScene::setFrustum()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_5" doxytag="NL3D::CRenderTrav::Left" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_5">NL3D::CTravCameraScene::Left</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00075">75</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz784_3" doxytag="NL3D::CRenderTrav::LightingSystemEnabled" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_3">NL3D::CRenderTrav::LightingSystemEnabled</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00162">162</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00833">NL3D::CScene::enableLightingSystem()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz788_0" doxytag="NL3D::CRenderTrav::MeshBlockManager" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02875.html">CMeshBlockManager</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz788_0">NL3D::CRenderTrav::MeshBlockManager</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The manager of meshBlock. Used to add instances.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00310">310</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00089">traverse()</a>, and <a class="el" href="a06570.html#l00178">NL3D::CTransformShape::traverseRender()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_6" doxytag="NL3D::CRenderTrav::Near" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_6">NL3D::CTravCameraScene::Near</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00075">75</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06737.html#l01054">NL3D::CWaterModel::computeClippedPoly()</a>, <a class="el" href="a06583.html#l00086">NL3D::CTravCameraScene::setFrustum()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr8" doxytag="NL3D::CRenderTrav::OrderOpaqueList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03030.html">COrderingTable</a>&lt;<a class="el" href="a02316.html">CTransform</a>&gt; <a class="el" href="a03325.html#NL3D_1_1CRenderTravr8">NL3D::CRenderTrav::OrderOpaqueList</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00324">324</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, and <a class="el" href="a06329.html#l00089">traverse()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr9" doxytag="NL3D::CRenderTrav::OrderTransparentList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02720.html">CLayeredOrderingTable</a>&lt;<a class="el" href="a02316.html">CTransform</a>&gt; <a class="el" href="a03325.html#NL3D_1_1CRenderTravr9">NL3D::CRenderTrav::OrderTransparentList</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00325">325</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, and <a class="el" href="a06329.html#l00089">traverse()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_7" doxytag="NL3D::CRenderTrav::Perspective" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_7">NL3D::CTravCameraScene::Perspective</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00076">76</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06583.html#l00086">NL3D::CTravCameraScene::setFrustum()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravr10" doxytag="NL3D::CRenderTrav::RenderList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a02316.html">CTransform</a>*&gt; <a class="el" href="a03325.html#NL3D_1_1CRenderTravr10">NL3D::CRenderTrav::RenderList</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00320">320</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06330.html#l00121">addRenderModel()</a>, <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06329.html#l00339">reserveRenderList()</a>, and <a class="el" href="a06329.html#l00089">traverse()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_8" doxytag="NL3D::CRenderTrav::Right" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_8">NL3D::CTravCameraScene::Right</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00075">75</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06737.html#l01054">NL3D::CWaterModel::computeClippedPoly()</a>, <a class="el" href="a06583.html#l00086">NL3D::CTravCameraScene::setFrustum()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTraversalo0" doxytag="NL3D::CRenderTrav::Scene" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03348.html">CScene</a>* <a class="el" href="a02214.html#NL3D_1_1CTraversalo0">NL3D::CTraversal::Scene</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00055">55</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06348.html#l00134">NL3D::CScene::CScene()</a>, <a class="el" href="a06011.html#l01288">NL3D::CMeshMRMSkinnedGeom::profileSceneRender()</a>, <a class="el" href="a06005.html#l02600">NL3D::CMeshMRMGeom::profileSceneRender()</a>, and <a class="el" href="a05989.html#l01932">NL3D::CMeshGeom::profileSceneRender()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz784_4" doxytag="NL3D::CRenderTrav::SunAmbient" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_4">NL3D::CRenderTrav::SunAmbient</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00167">167</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06348.html#l00871">NL3D::CScene::getSunAmbient()</a>, and <a class="el" href="a06348.html#l00848">NL3D::CScene::setSunAmbient()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz784_5" doxytag="NL3D::CRenderTrav::SunDiffuse" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_5">NL3D::CRenderTrav::SunDiffuse</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00167">167</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06348.html#l00875">NL3D::CScene::getSunDiffuse()</a>, and <a class="el" href="a06348.html#l00852">NL3D::CScene::setSunDiffuse()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CRenderTravz784_6" doxytag="NL3D::CRenderTrav::SunSpecular" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03337.html">NLMISC::CRGBA</a> <a class="el" href="a03325.html#NL3D_1_1CRenderTravz784_6">NL3D::CRenderTrav::SunSpecular</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06330.html#l00167">167</a> of file <a class="el" href="a06330.html">render_trav.h</a>.
+<p>
+Referenced by <a class="el" href="a06329.html#l00409">changeLightSetup()</a>, <a class="el" href="a06329.html#l00061">CRenderTrav()</a>, <a class="el" href="a06348.html#l00879">NL3D::CScene::getSunSpecular()</a>, and <a class="el" href="a06348.html#l00856">NL3D::CScene::setSunSpecular()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_9" doxytag="NL3D::CRenderTrav::Top" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_9">NL3D::CTravCameraScene::Top</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00075">75</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06737.html#l01054">NL3D::CWaterModel::computeClippedPoly()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1CTravCameraScenez1097_10" doxytag="NL3D::CRenderTrav::ViewMatrix" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02851.html">NLMISC::CMatrix</a> <a class="el" href="a02354.html#NL3D_1_1CTravCameraScenez1097_10">NL3D::CTravCameraScene::ViewMatrix</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06583.html#l00078">78</a> of file <a class="el" href="a06583.html">trav_scene.h</a>.
+<p>
+Referenced by <a class="el" href="a06737.html#l01054">NL3D::CWaterModel::computeClippedPoly()</a>, <a class="el" href="a06148.html#l00619">NL3D::CParticleSystemModel::doAnimate()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, and <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06330.html">render_trav.h</a><li><a class="el" href="a06329.html">render_trav.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 07:37:20 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>