NL3D::CRenderTrav Class Reference

The Render traversal. More...

#include <render_trav.h>

Inherits NL3D::CTravCameraScene.

List of all members.

Classes

struct  CWaterModelDump

Public Member Functions

 CRenderTrav ()
 Constructor.
void setDriver (IDriver *drv)
IDrivergetDriver ()
IDrivergetAuxDriver ()
void setViewport (const CViewport &viewport)
CViewport getViewport () const
bool isCurrentPassOpaque ()
void setLayersRenderingOrder (bool directOrder=true)
 Set the order or rendering for transparent objects.
bool getLayersRenderingOrder () const
void setupTransparencySorting (uint8 maxPriority=0, uint NbDistanceEntries=1024)
 Setup transparency sorting.
void setMeshSkinManager (CVertexStreamManager *msm)
 Set/Replace the MeshSkinManager.
CVertexStreamManagergetMeshSkinManager () const
 get the MeshSkinManager
CShadowMapManagergetShadowMapManager ()
 get the CShadowMapManager
const CShadowMapManagergetShadowMapManager () const
void setShadowMeshSkinManager (CVertexStreamManager *msm)
 the MeshSkinManager for Shadow. Same Behaviour than std MeshSkinManager. NB: the Shadow MSM is inited with AuxDriver.
CVertexStreamManagergetShadowMeshSkinManager () const
void addRenderLandscape (CLandscapeModel *model)
void setupDriverCamera ()
ITravScene Implementation.



void traverse (UScene::TRenderPart renderPart, bool newRender)
 First traverse the root (if any), then render the render list.
RenderList.



void clearRenderList ()
 Clear the list of rendered models.
void addRenderModel (CTransform *m)
 Add a model to the list of rendered models.
void reserveRenderList (uint numModels)
void removeRenderModel (CTransform *m)
void clearWaterModelList ()
 Special for water (list of water to render).

Public Attributes

CWaterModel_FirstWaterModel
MeshBlock Manager. FOR MODEL TRAVERSING AND MESHS ONLY.



CMeshBlockManager MeshBlockManager
 The manager of meshBlock. Used to add instances.

Private Attributes

std::vector< CTransform * > RenderList
uint32 _CurrentNumVisibleModels
COrderingTable< CTransformOrderOpaqueList
std::vector
< CLayeredOrderingTable
< CTransform > > 
_OrderTransparentListByPriority
uint8 _MaxTransparencyPriority
IDriverDriver
CViewport _Viewport
bool _CurrentPassOpaque
bool _LayersRenderingOrder
CVertexStreamManager_MeshSkinManager
 The manager of skin. NULL by default.
CShadowMapManager _ShadowMapManager
 The ShadowMap Manager.
CVertexStreamManager_ShadowMeshSkinManager
 The SkinManager, but For Shadow rendering.

Render Lighting Setup. FOR MODEL TRAVERSING ONLY.



enum  { MaxVPLight = 4 }
void resetLightSetup ()
 reset the lighting setup in the driver (all lights are disabled).
void changeLightSetup (CLightContribution *lightContribution, bool useLocalAttenuation)
 setup the driver to the given lightContribution.
void beginVPLightSetup (uint ctStart, bool supportSpecular, const CMatrix &invObjectWM)
 setup the driver VP constants to get info from current LightSetup.
void changeVPLightSetupMaterial (const CMaterial &mat, bool excludeStrongest)
 change the driver VP LightSetup constants which depends on material.
const CLightgetDriverLight (sint index) const
 This returns a reference to a driver light, by its index.
sint getStrongestLightIndex () const
 return an index to the current strongest settuped light (or -1 if there's none)
void getStrongestLightColors (NLMISC::CRGBA &diffuse, NLMISC::CRGBA &specular)
 Get current color, diffuse and specular of the strongest light in the scene.
uint getNumVPLights () const
 return the number of VP lights currently activated (sunlight included) Value correct after beginVPLightSetup() only
static std::string getLightVPFragment (uint numActivePointLights, uint ctStart, bool supportSpecular, bool normalize)
 tool to get a VP fragment which compute lighting with following rules: IN:

  • R5 vertex in objectSpace (ie untransformed)
  • R6 normal in objectSpace (ie untransformed) OUT:
  • R6 normal normalized
  • o[COL0] and o[COL1] are setuped.

Render Lighting Setup.



bool LightingSystemEnabled
NLMISC::CRGBA AmbientGlobal
NLMISC::CRGBA SunAmbient
NLMISC::CRGBA SunDiffuse
NLMISC::CRGBA SunSpecular
CLightContribution_CacheLightContribution
bool _LastLocalAttenuation
uint _NumLightEnabled
uint _LastSunFactor
NLMISC::CRGBA _LastFinalAmbient
CPointLight_LastPointLight [NL3D_MAX_LIGHT_CONTRIBUTION]
uint8 _LastPointLightFactor [NL3D_MAX_LIGHT_CONTRIBUTION]
bool _LastPointLightLocalAttenuation [NL3D_MAX_LIGHT_CONTRIBUTION]
CVector _SunDirection
CLight _DriverLight [NL3D_MAX_LIGHT_CONTRIBUTION+1]
uint _StrongestLightIndex
bool _StrongestLightTouched
uint _VPCurrentCtStart
uint _VPNumLights
bool _VPSupportSpecular
NLMISC::CRGBAF _VPFinalAmbient
NLMISC::CRGBAF _VPLightDiffuse [MaxVPLight]
NLMISC::CRGBAF _VPLightSpecular [MaxVPLight]
NLMISC::CRGBA _StrongestLightDiffuse
NLMISC::CRGBA _StrongestLightSpecular
bool _VPMaterialCacheDirty
uint32 _VPMaterialCacheEmissive
uint32 _VPMaterialCacheAmbient
uint32 _VPMaterialCacheDiffuse
uint32 _VPMaterialCacheSpecular
float _VPMaterialCacheShininess
void setSunDirection (const CVector &dir)
const CVector getSunDirection () const

Special Landscape RenderList.

The Landscape list is separated from std render List for optimisation purpose.

See Doc in traverse() method.



std::vector< CLandscapeModel * > _LandscapeRenderList
void clearRenderLandscapeList ()
void renderLandscapes ()

Temp Debug



std::vector< CWaterModelDump_DebugWaterModelList
void debugWaterModelMemory (const char *tag, bool dumpList=false)

Detailed Description

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 traverse() method should render all the render models with IDriver.

This traversal has no graph of models

USER RULES: Before using traverse() on a render traversal, you should:

NB: see CScene for 3d conventions (orthonormal basis...)

Author:
Lionel Berenguier
Nevrax France
Date:
2000

Definition at line 99 of file render_trav.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
MaxVPLight 

Definition at line 234 of file render_trav.h.


Constructor & Destructor Documentation

NL3D::CRenderTrav::CRenderTrav (  ) 

Member Function Documentation

void NL3D::CRenderTrav::addRenderLandscape ( CLandscapeModel model  ) 

Definition at line 1252 of file render_trav.cpp.

References _LandscapeRenderList.

Referenced by NL3D::CLandscapeModel::traverseRender().

void NL3D::CRenderTrav::addRenderModel ( CTransform m  )  [inline]

Add a model to the list of rendered models.

DOESN'T CHECK if already inserted.

Definition at line 122 of file render_trav.h.

References _CurrentNumVisibleModels, NL3D::CTransform::_IndexLSBInRenderList, and RenderList.

Referenced by NL3D::CParticleSystemModel::traverseAnimDetail(), and NL3D::CTransform::traverseClip().

void NL3D::CRenderTrav::beginVPLightSetup ( uint  ctStart,
bool  supportSpecular,
const CMatrix invObjectWM 
)

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

Parameters:
ctStart the program use ctes from ctStart to ctStart+NumCtes.
supportSpecular asitsounds. PointLights and dirLight are localViewer
invObjectWM the inverse of object matrix: lights are mul by this. Vp compute in object space.

Definition at line 772 of file render_trav.cpp.

References _DriverLight, _NumLightEnabled, _VPCurrentCtStart, _VPFinalAmbient, _VPLightDiffuse, _VPLightSpecular, _VPMaterialCacheDirty, _VPNumLights, _VPSupportSpecular, AmbientGlobal, NLMISC::CRGBA::Black, NL3D::CTravCameraScene::CamPos, Driver, NL3D::CLight::getAmbiant(), NL3D::CLight::getDiffuse(), NL3D::CLight::getPosition(), NL3D::CLight::getSpecular(), MaxVPLight, min, NLMISC::CMatrix::mulVector(), nlassert, NLMISC::CVector::normalize(), and NL3D::IDriver::setConstant().

Referenced by NL3D::CMeshVPPerPixelLight::begin(), and NL3D::CMeshVPWindTree::setupLighting().

void NL3D::CRenderTrav::changeLightSetup ( CLightContribution lightContribution,
bool  useLocalAttenuation 
)

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 resetLightSetup(). 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.

Parameters:
useLocalAttenuation if true, use Hardware Attenuation, else use global one (attenuation with AttFactor)

Definition at line 624 of file render_trav.cpp.

References _CacheLightContribution, _DriverLight, _LastFinalAmbient, _LastLocalAttenuation, _LastPointLight, _LastPointLightFactor, _LastPointLightLocalAttenuation, _LastSunFactor, _NumLightEnabled, _StrongestLightTouched, _SunDirection, NLMISC::CRGBA::A, NLMISC::CRGBA::addRGBOnly(), NL3D::CLightContribution::AttFactor, NL3D::CLightContribution::computeCurrentAmbient(), Driver, NL3D::IDriver::enableLight(), NL3D::CLightContribution::Factor, LightingSystemEnabled, NL3D::CLightContribution::MergedPointLight, NLMISC::CRGBA::modulateFromuiRGBOnly(), NL3D_MAX_LIGHT_CONTRIBUTION, NL3D::CLightContribution::PointLight, NL3D::IDriver::setLight(), NL3D::CLight::setupDirectional(), NL3D::CPointLight::setupDriverLight(), NL3D::CPointLight::setupDriverLightUserAttenuation(), SunAmbient, NL3D::CLightContribution::SunContribution, SunDiffuse, SunSpecular, and NL3D::CLightContribution::UseMergedPointLight.

Referenced by NL3D::CTransformShape::changeLightSetup().

void NL3D::CRenderTrav::changeVPLightSetupMaterial ( const CMaterial mat,
bool  excludeStrongest 
)
void NL3D::CRenderTrav::clearRenderLandscapeList (  )  [private]

Definition at line 1246 of file render_trav.cpp.

References _LandscapeRenderList.

Referenced by traverse().

void NL3D::CRenderTrav::clearRenderList (  ) 

Clear the list of rendered models.

Definition at line 508 of file render_trav.cpp.

References _CurrentNumVisibleModels.

Referenced by NL3D::CClipTrav::traverse().

void NL3D::CRenderTrav::clearWaterModelList (  ) 

Special for water (list of water to render).

Definition at line 1281 of file render_trav.cpp.

References _FirstWaterModel, and NL3D::CWaterModel::unlink().

Referenced by NL3D::CScene::renderPart(), and traverse().

void NL3D::CRenderTrav::debugWaterModelMemory ( const char *  tag,
bool  dumpList = false 
)
IDriver* NL3D::CRenderTrav::getAuxDriver (  )  [inline]
IDriver* NL3D::CRenderTrav::getDriver ( void   )  [inline]
const CLight& NL3D::CRenderTrav::getDriverLight ( sint  index  )  const [inline]

This returns a reference to a driver light, by its index.

See also:
getStrongestLightIndex

Definition at line 314 of file render_trav.h.

References _DriverLight, NL3D_MAX_LIGHT_CONTRIBUTION, and nlassert.

Referenced by NL3D::CMeshVPPerPixelLight::begin().

bool NL3D::CRenderTrav::getLayersRenderingOrder (  )  const [inline]

Definition at line 167 of file render_trav.h.

References _LayersRenderingOrder.

Referenced by NL3D::CScene::getLayersRenderingOrder().

std::string NL3D::CRenderTrav::getLightVPFragment ( uint  numActivePointLights,
uint  ctStart,
bool  supportSpecular,
bool  normalize 
) [static]

tool to get a VP fragment which compute lighting with following rules: IN:

  • R5 vertex in objectSpace (ie untransformed)
  • R6 normal in objectSpace (ie untransformed) OUT:
  • R6 normal normalized
  • o[COL0] and o[COL1] are setuped.

NB: BF0 and BF1 not computed/setuped. Scratch:

  • R0, R1, R2, R3, R4

For information, constant mapping is (add ctStart):

== Strongest light included ==

if !supportSpecular:

  • 0: AmbientColor.
  • 1..4: DiffuseColor of 4 lights.
  • 5: - (directional Light direction) in objectSpace
  • 6..8: light position (3 pointLihgts) in objectSpace
  • 9: material Diffuse Alpha copied to output. cte is: {0,0, 1, alphaMat} TOTAL: 10 constants used. if supportSpecular:
  • 0: AmbientColor.
  • 1..4: DiffuseColor of 4 lights.
  • 5..8: SpecularColor of 4 lights. NB: SpecularColor[5].w get the specular exponent of the material
  • 9: - (directional Light direction) in objectSpace
  • 10: material Diffuse Alpha copied to output. cte is: {0,0, 1, alphaMat}
  • 11: eye position in objectSpace
  • 12..14: light position (3 pointLihgts) in objectSpace TOTAL: 15 constants used.

NB: the number of active light does not change the number of constantes used. But the VP code returned is modified accordingly.

Parameters:
numActivePoinLights 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).

Definition at line 1179 of file render_trav.cpp.

References NL3D::LightingVPFragmentNormalize, NL3D::LightingVPFragmentNoSpecular_Begin, NL3D::LightingVPFragmentNoSpecular_End, NL3D::LightingVPFragmentNoSpecular_PL, NL3D::LightingVPFragmentSpecular_Begin, NL3D::LightingVPFragmentSpecular_End, NL3D::LightingVPFragmentSpecular_PL, MaxVPLight, nlassert, and NL3D::strReplaceAll().

Referenced by NL3D::CMeshVPWindTree::initInstance(), and NL3D::CMeshVPPerPixelLight::initInstance().

CVertexStreamManager* NL3D::CRenderTrav::getMeshSkinManager (  )  const [inline]

get the MeshSkinManager

Definition at line 205 of file render_trav.h.

References _MeshSkinManager.

Referenced by NL3D::CSkeletonModel::renderSkinList().

uint NL3D::CRenderTrav::getNumVPLights (  )  const [inline]

return the number of VP lights currently activated (sunlight included) Value correct after beginVPLightSetup() only

Definition at line 332 of file render_trav.h.

References _VPNumLights.

Referenced by NL3D::CMeshVPWindTree::begin(), and NL3D::CMeshVPWindTree::beginMBRInstance().

const CShadowMapManager& NL3D::CRenderTrav::getShadowMapManager (  )  const [inline]

Definition at line 209 of file render_trav.h.

References _ShadowMapManager.

CShadowMapManager& NL3D::CRenderTrav::getShadowMapManager (  )  [inline]
CVertexStreamManager* NL3D::CRenderTrav::getShadowMeshSkinManager (  )  const [inline]

Definition at line 213 of file render_trav.h.

References _ShadowMeshSkinManager.

Referenced by NL3D::CSkeletonModel::renderShadowSkins().

void NL3D::CRenderTrav::getStrongestLightColors ( NLMISC::CRGBA diffuse,
NLMISC::CRGBA specular 
)

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 changeVPLightSetupMaterial() has been called

Definition at line 993 of file render_trav.cpp.

References _StrongestLightDiffuse, _StrongestLightSpecular, NLMISC::CRGBA::Black, and getStrongestLightIndex().

Referenced by NL3D::CMeshVPPerPixelLight::setupForMaterial().

sint NL3D::CRenderTrav::getStrongestLightIndex (  )  const
const CVector NL3D::CRenderTrav::getSunDirection (  )  const [inline]

Definition at line 193 of file render_trav.h.

References _SunDirection.

Referenced by NL3D::CScene::getSunDirection().

CViewport NL3D::CRenderTrav::getViewport (  )  const [inline]

Definition at line 153 of file render_trav.h.

References _Viewport.

Referenced by NL3D::CScene::renderOcclusionTestMeshs().

bool NL3D::CRenderTrav::isCurrentPassOpaque (  )  [inline]
void NL3D::CRenderTrav::removeRenderModel ( CTransform m  ) 
void NL3D::CRenderTrav::renderLandscapes (  )  [private]

Definition at line 1258 of file render_trav.cpp.

References _LandscapeRenderList.

Referenced by traverse().

void NL3D::CRenderTrav::reserveRenderList ( uint  numModels  ) 

Definition at line 535 of file render_trav.cpp.

References RenderList.

Referenced by NL3D::CScene::createModel().

void NL3D::CRenderTrav::resetLightSetup (  ) 
void NL3D::CRenderTrav::setDriver ( IDriver drv  )  [inline]

Definition at line 145 of file render_trav.h.

References Driver.

Referenced by NL3D::CScene::setDriver().

void NL3D::CRenderTrav::setLayersRenderingOrder ( bool  directOrder = true  )  [inline]

Set the order or rendering for transparent objects.

In real case, with direct order, we have:

  • Underwater is rendered.
  • Water is rendered.
  • Objects above water are rendered.

Definition at line 166 of file render_trav.h.

References _LayersRenderingOrder.

Referenced by NL3D::CScene::setLayersRenderingOrder().

void NL3D::CRenderTrav::setMeshSkinManager ( CVertexStreamManager msm  ) 

Set/Replace the MeshSkinManager.

NULL by default => skinning is slower. The ptr is handled but not deleted. There should be one MeshSkinManager per driver.

Definition at line 523 of file render_trav.cpp.

References _MeshSkinManager.

Referenced by NL3D::CDriverUser::createScene(), and NL3D::CNELU::initScene().

void NL3D::CRenderTrav::setShadowMeshSkinManager ( CVertexStreamManager msm  ) 

the MeshSkinManager for Shadow. Same Behaviour than std MeshSkinManager. NB: the Shadow MSM is inited with AuxDriver.

Definition at line 529 of file render_trav.cpp.

References _ShadowMeshSkinManager.

Referenced by NL3D::CDriverUser::createScene().

void NL3D::CRenderTrav::setSunDirection ( const CVector dir  ) 

Definition at line 515 of file render_trav.cpp.

References _SunDirection, and NLMISC::CVector::normalize().

Referenced by NL3D::CScene::setSunDirection().

void NL3D::CRenderTrav::setupDriverCamera (  ) 
void NL3D::CRenderTrav::setupTransparencySorting ( uint8  maxPriority = 0,
uint  NbDistanceEntries = 1024 
)

Setup transparency sorting.

Parameters:
maxPriority Defines the valid range for priority in the [0, n] interval. By default, there's no prioriy sorting (0 -> single priority, 255 -> 256 possible priorities) Objects with highers priority are displayed before any other object with lower priority, whatever their distance is.
NbDistanceEntries Defines the granularity for distance sorting. A value of N with a view distance of D meters means that the sorting accuracy will be of D / N meters at worst (when visible objects occupy the whole distance range) NB : The memory allocated is a multiple of NumPriority * NbDistanceEntries * 2 (2 if because of water ordering)

Definition at line 1268 of file render_trav.cpp.

References _MaxTransparencyPriority, _OrderTransparentListByPriority, and NLMISC::contReset().

Referenced by CRenderTrav(), and NL3D::CSceneUser::setupTransparencySorting().

void NL3D::CRenderTrav::setViewport ( const CViewport viewport  )  [inline]

Definition at line 149 of file render_trav.h.

References _Viewport.

Referenced by NL3D::CScene::renderPart().

void NL3D::CRenderTrav::traverse ( UScene::TRenderPart  renderPart,
bool  newRender 
)

First traverse the root (if any), then render the render list.

NB: no Driver clear buffers (color or ZBuffer) are done....

Parameters:
renderPart : The part of the scene that must be rendered
newRender true If scene render is beginning. Otherwise other parts of the scene have already been rendered.

Definition at line 102 of file render_trav.cpp.

References _CurrentNumVisibleModels, _CurrentPassOpaque, _FirstWaterModel, _LayersRenderingOrder, _MaxTransparencyPriority, _MeshSkinManager, NL3D::CWaterModel::_Next, _OrderTransparentListByPriority, _ShadowMapManager, _ShadowMeshSkinManager, _Viewport, NL3D::COrderingTable< T >::begin(), NL3D::ILandscapePolyDrawingCallback::beginPolyDrawing(), NL3D::CLodCharacterManager::beginRender(), NL3D::CTravCameraScene::CamPos, clearRenderLandscapeList(), clearWaterModelList(), Driver, NL3D::ILandscapePolyDrawingCallback::endPolyDrawing(), NL3D::CLodCharacterManager::endRender(), NL3D::CTravCameraScene::Far, NL3D::CWaterModel::fillVB(), NL3D::CMeshBlockManager::flush(), NL3D::CCoarseMeshManager::flushRender(), NL3D::COrderingTable< T >::get(), getAuxDriver(), NL3D::CScene::getCoarseMeshManager(), NL3D::CVertexStreamManager::getDriver(), getDriver(), NL3D::CScene::getLandscapePolyDrawingCallback(), NL3D::CScene::getLodCharacterManager(), NL3D::CWaterModel::getNumWantedVertices(), NL3D::CTransform::getOrderingLayer(), NLMISC::CMatrix::getPos(), NL3D::CScene::getShapeBank(), NL3D::CShapeBank::getShapeNameFromShapePtr(), NL3D::COrderingTable< T >::getSize(), NL3D::CTransform::getTransparencyPriority(), NL3D::CVertexBufferReadWrite::getVertexCoordPointer(), NL3D::CScene::getWaterVB(), NL3D::CTransform::getWorldMatrix(), H_AUTO, NL3D::CVertexStreamManager::init(), NL3D::COrderingTable< T >::insert(), NL3D::CScene::isNextRenderProfile(), NL3D::CTransform::isOpaque(), NL3D::CTransform::isTransparent(), NL3D::CVertexBuffer::lock(), MeshBlockManager, min, NL3D::COrderingTable< T >::next(), NL3D_MESH_SKIN_MANAGER_MAXVERTICES, NL3D_MESH_SKIN_MANAGER_NUMVB, NL3D_MESH_SKIN_MANAGER_VERTEXFORMAT, NL3D_SHADOW_MESH_SKIN_MANAGER_MAXVERTICES, NL3D_SHADOW_MESH_SKIN_MANAGER_NUMVB, NL3D_SHADOW_MESH_SKIN_MANAGER_VERTEXFORMAT, nlassert, nlwarning, NLMISC::OptFastFloor(), NLMISC::OptFastFloorBegin(), NLMISC::OptFastFloorEnd(), OrderOpaqueList, NL3D::CTransform::profileRender(), NL3D::CVertexStreamManager::release(), NL3D::UScene::RenderFlare, NL3D::CShadowMapManager::renderGenerate(), renderLandscapes(), RenderList, NL3D::UScene::RenderOpaque, NL3D::CShadowMapManager::renderProject(), NL3D::UScene::RenderTransparent, NL3D::COrderingTable< T >::reset(), resetLightSetup(), NL3D::CTraversal::Scene, setupDriverCamera(), NL3D::CWaterModel::setupVertexBuffer(), NL3D::IDriver::setupViewport(), NL3D::CTransformShape::Shape, NL3D::CTransform::traverseRender(), and NL3D::CTravCameraScene::update().

Referenced by NL3D::CScene::renderPart().


Member Data Documentation

Definition at line 370 of file render_trav.h.

Referenced by changeLightSetup(), CRenderTrav(), and resetLightSetup().

Definition at line 363 of file render_trav.h.

Referenced by CRenderTrav(), isCurrentPassOpaque(), and traverse().

Definition at line 450 of file render_trav.h.

Referenced by debugWaterModelMemory().

CLight NL3D::CRenderTrav::_DriverLight[NL3D_MAX_LIGHT_CONTRIBUTION+1] [private]

Definition at line 438 of file render_trav.h.

Referenced by addRenderLandscape(), clearRenderLandscapeList(), and renderLandscapes().

Definition at line 377 of file render_trav.h.

Referenced by changeLightSetup(), and resetLightSetup().

Definition at line 371 of file render_trav.h.

Referenced by changeLightSetup().

CPointLight* NL3D::CRenderTrav::_LastPointLight[NL3D_MAX_LIGHT_CONTRIBUTION] [private]

Definition at line 378 of file render_trav.h.

Referenced by changeLightSetup(), and resetLightSetup().

uint8 NL3D::CRenderTrav::_LastPointLightFactor[NL3D_MAX_LIGHT_CONTRIBUTION] [private]

Definition at line 379 of file render_trav.h.

Referenced by changeLightSetup().

bool NL3D::CRenderTrav::_LastPointLightLocalAttenuation[NL3D_MAX_LIGHT_CONTRIBUTION] [private]

Definition at line 380 of file render_trav.h.

Referenced by changeLightSetup().

Definition at line 376 of file render_trav.h.

Referenced by changeLightSetup(), and resetLightSetup().

Definition at line 357 of file render_trav.h.

Referenced by CRenderTrav(), setupTransparencySorting(), and traverse().

The manager of skin. NULL by default.

Definition at line 418 of file render_trav.h.

Referenced by CRenderTrav(), getMeshSkinManager(), setMeshSkinManager(), and traverse().

Definition at line 356 of file render_trav.h.

Referenced by setupTransparencySorting(), and traverse().

The ShadowMap Manager.

Definition at line 422 of file render_trav.h.

Referenced by getShadowMapManager(), and traverse().

The SkinManager, but For Shadow rendering.

Definition at line 424 of file render_trav.h.

Referenced by CRenderTrav(), getShadowMeshSkinManager(), setShadowMeshSkinManager(), and traverse().

Definition at line 403 of file render_trav.h.

Referenced by changeVPLightSetupMaterial(), and getStrongestLightColors().

Definition at line 388 of file render_trav.h.

Definition at line 404 of file render_trav.h.

Referenced by changeVPLightSetupMaterial(), and getStrongestLightColors().

Definition at line 360 of file render_trav.h.

Referenced by getViewport(), setViewport(), and traverse().

Definition at line 392 of file render_trav.h.

Referenced by beginVPLightSetup(), and changeVPLightSetupMaterial().

Definition at line 398 of file render_trav.h.

Referenced by beginVPLightSetup(), and changeVPLightSetupMaterial().

Definition at line 409 of file render_trav.h.

Referenced by changeVPLightSetupMaterial().

Definition at line 410 of file render_trav.h.

Referenced by changeVPLightSetupMaterial().

Definition at line 407 of file render_trav.h.

Referenced by beginVPLightSetup(), and changeVPLightSetupMaterial().

Definition at line 408 of file render_trav.h.

Referenced by changeVPLightSetupMaterial().

Definition at line 412 of file render_trav.h.

Referenced by changeVPLightSetupMaterial().

Definition at line 411 of file render_trav.h.

Referenced by changeVPLightSetupMaterial().

Definition at line 394 of file render_trav.h.

Referenced by beginVPLightSetup(), changeVPLightSetupMaterial(), and getNumVPLights().

Definition at line 396 of file render_trav.h.

Referenced by beginVPLightSetup(), and changeVPLightSetupMaterial().

The manager of meshBlock. Used to add instances.

Definition at line 341 of file render_trav.h.

Referenced by traverse(), and NL3D::CTransformShape::traverseRender().

Definition at line 355 of file render_trav.h.

Referenced by CRenderTrav(), and traverse().

std::vector<CTransform*> NL3D::CRenderTrav::RenderList [private]

The documentation for this class was generated from the following files:

Generated on Thu Jan 7 08:30:10 2010 for NeL by  doxygen 1.6.1