NL3D::UScene Class Reference

#include <u_scene.h>

Inheritance diagram for NL3D::UScene:

NL3D::CSceneUser

Detailed Description

Game Interface for Scene. A UScene create instances, camera lights etc... Those objects are not sharable through different scenes. You cannot use a camera create with Scene1, for viewing Scene2.

The scene is created with a default camera that you can retrieve with getCam().

Author:
Lionel Berenguier

Nevrax France

Date:
2001

Definition at line 90 of file u_scene.h.

LoadBalancing mgt.

enum  TPolygonBalancingMode { PolygonBalancingOff = 0, PolygonBalancingOn, PolygonBalancingClamp, CountPolygonBalancing }
virtual uint getGroupLoadMaxPolygon (const std::string &group)=0
virtual float getGroupNbFaceAsked (const std::string &group) const=0
virtual uint getMaxSkeletonsInNotCLodForm () const=0
 see setMaxSkeletonsInNotCLodForm()

virtual float getNbFaceAsked () const=0
virtual TPolygonBalancingMode getPolygonBalancingMode () const=0
 Get the PolygonBalancingMode.

virtual void setGroupLoadMaxPolygon (const std::string &group, uint nFaces)=0
virtual void setMaxSkeletonsInNotCLodForm (uint m)=0
virtual void setPolygonBalancingMode (TPolygonBalancingMode polBalMode)=0
 Set the PolygonBalancingMode.


Profiling and Render Filtering

enum  TRenderFilter {
  FilterLandscape = 0x00000001, FilterWater = 0x00000002, FilterMeshNoVP = 0x00000004, FilterMeshVP = 0x00000008,
  FilterMeshMRMNoVP = 0x00000010, FilterMeshMRMVP = 0x00000020, FilterMeshLodNoVP = 0x00000040, FilterMeshLodVP = 0x00000080,
  FilterSkeleton = 0x00000100, FilterSegRemanence = 0x00000200, FilterPS = 0x00000400, FilterFlare = 0x00000800,
  FilterCoarseMesh = 0x00001000, FilterAllMeshNoVP = FilterMeshNoVP + FilterMeshMRMNoVP + FilterMeshLodNoVP, FilterAllMeshVP = FilterMeshVP + FilterMeshMRMVP + FilterMeshLodVP, FilterAllMesh = FilterAllMeshNoVP+FilterAllMeshVP,
  FilterFX = FilterSegRemanence + FilterPS + FilterFlare
}
virtual void enableElementRender (TRenderFilter elt, bool state)=0
virtual void getProfileResults (CBenchResults &results)=0
 get The result of the profiling.

virtual void profileNextRender ()=0
 Enable Profiling for the next render(). Reset All stats.

virtual void profileQuadGridClipManager ()=0

Public Types


Public Member Functions

virtual IWaterSurfaceAddedCallbackgetWaterCallback () const=0
virtual void setWaterCallback (IWaterSurfaceAddedCallback *wcb)=0
Render
virtual void animate (TGlobalAnimationTime time)=0
virtual void render ()=0
virtual void updateWaitingInstances (double systemTimeEllapsed)=0
Animation gestion.
virtual UAnimationSetcreateAnimationSet (const std::string &animationSetFile)=0
 Create a new AnimationSet, load it from a file. Use CPath to search the animation set. exception EPathNotFound if not found.

virtual UAnimationSetcreateAnimationSet ()=0
 Create an empty AnimationSet.

virtual UPlayListManagercreatePlayListManager ()=0
 Create a new PlayListManager.

virtual void deleteAnimationSet (UAnimationSet *animationSet)=0
 Delete a AnimationSet. NB: actually, this animation set is internally deleted only when no more UPlayList use it.

virtual void deletePlayListManager (UPlayListManager *playListManager)=0
 Delete a PlayListManager.

virtual void setAutomaticAnimationSet (UAnimationSet *as)=0
Component Mgt.
virtual UCameracreateCamera ()=0
 Create a camera. Usefull for this scene only.

virtual UCloudScapecreateCloudScape ()=0
 Create a landscape. There could be many Landscape per Scene (Driver? :). But never tested :).

virtual UInstancecreateInstance (const std::string &shapeName)=0
virtual void createInstanceAsync (const std::string &shapeName, UInstance **ppInstance, const NLMISC::CVector &position, uint selectedTexture)=0
virtual void createInstanceGroupAndAddToSceneAsync (const std::string &instanceGroup, UInstanceGroup **pIG, const NLMISC::CVector &pos, const NLMISC::CQuat &rot, uint selectedTexture, IAsyncLoadCallback *pCB=NULL)=0
virtual ULandscapecreateLandscape ()=0
 Create a landscape. There could be many Landscape per Scene (Driver? :). But never tested :).

virtual UPointLightcreatePointLight ()=0
 Create a dynamic PointLight. Usefull for this scene only.

virtual USkeletoncreateSkeleton (const std::string &shapeName)=0
virtual UTransformcreateTransform ()=0
virtual void deleteCamera (UCamera *cam)=0
 Delete a camera.

virtual void deleteCloudScape (UCloudScape *cs)=0
 delete a landscape.

virtual void deleteInstance (UInstance *inst)=0
virtual void deleteInstanceGroup (UInstanceGroup *pIG)=0
virtual void deleteLandscape (ULandscape *land)=0
 delete a landscape.

virtual void deletePointLight (UPointLight *light)=0
 Delete a dynamic PointLight.

virtual void deleteSkeleton (USkeleton *skel)=0
virtual void deleteTransform (UTransform *tr)=0
virtual void setToGlobalInstanceGroup (UInstanceGroup *pIGU)=0
virtual void stopCreatingAndAddingIG (UInstanceGroup **pIG)=0
Visual Collision manager.
virtual UVisualCollisionManagercreateVisualCollisionManager ()=0
virtual void deleteVisualCollisionManager (UVisualCollisionManager *mgr)=0
CLod / Character Lod mgt
virtual void deleteCLodShapeBank (uint32 bankId)=0
 delete a Shape Bank. No-op if bad id.

virtual sint32 getCLodAnimIdByName (uint32 shapeId, const std::string &name) const=0
virtual sint32 getCLodShapeIdByName (const std::string &name) const=0
virtual uint32 loadCLodShapeBank (const std::string &fileName)=0
virtual void resetCLodManager ()=0
 reset the manager.

Global light setup.
virtual void enableLightingSystem (bool enable)=0
virtual NLMISC::CRGBA getAmbientGlobal () const=0
 get the global Ambient used for the scene. Default to (50, 50, 50).

virtual float getLightTransitionThreshold () const=0
 getLightTransitionThreshold()

virtual uint getMaxLightContribution () const=0
 setMaxLightContribution()

virtual NLMISC::CRGBA getSunAmbient () const=0
 get the Ambient of the Sun used for the scene.

virtual NLMISC::CRGBA getSunDiffuse () const=0
 get the Diffuse of the Sun used for the scene.

virtual NLMISC::CVector getSunDirection () const=0
 get the Direction of the Sun used for the scene.

virtual NLMISC::CRGBA getSunSpecular () const=0
 get the Specular of the Sun used for the scene.

virtual void setAmbientGlobal (NLMISC::CRGBA ambient)=0
 set the global Ambient used for the scene. Default to (50, 50, 50).

virtual void setLightGroupColor (uint lightmapGroup, NLMISC::CRGBA color)=0
 set the color of a light group.

virtual void setLightTransitionThreshold (float lightTransitionThreshold)=0
virtual void setMaxLightContribution (uint nlights)=0
virtual void setSunAmbient (NLMISC::CRGBA ambient)=0
 set the Ambient of the Sun used for the scene.

virtual void setSunDiffuse (NLMISC::CRGBA diffuse)=0
 set the Diffuse of the Sun used for the scene.

virtual void setSunDirection (const NLMISC::CVector &direction)=0
 set the Direction of the Sun used for the scene.

virtual void setSunSpecular (NLMISC::CRGBA specular)=0
 set the Specular of the Sun used for the scene.

ShadowMapping Options
virtual void enableShadowPolySmooth (bool enable)=0
 Enable Polygon Smoothing.

virtual bool getEnableShadowPolySmooth () const=0
 get Enable Polygon Smoothing flag

virtual uint getShadowMapBlurSize () const=0
 get the size of the blur (<=3 means number of fakeBlur).

virtual float getShadowMapDistFadeEnd () const=0
 Enable Polygon Smoothing.

virtual float getShadowMapDistFadeStart () const=0
 Enable Polygon Smoothing.

virtual uint getShadowMapMaxCasterAround () const=0
 Enable Polygon Smoothing.

virtual uint getShadowMapMaxCasterInScreen () const=0
 Enable Polygon Smoothing.

virtual float getShadowMapMaxDepth () const=0
 return the current ShadowMap Max Depth. This is the length in the lightDir direction where the shadow can touch receivers

virtual uint getShadowMapTextureSize () const=0
 return the current base ShadowMap TextureSize. Default is 64 texels.

virtual void setShadowMapBlurSize (uint bs)=0
 set the size of the blur (<=3 means number of fakeBlur).

virtual void setShadowMapDistFadeEnd (float dist)=0
 ShadowMap Distance Fade end (50 default).

virtual void setShadowMapDistFadeStart (float dist)=0
 ShadowMap Distance Fade Start (40 default).

virtual void setShadowMapMaxCasterAround (uint num)=0
 ShadowMap max Caster Around (optimize memory).

virtual void setShadowMapMaxCasterInScreen (uint num)=0
 ShadowMap max Caster In Screen (optimize CPU/GPU).

virtual void setShadowMapMaxDepth (float depth)=0
 set the ShadowMap Extent

virtual void setShadowMapTextureSize (uint size)=0
 must be a power of 2.

Camera/Viewport.
virtual void findCameraClusterSystemFromRay (UCamera *cam, UInstanceGroup *startClusterSystem, const NLMISC::CVector &startPos, const NLMISC::CVector &endPos)=0
virtual UCameragetCam ()=0
 Get the current camera.

virtual CViewport getViewport ()=0
 Get the current Viewport.

virtual void setCam (UCamera *cam)=0
 Set the current camera for this scene. nlError if NULL, or if the camera was not created by this UScene.

virtual void setViewport (const class CViewport &viewport)=0
 Set the current Viewport.

Coarse meshes mgt.
virtual uint8 getCoarseMeshLightingUpdate () const=0
 see setCoarseMeshLightingUpdate()

virtual void setCoarseMeshLightingUpdate (uint8 period)=0
virtual void setCoarseMeshManagerTexture (const char *sPath)=0
Flare contexts
The flare objects are designed to work with a single scene, because they simulate 'retinian persistence' based on the visibility in the current scene. Several context allow to deals with a flare rendered from several points of views. There's a limited number of contexts

virtual uint getFlareContext () const=0
virtual uint getNumFlareContexts () const=0
virtual void setFlareContext (uint context)=0
Weather mgt
virtual const NLMISC::CVectorgetGlobalWindDirection () const=0
 get the current windDirection

virtual float getGlobalWindPower () const=0
 get the current windPower

virtual void setGlobalWindDirection (const NLMISC::CVector &gwd)=0
 Set the current windDirection for all the scene. dir.z set to 0 and vector normalized.

virtual void setGlobalWindPower (float gwp)=0
 Set the current windPower for all the scene. 0-1.

transparent Layers mgt
virtual bool getLayersRenderingOrder () const=0
virtual void setLayersRenderingOrder (bool directOrder=true)=0

Protected Member Functions

Object
 UScene ()
virtual ~UScene ()


Member Enumeration Documentation

enum NL3D::UScene::TPolygonBalancingMode
 

The mode of polygon balancing. NB: this apply to All LoadBalancingGroups, but the "Default" group which is always considered as PolygonBalancingOff PolygonBalancingOff => Models will be rendered with the number of faces they want to render. PolygonBalancingOn => Models will be rendered with the number of faces the LoadBalancing want. PolygonBalancingClamp => Same as PolygonBalancingOn, but factor <= 1, ie models won't be rendered with more face they want to render.

Enumeration values:
PolygonBalancingOff 
PolygonBalancingOn 
PolygonBalancingClamp 
CountPolygonBalancing 

Definition at line 271 of file u_scene.h.

enum NL3D::UScene::TRenderFilter
 

Enumeration values:
FilterLandscape 
FilterWater 
FilterMeshNoVP 
FilterMeshVP 
FilterMeshMRMNoVP 
FilterMeshMRMVP 
FilterMeshLodNoVP 
FilterMeshLodVP 
FilterSkeleton 
FilterSegRemanence 
FilterPS 
FilterFlare 
FilterCoarseMesh 
FilterAllMeshNoVP 
FilterAllMeshVP 
FilterAllMesh 
FilterFX 

Definition at line 459 of file u_scene.h.

00460         {
00461                 FilterLandscape=        0x00000001,
00462                 FilterWater=            0x00000002,
00463                 FilterMeshNoVP=         0x00000004,
00464                 FilterMeshVP=           0x00000008,
00465                 FilterMeshMRMNoVP=      0x00000010,
00466                 FilterMeshMRMVP=        0x00000020,
00467                 FilterMeshLodNoVP=      0x00000040,
00468                 FilterMeshLodVP=        0x00000080,
00469                 FilterSkeleton=         0x00000100,                     // For skins, and also for sticked objects.
00470                 FilterSegRemanence= 0x00000200,
00471                 FilterPS=                       0x00000400,
00472                 FilterFlare=            0x00000800,
00473                 FilterCoarseMesh=       0x00001000,                     // Disable render of CoarseMesh (but not management through Meshs!)
00474 
00475                 // Combos:
00476                 FilterAllMeshNoVP=      FilterMeshNoVP + FilterMeshMRMNoVP + FilterMeshLodNoVP,
00477                 FilterAllMeshVP=        FilterMeshVP + FilterMeshMRMVP + FilterMeshLodVP,
00478                 FilterAllMesh=          FilterAllMeshNoVP+FilterAllMeshVP,
00479                 FilterFX=                       FilterSegRemanence + FilterPS + FilterFlare,
00480         };


Constructor & Destructor Documentation

NL3D::UScene::UScene  )  [inline, protected]
 

Definition at line 96 of file u_scene.h.

00096 {}

virtual NL3D::UScene::~UScene  )  [inline, protected, virtual]
 

Definition at line 97 of file u_scene.h.

00097 {}


Member Function Documentation

virtual void NL3D::UScene::animate TGlobalAnimationTime  time  )  [pure virtual]
 

Set the animation time for lightmap and Particle System animation.

Implemented in NL3D::CSceneUser.

virtual UAnimationSet* NL3D::UScene::createAnimationSet const std::string &  animationSetFile  )  [pure virtual]
 

Create a new AnimationSet, load it from a file. Use CPath to search the animation set. exception EPathNotFound if not found.

Implemented in NL3D::CSceneUser.

virtual UAnimationSet* NL3D::UScene::createAnimationSet  )  [pure virtual]
 

Create an empty AnimationSet.

Implemented in NL3D::CSceneUser.

virtual UCamera* NL3D::UScene::createCamera  )  [pure virtual]
 

Create a camera. Usefull for this scene only.

A Uscene is a factory of Instance/Landscape/Lights etc...

Implemented in NL3D::CSceneUser.

virtual UCloudScape* NL3D::UScene::createCloudScape  )  [pure virtual]
 

Create a landscape. There could be many Landscape per Scene (Driver? :). But never tested :).

Implemented in NL3D::CSceneUser.

virtual UInstance* NL3D::UScene::createInstance const std::string &  shapeName  )  [pure virtual]
 

Create an instance of the shape "shapename". If not present, try to load "shapename" via CPath. If fails (file not found), return NULL. nlerror if the file is not a mesh file.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::createInstanceAsync const std::string &  shapeName,
UInstance **  ppInstance,
const NLMISC::CVector position,
uint  selectedTexture
[pure virtual]
 

Same as createInstance but the instance is loaded asynchronously. You must poll to know if the instance if created by calling render()

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::createInstanceGroupAndAddToSceneAsync const std::string &  instanceGroup,
UInstanceGroup **  pIG,
const NLMISC::CVector pos,
const NLMISC::CQuat rot,
uint  selectedTexture,
IAsyncLoadCallback pCB = NULL
[pure virtual]
 

create an instance group asynchronously, and add it to a scene asynchronously once it has been loaded. The instance groups that must be added to the scene are checked at each render. The pIG pointer is filled once the instance group has been loaded and add to the scene

Implemented in NL3D::CSceneUser.

virtual ULandscape* NL3D::UScene::createLandscape  )  [pure virtual]
 

Create a landscape. There could be many Landscape per Scene (Driver? :). But never tested :).

Implemented in NL3D::CSceneUser.

virtual UPlayListManager* NL3D::UScene::createPlayListManager  )  [pure virtual]
 

Create a new PlayListManager.

Implemented in NL3D::CSceneUser.

virtual UPointLight* NL3D::UScene::createPointLight  )  [pure virtual]
 

Create a dynamic PointLight. Usefull for this scene only.

Implemented in NL3D::CSceneUser.

virtual USkeleton* NL3D::UScene::createSkeleton const std::string &  shapeName  )  [pure virtual]
 

Create a skeleton instance of the skeleton shape "shapename". If not present, try to load "shapename" via CPath. If fails (file not found), return NULL. nlerror if the file is not a skeleton shape file.

Implemented in NL3D::CSceneUser.

virtual UTransform* NL3D::UScene::createTransform  )  [pure virtual]
 

Create a dummy object

Implemented in NL3D::CSceneUser.

virtual UVisualCollisionManager* NL3D::UScene::createVisualCollisionManager  )  [pure virtual]
 

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteAnimationSet UAnimationSet animationSet  )  [pure virtual]
 

Delete a AnimationSet. NB: actually, this animation set is internally deleted only when no more UPlayList use it.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteCamera UCamera cam  )  [pure virtual]
 

Delete a camera.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteCLodShapeBank uint32  bankId  )  [pure virtual]
 

delete a Shape Bank. No-op if bad id.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteCloudScape UCloudScape cs  )  [pure virtual]
 

delete a landscape.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteInstance UInstance inst  )  [pure virtual]
 

Delete an instance via his pointer.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteInstanceGroup UInstanceGroup pIG  )  [pure virtual]
 

Delete an instance group

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteLandscape ULandscape land  )  [pure virtual]
 

delete a landscape.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deletePlayListManager UPlayListManager playListManager  )  [pure virtual]
 

Delete a PlayListManager.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deletePointLight UPointLight light  )  [pure virtual]
 

Delete a dynamic PointLight.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteSkeleton USkeleton skel  )  [pure virtual]
 

Delete a skeleton instance via his pointer.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteTransform UTransform tr  )  [pure virtual]
 

Delete a dummy object

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::deleteVisualCollisionManager UVisualCollisionManager mgr  )  [pure virtual]
 

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::enableElementRender TRenderFilter  elt,
bool  state
[pure virtual]
 

Enable or disable some Models to be rendered (for profile). Default is ALL enabled NB: filtering is made at clip pass. Hence, much of the render processing is skipped (animDetail, light, lod, render)

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::enableLightingSystem bool  enable  )  [pure virtual]
 

Enable Scene Lighting system. For backward compatibility, false by default. If false, all objects will take last driver 's light setup

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::enableShadowPolySmooth bool  enable  )  [pure virtual]
 

Enable Polygon Smoothing.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::findCameraClusterSystemFromRay UCamera cam,
UInstanceGroup startClusterSystem,
const NLMISC::CVector startPos,
const NLMISC::CVector endPos
[pure virtual]
 

Special For Camera Third person. Traverse the ClusterSystem with a Ray (clip through portals, cluster system hierarchy...), to find where could lies the camera at End point. As result, a camera->setClusterSystem() is done with the found cluster system

Implemented in NL3D::CSceneUser.

virtual NLMISC::CRGBA NL3D::UScene::getAmbientGlobal  )  const [pure virtual]
 

get the global Ambient used for the scene. Default to (50, 50, 50).

Implemented in NL3D::CSceneUser.

virtual UCamera* NL3D::UScene::getCam  )  [pure virtual]
 

Get the current camera.

Implemented in NL3D::CSceneUser.

virtual sint32 NL3D::UScene::getCLodAnimIdByName uint32  shapeId,
const std::string &  name
const [pure virtual]
 

Get a AnimId of a shape by its name. -1 if not found.

Implemented in NL3D::CSceneUser.

virtual sint32 NL3D::UScene::getCLodShapeIdByName const std::string &  name  )  const [pure virtual]
 

Get a shapeId by its name. -1 if not found.

Implemented in NL3D::CSceneUser.

virtual uint8 NL3D::UScene::getCoarseMeshLightingUpdate  )  const [pure virtual]
 

see setCoarseMeshLightingUpdate()

Implemented in NL3D::CSceneUser.

virtual bool NL3D::UScene::getEnableShadowPolySmooth  )  const [pure virtual]
 

get Enable Polygon Smoothing flag

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getFlareContext  )  const [pure virtual]
 

Implemented in NL3D::CSceneUser.

virtual const NLMISC::CVector& NL3D::UScene::getGlobalWindDirection  )  const [pure virtual]
 

get the current windDirection

Implemented in NL3D::CSceneUser.

virtual float NL3D::UScene::getGlobalWindPower  )  const [pure virtual]
 

get the current windPower

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getGroupLoadMaxPolygon const std::string &  group  )  [pure virtual]
 

Get the number of faces wanted for a LoadBlancingGroup. The Group is created if did not exist.

Implemented in NL3D::CSceneUser.

virtual float NL3D::UScene::getGroupNbFaceAsked const std::string &  group  )  const [pure virtual]
 

Get the last face count asked from the instances before reduction. only for the given group return 0 if the Group does not exist.

Implemented in NL3D::CSceneUser.

virtual bool NL3D::UScene::getLayersRenderingOrder  )  const [pure virtual]
 

Implemented in NL3D::CSceneUser.

virtual float NL3D::UScene::getLightTransitionThreshold  )  const [pure virtual]
 

getLightTransitionThreshold()

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getMaxLightContribution  )  const [pure virtual]
 

setMaxLightContribution()

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getMaxSkeletonsInNotCLodForm  )  const [pure virtual]
 

see setMaxSkeletonsInNotCLodForm()

Implemented in NL3D::CSceneUser.

virtual float NL3D::UScene::getNbFaceAsked  )  const [pure virtual]
 

Get the last face count asked from the instances before reduction. It gets the sum of All groups.

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getNumFlareContexts  )  const [pure virtual]
 

Implemented in NL3D::CSceneUser.

virtual TPolygonBalancingMode NL3D::UScene::getPolygonBalancingMode  )  const [pure virtual]
 

Get the PolygonBalancingMode.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::getProfileResults CBenchResults results  )  [pure virtual]
 

get The result of the profiling.

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getShadowMapBlurSize  )  const [pure virtual]
 

get the size of the blur (<=3 means number of fakeBlur).

Implemented in NL3D::CSceneUser.

virtual float NL3D::UScene::getShadowMapDistFadeEnd  )  const [pure virtual]
 

Enable Polygon Smoothing.

Implemented in NL3D::CSceneUser.

virtual float NL3D::UScene::getShadowMapDistFadeStart  )  const [pure virtual]
 

Enable Polygon Smoothing.

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getShadowMapMaxCasterAround  )  const [pure virtual]
 

Enable Polygon Smoothing.

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getShadowMapMaxCasterInScreen  )  const [pure virtual]
 

Enable Polygon Smoothing.

Implemented in NL3D::CSceneUser.

virtual float NL3D::UScene::getShadowMapMaxDepth  )  const [pure virtual]
 

return the current ShadowMap Max Depth. This is the length in the lightDir direction where the shadow can touch receivers

Implemented in NL3D::CSceneUser.

virtual uint NL3D::UScene::getShadowMapTextureSize  )  const [pure virtual]
 

return the current base ShadowMap TextureSize. Default is 64 texels.

Implemented in NL3D::CSceneUser.

virtual NLMISC::CRGBA NL3D::UScene::getSunAmbient  )  const [pure virtual]
 

get the Ambient of the Sun used for the scene.

Implemented in NL3D::CSceneUser.

virtual NLMISC::CRGBA NL3D::UScene::getSunDiffuse  )  const [pure virtual]
 

get the Diffuse of the Sun used for the scene.

Implemented in NL3D::CSceneUser.

virtual NLMISC::CVector NL3D::UScene::getSunDirection  )  const [pure virtual]
 

get the Direction of the Sun used for the scene.

Implemented in NL3D::CSceneUser.

virtual NLMISC::CRGBA NL3D::UScene::getSunSpecular  )  const [pure virtual]
 

get the Specular of the Sun used for the scene.

Implemented in NL3D::CSceneUser.

virtual CViewport NL3D::UScene::getViewport  )  [pure virtual]
 

Get the current Viewport.

Implemented in NL3D::CSceneUser.

virtual IWaterSurfaceAddedCallback* NL3D::UScene::getWaterCallback  )  const [pure virtual]
 

Implemented in NL3D::CSceneUser.

virtual uint32 NL3D::UScene::loadCLodShapeBank const std::string &  fileName  )  [pure virtual]
 

Load a Shape Bank. The ShapeMap is rebuilded. Hence slow call. NB: a vector of ShapeBank is maintained internally, hence, not so many shapeBank should be created at same Time. trhow exception if failed to load the file

Parameters:
fileName is a .clodbank file, to be loaded. CPath::lookup is used.
Returns:
id of the shape Bank.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::profileNextRender  )  [pure virtual]
 

Enable Profiling for the next render(). Reset All stats.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::profileQuadGridClipManager  )  [pure virtual]
 

output (nlinfo) Stats for Usage of the QuadClip

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::render  )  [pure virtual]
 

Render the scene from the CurrentCamera view (setCam()), and the current Viewport. nlError if no current camera. NB: no Driver clear buffers (color or ZBuffer) are done....
NB: The UDriver Matrix/Viewport context for 2D/3D interface is restored after this render. NB: nlerror if the current camera has been deleted. NB: the UDriver Light setup (see UDriver::setLight() / UDriver::setAmbientColor()) is modified. At the exit of render(), all UDriver lights are disabled.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::resetCLodManager  )  [pure virtual]
 

reset the manager.

NB: for an historic reason, CLod interface is in UScene, BUT THERE IS ONLY ONE LOD MANAGER PER UDriver!

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setAmbientGlobal NLMISC::CRGBA  ambient  )  [pure virtual]
 

set the global Ambient used for the scene. Default to (50, 50, 50).

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setAutomaticAnimationSet UAnimationSet as  )  [pure virtual]
 

Set the automatic animation set used by the scene.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setCam UCamera cam  )  [pure virtual]
 

Set the current camera for this scene. nlError if NULL, or if the camera was not created by this UScene.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setCoarseMeshLightingUpdate uint8  period  )  [pure virtual]
 

Each coarseMesh lighting will be updated every "period" frame. clamped to 1,255

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setCoarseMeshManagerTexture const char *  sPath  )  [pure virtual]
 

Set the coarse meshes's common texture.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setFlareContext uint  context  )  [pure virtual]
 

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setGlobalWindDirection const NLMISC::CVector gwd  )  [pure virtual]
 

Set the current windDirection for all the scene. dir.z set to 0 and vector normalized.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setGlobalWindPower float  gwp  )  [pure virtual]
 

Set the current windPower for all the scene. 0-1.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setGroupLoadMaxPolygon const std::string &  group,
uint  nFaces
[pure virtual]
 

Set the number of faces wanted for a LoadBlancingGroup. The Group is created if did not exist.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setLayersRenderingOrder bool  directOrder = true  )  [pure virtual]
 

Set the order or rendering of layers containing transparent objects. In real case, with direct order, we have:

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

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setLightGroupColor uint  lightmapGroup,
NLMISC::CRGBA  color
[pure virtual]
 

set the color of a light group.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setLightTransitionThreshold float  lightTransitionThreshold  )  [pure virtual]
 

Advanced. When a model is influenced by more light than allowed, or when it reach the limits of the light (attenuationEnd), the light can be darkened according to some threshold. The resultLightColor begin to fade when distModelToLight== attEnd- threshold*(attEnd-attBegin). when distModelToLight== 0, resultLightColor==Black. By default, this value is 0.1f. Setting higher values will smooth transition but will generally darken the global effects of lights. NB: clamp(value, 0, 1);

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setMaxLightContribution uint  nlights  )  [pure virtual]
 

setup the max number of point light that can influence a model. NB: clamped by NL3D_MAX_LIGHT_CONTRIBUTION Default is 3. NB: the sun contribution is not taken into account

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setMaxSkeletonsInNotCLodForm uint  m  )  [pure virtual]
 

LoadBalancing for CLod and Skeletons. Setup the max number of skeletons displayed in std way (ie not CLod). Default is 20.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setPolygonBalancingMode TPolygonBalancingMode  polBalMode  )  [pure virtual]
 

Set the PolygonBalancingMode.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setShadowMapBlurSize uint  bs  )  [pure virtual]
 

set the size of the blur (<=3 means number of fakeBlur).

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setShadowMapDistFadeEnd float  dist  )  [pure virtual]
 

ShadowMap Distance Fade end (50 default).

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setShadowMapDistFadeStart float  dist  )  [pure virtual]
 

ShadowMap Distance Fade Start (40 default).

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setShadowMapMaxCasterAround uint  num  )  [pure virtual]
 

ShadowMap max Caster Around (optimize memory).

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setShadowMapMaxCasterInScreen uint  num  )  [pure virtual]
 

ShadowMap max Caster In Screen (optimize CPU/GPU).

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setShadowMapMaxDepth float  depth  )  [pure virtual]
 

set the ShadowMap Extent

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setShadowMapTextureSize uint  size  )  [pure virtual]
 

must be a power of 2.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setSunAmbient NLMISC::CRGBA  ambient  )  [pure virtual]
 

set the Ambient of the Sun used for the scene.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setSunDiffuse NLMISC::CRGBA  diffuse  )  [pure virtual]
 

set the Diffuse of the Sun used for the scene.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setSunDirection const NLMISC::CVector direction  )  [pure virtual]
 

set the Direction of the Sun used for the scene.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setSunSpecular NLMISC::CRGBA  specular  )  [pure virtual]
 

set the Specular of the Sun used for the scene.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setToGlobalInstanceGroup UInstanceGroup pIGU  )  [pure virtual]
 

Assign the Instance Group to the root cluster

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setViewport const class CViewport viewport  )  [pure virtual]
 

Set the current Viewport.

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::setWaterCallback IWaterSurfaceAddedCallback wcb  )  [pure virtual]
 

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::stopCreatingAndAddingIG UInstanceGroup **  pIG  )  [pure virtual]
 

If we are adding the ig : stop loading and adding it to the scene if the ig is already added to the scene : remove it from scene

Implemented in NL3D::CSceneUser.

virtual void NL3D::UScene::updateWaitingInstances double  systemTimeEllapsed  )  [pure virtual]
 

Update waiting instances and igs that are loaded asynchronously NB: this is called by render()

Parameters:
systemTimeEllapsed : the time between 2 calls to updateWaitingInstances, in seconds

Implemented in NL3D::CSceneUser.


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 08:49:48 2004 for NeL by doxygen 1.3.6