diff options
Diffstat (limited to 'docs/doxygen/nel/a03325.html')
-rw-r--r-- | docs/doxygen/nel/a03325.html | 4148 |
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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CRenderTrav Class Reference</h1><code>#include <<a class="el" href="a06330.html">render_trav.h</a>></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 </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 </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> &invObjectWM)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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 </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> &mat, bool excludeStrongest)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02743.html">CLight</a> & </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> </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 </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> &diffuse, <a class="el" href="a03337.html">NLMISC::CRGBA</a> &specular)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </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"> </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 </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 </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> </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 </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> &dir)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">NLMISC::CRGBA</a> </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 </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> </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> </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> </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 </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 </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< <a class="el" href="a02713.html">CLandscapeModel</a> * > </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 </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava1">CRenderTrav</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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> * </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> * </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 </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> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava5">getMeshSkinManager</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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> & </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> & </td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTrava7">getShadowMapManager</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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> * </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> </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 </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 </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> &camMatrix)</td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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"> </td><td class="mdescRight">Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be >0 (if perspective). <a href="#NL3D_1_1CTravCameraScenea2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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"> </td><td class="mdescRight">Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be >0 (if perspective). <a href="#NL3D_1_1CTravCameraScenea3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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 </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 </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"> </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 </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 </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> &viewport)</td></tr> + +<tr><td colspan="2"><div class="groupHeader">RenderList.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz782_1">clearRenderList</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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 </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 </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> * </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 </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> </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> </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> </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 </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 </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 </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 </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 </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 </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> </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 </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> </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> </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> </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 </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 </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 </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 </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 </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 </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> </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 </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> </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> </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> </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 </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 </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 </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 </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 </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 </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> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravz788_0">MeshBlockManager</a></td></tr> + +<tr><td class="mdescLeft"> </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 </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> </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> </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> </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 </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 </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 </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 </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 </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 </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> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02354.html#NL3D_1_1CTravCameraSceneb0">update</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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> </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 </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 </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> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a></td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr4">_ShadowMapManager</a></td></tr> + +<tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a></td></tr> + +<tr><td class="mdescLeft"> </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> </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> * </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>< <a class="el" href="a02316.html">CTransform</a> > </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>< <a class="el" href="a02316.html">CTransform</a> > </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< <a class="el" href="a02316.html">CTransform</a> * > </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> * </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> </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> </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 </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> * </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> </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 </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> </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> </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> </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> </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> </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 </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> </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> </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> </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> </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> </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> </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> </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 </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> </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 </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> </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> </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 </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> + + </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> </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 & 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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< CTransform >::init()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea4">NL3D::COrderingTable< CTransform >::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02713.html">CLandscapeModel</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>model</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02316.html">CTransform</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>m</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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 </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> & </td> + <td class="mdname" nowrap> <em>invObjectWM</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </td><td>the program use ctes from ctStart to ctStart+NumCtes. </td></tr> + <tr><td valign=top><em>supportSpecular</em> </td><td>asitsounds. PointLights and dirLight are localViewer </td></tr> + <tr><td valign=top><em>invObjectWM</em> </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<<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<_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<<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>->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<_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<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>->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>->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>->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>->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<_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>->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02744.html">CLightContribution</a> * </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 </td> + <td class="mdname" nowrap> <em>useLocalAttenuation</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </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 && <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->computeCurrentAmbient(SunAmbient); +00431 <span class="comment">// If use the mergedPointLight, add it to final Ambient</span> +00432 <span class="keywordflow">if</span>(lightContribution->UseMergedPointLight) +00433 finalAmbient.<a class="code" href="a03337.html#NLMISC_1_1CRGBAz2022_0">addRGBOnly</a>(finalAmbient, lightContribution->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->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>>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>->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->PointLight[plId]!=NULL) +00468 { +00469 CPointLight *pl= lightContribution->PointLight[plId]; +00470 <a class="code" href="a04558.html#a15">uint</a> inf; +00471 <span class="keywordflow">if</span>(useLocalAttenuation) +00472 inf= lightContribution->Factor[plId]; +00473 <span class="keywordflow">else</span> +00474 inf= lightContribution->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->setupDriverLight(_DriverLight[plId+1], inf); +00491 <span class="keywordflow">else</span> +00492 <span class="comment">// Compute it with user Attenuation</span> +00493 pl->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>->setLight(plId+1, _DriverLight[plId+1]); +00497 } +00498 +00499 <span class="comment">// next light?</span> +00500 plId++; +00501 <span class="keywordflow">if</span>(plId>=<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<newNumLightEnabled; i++) +00515 { +00516 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>->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<_NumLightEnabled; i++) +00521 { +00522 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>->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<<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>->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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02839.html">CMaterial</a> & </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 </td> + <td class="mdname" nowrap> <em>excludeStrongest</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </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() && +00660 <a class="code" href="a03325.html#NL3D_1_1CRenderTravz790_18">_VPMaterialCacheAmbient</a> == mat.getAmbient().getPacked() && +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() && +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>->setConstant(_VPCurrentCtStart+0, 1, &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 < 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>->setConstant(_VPCurrentCtStart+1+i, 1, &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>->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 < <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>->setConstant(_VPCurrentCtStart + 1 + i, 1, &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 < 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>->setConstant(_VPCurrentCtStart+5+i, 1, &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>->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 < <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>->setConstant(_VPCurrentCtStart + 5 + i, 1, &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>->setConstant(_VPCurrentCtStart+10, 1, alphaCte); +00756 <span class="keywordflow">else</span> +00757 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>->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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>& NL3D::CRenderTrav::getDriverLight </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>index</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 >= 0 && index < 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </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 </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 </td> + <td class="mdname" nowrap> <em>normalize</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </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<=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<=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<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<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>=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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>& NL3D::CRenderTrav::getShadowMapManager </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>& NL3D::CRenderTrav::getShadowMapManager </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">NLMISC::CRGBA</a> & </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> & </td> + <td class="mdname" nowrap> <em>specular</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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 > 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<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]->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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>numModels</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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><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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>->getMaxLight(); i++) +00377 { +00378 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr7">Driver</a>->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>->setLight(0, _DriverLight[0]); +00388 <span class="comment">// setup NULL point lights (=> cache will fail), so no need to setup other lights in Driver.</span> +00389 <span class="keywordflow">for</span>(i=0; i<<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>->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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02851.html">NLMISC::CMatrix</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>camMatrix</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>drv</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">float </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 </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 </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 </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 </td> + <td class="mdname" nowrap> <em>perspective</em> = true</td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </td> + <td> + +<p> +Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be >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">( </td> + <td class="md" nowrap valign="top">float </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 </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 </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 </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 </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 </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 </td> + <td class="mdname" nowrap> <em>perspective</em> = true</td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </td> + <td> + +<p> +Setup the camera mode as a perspective/ortho camera. NB: znear and zfar must be >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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>directOrder</em> = true </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03703.html">CVertexStreamManager</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>msm</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set/Replace the MeshSkinManager. NULL by default => 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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03703.html">CVertexStreamManager</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>msm</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>dir</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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>()->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>()->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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03704.html">CViewport</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>viewport</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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< CTransform >::begin()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea0">NL3D::COrderingTable< CTransform >::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< CTransform >::get()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea2">NL3D::COrderingTable< CTransform >::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< CTransform >::getSize()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea3">NL3D::COrderingTable< CTransform >::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< CTransform >::insert()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea5">NL3D::COrderingTable< CTransform >::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< CTransform >::next()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea6">NL3D::COrderingTable< CTransform >::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< CTransform >::reset()</a>, <a class="el" href="a03030.html#NL3D_1_1COrderingTablea7">NL3D::COrderingTable< CTransform >::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>()->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>->getDriver()) +00107 { +00108 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>->release(); +00109 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr3">_MeshSkinManager</a>->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>->getDriver()) +00121 { +00122 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>->release(); +00123 <a class="code" href="a03325.html#NL3D_1_1CRenderTravr5">_ShadowMeshSkinManager</a>->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= &<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-><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>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->getWorldMatrix().getPos() - <a class="code" href="a02354.html#NL3D_1_1CTravCameraScenez1097_3">CamPos</a>).norm(); +00166 +00167 <span class="comment">// rPseudoZ from 0.0 -> 1.0</span> +00168 rPseudoZ = sqrtf( rPseudoZ * OOFar ); +00169 +00170 <span class="keywordflow">if</span>( pTransform->isOpaque() ) +00171 { +00172 <span class="comment">// since norm, we are sure that rPseudoZ>=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->isTransparent() ) +00179 { +00180 <span class="comment">// since norm, we are sure that rPseudoZ>=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->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>->getLodCharacterManager(); +00205 <span class="keywordflow">if</span>(clodMngr) +00206 clodMngr->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->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->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>->getCoarseMeshManager() ) +00236 <a class="code" href="a02214.html#NL3D_1_1CTraversalo0">Scene</a>->getCoarseMeshManager()->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! => 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>->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()->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()->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>->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()->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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </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> + + </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> + + </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> + + </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> + + </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> + + </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<<a class="el" href="a02713.html">CLandscapeModel</a>*> <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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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><<a class="el" href="a02316.html">CTransform</a>> <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> + + </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><<a class="el" href="a02316.html">CTransform</a>> <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> + + </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> + + </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<<a class="el" href="a02316.html">CTransform</a>*> <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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> + + </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> |