IRenderNode

C++
struct IRenderNode : public IShadowCaster {
  enum EInternalFlags {
    DECAL_OWNER = BIT(0),
    REQUIRES_NEAREST_CUBEMAP = BIT(1),
    UPDATE_DECALS = BIT(2),
    REQUIRES_FORWARD_RENDERING = BIT(3),
    WAS_INVISIBLE = BIT(4),
    WAS_IN_VISAREA = BIT(5),
    WAS_FARAWAY = BIT(6),
    HAS_OCCLUSION_PROXY = BIT(7)
  };
  struct GetEntityTerrainNode {
    IRenderNode * * m_pNext, * m_pPrev;
    IOctreeNode * m_pOcNode;
    struct CRNTmpData * m_pRNTmpData;
    float m_fWSMaxViewDist;
    int m_dwRndFlags;
    int8 m_cShadowLodBias;
    int m_nSID;
    unsigned char m_ucViewDistRatio;
    unsigned char m_ucLodRatio;
    unsigned char m_nInternalFlags;
    unsigned char m_nMaterialLayers;
  };
  struct IVegetation : public IRenderNode {
  };
  struct IBrush : public IRenderNode {
  };
  struct SVegetationSpriteInfo {
    Sphere sp;
    float fScaleH;
    float fScaleV;
    struct SSectorTextureSet * pTerrainTexInfo;
    struct SVegetationSpriteLightInfo * pLightInfo;
    uint8 ucSunDotTerrain;
    uint8 ucAlphaTestRef;
    uint8 ucDissolveOut;
    uint8 ucShow3DModel;
    ColorB terrainColor;
    uint8 ucSlotId;
    struct IStatInstGroup * pStatInstGroup;
    const IRenderNode * pVegetation;
  };
  const int FAR_TEX_COUNT = 12;
  const int FAR_TEX_ANGLE = (360/FAR_TEX_COUNT);
  const int FAR_TEX_HAL_ANGLE = (256/FAR_TEX_COUNT)/2;
  struct SVegetationSpriteLightInfo {
    float m_MipFactor;
    IDynTexture * m_pDynTexture;
  };
  struct ILightSource : public IRenderNode {
  };
  struct ILightShapeRenderNode : public IRenderNode {
    enum ELightShapeFlags {
      elsfDisableGI = 1<<0
    };
  };
  struct IRoadRenderNode : public IRenderNode {
  };
  struct IBreakableGlassRenderNode : public IRenderNode {
  };
  struct IVoxelObject : public IRenderNode {
  };
  struct SFogVolumeProperties {
    int m_volumeType;
    Vec3 m_size;
    ColorF m_color;
    bool m_useGlobalFogColor;
    float m_globalDensity;
    float m_densityOffset;
    float m_softEdges;
    float m_fHDRDynamic;
    float m_nearCutoff;
    float m_heightFallOffDirLong;
    float m_heightFallOffDirLati;
    float m_heightFallOffShift;
    float m_heightFallOffScale;
  };
  struct IFogVolumeRenderNode : public IRenderNode {
  };
  struct SDecalProperties {
    enum EProjectionType {
      ePlanar,
      eProjectOnStaticObjects,
      eProjectOnTerrain,
      eProjectOnTerrainAndStaticObjects
    };
    EProjectionType m_projectionType;
    uint8 m_sortPrio;
    uint8 m_deferred;
    Vec3 m_pos;
    Vec3 m_normal;
    Matrix33 m_explicitRightUpFront;
    float m_radius;
    float m_depth;
    const char* m_pMaterialName;
  };
  struct IDecalRenderNode : public IRenderNode {
  };
  struct IWaterVolumeRenderNode : public IRenderNode {
    enum EWaterVolumeType {
      eWVT_Unknown,
      eWVT_Ocean,
      eWVT_Area,
      eWVT_River
    };
  };
  struct SWaterWaveParams {
    Vec3 m_pPos;
    float m_fSpeed, m_fSpeedVar;
    float m_fLifetime, m_fLifetimeVar;
    float m_fHeight, m_fHeightVar;
    float m_fPosVar;
    float m_fCurrLifetime;
    float m_fCurrFrameLifetime;
    float m_fCurrSpeed;
    float m_fCurrHeight;
  };
  struct IWaterWaveRenderNode : public IRenderNode {
  };
  struct SDistanceCloudProperties {
    Vec3 m_pos;
    float m_sizeX;
    float m_sizeY;
    float m_rotationZ;
    const char* m_pMaterialName;
  };
  struct IDistanceCloudRenderNode : public IRenderNode {
  };
  struct IRopeRenderNode : public IRenderNode {
    enum ERopeParamFlags {
      eRope_BindEndPoints = 0x0001,
      eRope_CheckCollisinos = 0x0002,
      eRope_Subdivide = 0x0004,
      eRope_Smooth = 0x0008,
      eRope_NoAttachmentCollisions = 0x0010,
      eRope_Nonshootable = 0x0020,
      eRope_Disabled = 0x0040,
      eRope_NoPlayerCollisions = 0x0080,
      eRope_StaticAttachStart = 0x0100,
      eRope_StaticAttachEnd = 0x0200,
      eRope_CastShadows = 0x0400,
      eRope_Awake = 0x0800
    };
    struct SRopeParams {
      int nFlags;
      float fThickness;
      float fAnchorRadius;
      int nNumSegments;
      int nNumSides;
      float fTextureTileU;
      float fTextureTileV;
      int nPhysSegments;
      int nMaxSubVtx;
      float mass;
      float tension;
      float friction;
      float frictionPull;
      Vec3 wind;
      float windVariance;
      float airResistance;
      float waterResistance;
      float jointLimit;
      float maxForce;
      int nMaxIters;
      float maxTimeStep;
      float stiffness;
      float hardness;
      float damping;
      float sleepSpeed;
    };
    struct SEndPointLink {
      IPhysicalEntity * pPhysicalEntity;
      Vec3 offset;
      int nPartId;
    };
  };
  struct ILPVRenderNode : public IRenderNode {
  };
};
File

IEntityRenderState.h

IRenderNode::EInternalFlags Enumeration
C++
enum EInternalFlags {
  DECAL_OWNER = BIT(0),
  REQUIRES_NEAREST_CUBEMAP = BIT(1),
  UPDATE_DECALS = BIT(2),
  REQUIRES_FORWARD_RENDERING = BIT(3),
  WAS_INVISIBLE = BIT(4),
  WAS_IN_VISAREA = BIT(5),
  WAS_FARAWAY = BIT(6),
  HAS_OCCLUSION_PROXY = BIT(7)
};
File

IEntityRenderState.h

Members
Members
Description
DECAL_OWNER = BIT(0)
Owns some decals.
REQUIRES_NEAREST_CUBEMAP = BIT(1)
Pick nearest cube map
UPDATE_DECALS = BIT(2)
The node changed geometry - decals must be updated.
REQUIRES_FORWARD_RENDERING = BIT(3)
Special shadow processing needed.
WAS_INVISIBLE = BIT(4)
Was invisible last frame.
WAS_IN_VISAREA = BIT(5)
Was inside vis-ares last frame.
WAS_FARAWAY = BIT(6)
Was considered 'far away' for the purposes of physics deactivation.
HAS_OCCLUSION_PROXY = BIT(7)
This node has occlusion proxy.
IRenderNode::GetEntityTerrainNode Structure
C++
struct GetEntityTerrainNode {
  IRenderNode * * m_pNext, * m_pPrev;
  IOctreeNode * m_pOcNode;
  struct CRNTmpData * m_pRNTmpData;
  float m_fWSMaxViewDist;
  int m_dwRndFlags;
  int8 m_cShadowLodBias;
  int m_nSID;
  unsigned char m_ucViewDistRatio;
  unsigned char m_ucLodRatio;
  unsigned char m_nInternalFlags;
  unsigned char m_nMaterialLayers;
};
File

IEntityRenderState.h

Returns

Current VisArea or null if in outdoors or entity was not registered in 3dengine.

IRenderNode::GetEntityTerrainNode::m_cShadowLodBias Data Member
C++
int8 m_cShadowLodBias;
Description

Shadow LOD bias

IRenderNode::GetEntityTerrainNode::m_dwRndFlags Data Member
C++
int m_dwRndFlags;
Description

Render flags.

IRenderNode::GetEntityTerrainNode::m_fWSMaxViewDist Data Member
C++
float m_fWSMaxViewDist;
Description

Max view distance.

IRenderNode::GetEntityTerrainNode::m_nInternalFlags Data Member
C++
unsigned char m_nInternalFlags;
Description

Flags for render node internal usage, one or more bits from EInternalFlags.

IRenderNode::GetEntityTerrainNode::m_nMaterialLayers Data Member
C++
unsigned char m_nMaterialLayers;
Description

Material layers bitmask -> which material layers are active.

IRenderNode::GetEntityTerrainNode::m_nSID Data Member
C++
int m_nSID;
Description

Segment Id

IRenderNode::GetEntityTerrainNode::m_pNext Data Member
C++
IRenderNode * * m_pNext;
Description

Every sector has linked list of IRenderNode objects.

IRenderNode::GetEntityTerrainNode::m_pOcNode Data Member
C++
IOctreeNode * m_pOcNode;
Description

Current objects tree cell.

IRenderNode::GetEntityTerrainNode::m_pPrev Data Member
C++
IRenderNode * m_pPrev;
Description

Every sector has linked list of IRenderNode objects.

IRenderNode::GetEntityTerrainNode::m_pRNTmpData Data Member
C++
struct CRNTmpData * m_pRNTmpData;
Description

Pointer to temporary data allocated only for currently visible objects.

IRenderNode::GetEntityTerrainNode::m_ucLodRatio Data Member
C++
unsigned char m_ucLodRatio;
Description

LOD settings.

IRenderNode::GetEntityTerrainNode::m_ucViewDistRatio Data Member
C++
unsigned char m_ucViewDistRatio;
Description

Max view distance settings.

IRenderNode::GetEntityTerrainNode::GetLodRatio Method

Returns lod distance ratio.

C++
int GetLodRatio() const;
IRenderNode::GetEntityTerrainNode::GetLodRatioNormalized Method

Returns lod distance ratio

C++
float GetLodRatioNormalized() const;
IRenderNode::GetEntityTerrainNode::GetMinSpec Method
C++
int GetMinSpec() const;
IRenderNode::GetEntityTerrainNode::GetRenderNodeListId Method
C++
static const ERNListType GetRenderNodeListId(const EERType eRType);
IRenderNode::GetEntityTerrainNode::GetShadowLodBias Method

Returns lod distance ratio.

C++
int GetShadowLodBias() const;
IRenderNode::GetEntityTerrainNode::GetTerrainNode Method
C++
? m_pOcNode-> GetTerrainNode();
IRenderNode::GetEntityTerrainNode::GetViewDistRatio Method

Retrieves the view distance settings.

C++
int GetViewDistRatio() const;
IRenderNode::GetEntityTerrainNode::GetViewDistRatioNormilized Method

Returns max view distance ratio.

C++
float GetViewDistRatioNormilized() const;
IRenderNode::GetEntityTerrainNode::GetViewDistRatioVal Method

Retrieves the view distance settings without any value interpretation.

C++
int GetViewDistRatioVal() const;
IRenderNode::GetEntityTerrainNode::SetMaterialLayers Method

Sets material layers mask.

C++
void SetMaterialLayers(uint8 nMtlLayers);
IRenderNode::GetEntityTerrainNode::SetShadowLodBias Method
C++
virtual void SetShadowLodBias(int8 nShadowLodBias);
Description

Bias value to add to the regular lod

IRenderNode::IBreakableGlassRenderNode Structure
C++
struct IBreakableGlassRenderNode : public IRenderNode {
};
File

IEntityRenderState.h

IRenderNode::IBreakableGlassRenderNode::ApplyExplosionToGlass Method
C++
virtual void ApplyExplosionToGlass(const EventPhysCollision* pPhysEvent) = 0;
IRenderNode::IBreakableGlassRenderNode::ApplyImpactToGlass Method
C++
virtual void ApplyImpactToGlass(const EventPhysCollision* pPhysEvent) = 0;
IRenderNode::IBreakableGlassRenderNode::DestroyPhysFragment Method
C++
virtual void DestroyPhysFragment(SGlassPhysFragment* pPhysFrag) = 0;
IRenderNode::IBreakableGlassRenderNode::GetId Method
C++
virtual uint16 GetId() = 0;
IRenderNode::IBreakableGlassRenderNode::HasActiveFragments Method
C++
virtual bool HasActiveFragments() = 0;
IRenderNode::IBreakableGlassRenderNode::HasGlassShattered Method
C++
virtual bool HasGlassShattered() = 0;
IRenderNode::IBreakableGlassRenderNode::InitialiseNode Method
C++
virtual bool InitialiseNode(const SBreakableGlassInitParams& params, const Matrix34& matrix) = 0;
IRenderNode::IBreakableGlassRenderNode::SetCVars Method
C++
virtual void SetCVars(const SBreakableGlassCVars* pCVars) = 0;
IRenderNode::IBreakableGlassRenderNode::SetId Method
C++
virtual void SetId(const uint16 id) = 0;
IRenderNode::IBreakableGlassRenderNode::Update Method
C++
virtual void Update(SBreakableGlassUpdateParams& params) = 0;
IRenderNode::IBrush Structure
C++
struct IBrush : public IRenderNode {
};
File

IEntityRenderState.h

IRenderNode::IBrush::GetMatrix Method
C++
virtual const Matrix34& GetMatrix() const = 0;
IRenderNode::IBrush::SetDrawLast Method
C++
virtual void SetDrawLast(bool enable) = 0;
IRenderNode::IDecalRenderNode Structure
C++
struct IDecalRenderNode : public IRenderNode {
};
File

IEntityRenderState.h

Description

IDecalRenderNode is an interface to the Decal Render Node object.

IRenderNode::IDecalRenderNode::CleanUpOldDecals Method
C++
virtual void CleanUpOldDecals() = 0;
IRenderNode::IDecalRenderNode::GetDecalProperties Method
C++
virtual const SDecalProperties* GetDecalProperties() const = 0;
IRenderNode::IDecalRenderNode::GetMatrix Method
C++
virtual const Matrix34& GetMatrix() = 0;
IRenderNode::IDecalRenderNode::SetDecalProperties Method
C++
virtual void SetDecalProperties(const SDecalProperties& properties) = 0;
IRenderNode::IDistanceCloudRenderNode Structure
C++
struct IDistanceCloudRenderNode : public IRenderNode {
};
File

IEntityRenderState.h

IRenderNode::IDistanceCloudRenderNode::SetProperties Method
C++
virtual void SetProperties(const SDistanceCloudProperties& properties) = 0;
IRenderNode::IFogVolumeRenderNode Structure
C++
struct IFogVolumeRenderNode : public IRenderNode {
};
File

IEntityRenderState.h

IRenderNode::IFogVolumeRenderNode::FadeGlobalDensity Method
C++
virtual void FadeGlobalDensity(float fadeTime, float newGlobalDensity) = 0;
IRenderNode::IFogVolumeRenderNode::GetMatrix Method
C++
virtual const Matrix34& GetMatrix() const = 0;
IRenderNode::IFogVolumeRenderNode::SetFogVolumeProperties Method
C++
virtual void SetFogVolumeProperties(const SFogVolumeProperties& properties) = 0;
IRenderNode::ILightShapeRenderNode Structure

ILightShapeRenderNode is an interface to the LightShape render node object.

C++
struct ILightShapeRenderNode : public IRenderNode {
  enum ELightShapeFlags {
    elsfDisableGI = 1<<0
  };
};
File

IEntityRenderState.h

IRenderNode::ILightShapeRenderNode::ELightShapeFlags Enumeration
C++
enum ELightShapeFlags {
  elsfDisableGI = 1<<0
};
File

IEntityRenderState.h

IRenderNode::ILightShapeRenderNode::LoadLightBox Method
C++
virtual bool LoadLightBox() = 0;
IRenderNode::ILightShapeRenderNode::LoadLightShape Method
C++
virtual bool LoadLightShape(const char * sLightShape, const uint32 nLSFlags) = 0;
Description

Loads a light shape from cgf filename

IRenderNode::ILightShapeRenderNode::SetLSFlags Method
C++
virtual void SetLSFlags(const uint32 nNewFlags) = 0;
IRenderNode::ILightSource Structure
C++
struct ILightSource : public IRenderNode {
};
File

IEntityRenderState.h

IRenderNode::ILightSource::GetLightProperties Method
C++
virtual CDLight & GetLightProperties() = 0;
IRenderNode::ILightSource::GetMatrix Method
C++
virtual const Matrix34& GetMatrix() = 0;
IRenderNode::ILightSource::GetShadowFrustum Method
C++
virtual struct ShadowMapFrustum * GetShadowFrustum(int nId = 0) = 0;
IRenderNode::ILightSource::IsCheapLight Method
C++
virtual bool IsCheapLight(uint64& sourceEntityGUID) const = 0;
IRenderNode::ILightSource::IsLightAreasVisible Method
C++
virtual bool IsLightAreasVisible() = 0;
IRenderNode::ILightSource::SetCastingException Method
C++
virtual void SetCastingException(IRenderNode * pNotCaster) = 0;
IRenderNode::ILightSource::SetCheapLight Method
C++
virtual void SetCheapLight(const uint64 entityGUID) = 0;
IRenderNode::ILightSource::SetLightProperties Method
C++
virtual void SetLightProperties(const CDLight & light) = 0;
IRenderNode::ILPVRenderNode Structure
C++
struct ILPVRenderNode : public IRenderNode {
};
File

IEntityRenderState.h

Description

ILPVRenderNode is an interface to the Light Propagation Volume Render Node object.

IRenderNode::ILPVRenderNode::AutoFit Method
C++
virtual bool AutoFit(const DynArray<CDLight>& lightsToFit) = 0;
IRenderNode::ILPVRenderNode::EnableSpecular Method
C++
virtual void EnableSpecular(const bool bEnabled) = 0;
IRenderNode::ILPVRenderNode::GetDensity Method
C++
virtual float GetDensity() const = 0;
IRenderNode::ILPVRenderNode::GetMatrix Method
C++
virtual void GetMatrix(Matrix34& mxGrid) const = 0;
IRenderNode::ILPVRenderNode::IsSpecularEnabled Method
C++
virtual bool IsSpecularEnabled() const = 0;
IRenderNode::ILPVRenderNode::SetDensity Method
C++
virtual void SetDensity(const float fDensity) = 0;
IRenderNode::ILPVRenderNode::TryInsertLight Method
C++
virtual bool TryInsertLight(const CDLight & light) = 0;
IRenderNode::ILPVRenderNode::UpdateMetrics Method
C++
virtual void UpdateMetrics(const Matrix34& mx, const bool recursive = false) = 0;
IRenderNode::IRoadRenderNode Structure

IRoadRenderNode is an interface to the Road Render Node object.

C++
struct IRoadRenderNode : public IRenderNode {
};
File

IEntityRenderState.h

IRenderNode::IRoadRenderNode::GetClipPlanes Method
C++
virtual void GetClipPlanes(Plane * pPlanes, int nPlanesNum, int nVertId = 0) = 0;
IRenderNode::IRoadRenderNode::GetTexCoordInfo Method
C++
virtual void GetTexCoordInfo(float * pTexCoordInfo) = 0;
IRenderNode::IRoadRenderNode::SetIgnoreTerrainHoles Method
C++
virtual void SetIgnoreTerrainHoles(bool bVal) = 0;
IRenderNode::IRoadRenderNode::SetSortPriority Method
C++
virtual void SetSortPriority(uint8 sortPrio) = 0;
IRenderNode::IRoadRenderNode::SetVertices Method
C++
virtual void SetVertices(const Vec3 * pVerts, int nVertsNum, float fTexCoordBegin, float fTexCoordEnd, float fTexCoordBeginGlobal, float fTexCoordEndGlobal) = 0;
IRenderNode::IRopeRenderNode Structure
C++
struct IRopeRenderNode : public IRenderNode {
  enum ERopeParamFlags {
    eRope_BindEndPoints = 0x0001,
    eRope_CheckCollisinos = 0x0002,
    eRope_Subdivide = 0x0004,
    eRope_Smooth = 0x0008,
    eRope_NoAttachmentCollisions = 0x0010,
    eRope_Nonshootable = 0x0020,
    eRope_Disabled = 0x0040,
    eRope_NoPlayerCollisions = 0x0080,
    eRope_StaticAttachStart = 0x0100,
    eRope_StaticAttachEnd = 0x0200,
    eRope_CastShadows = 0x0400,
    eRope_Awake = 0x0800
  };
  struct SRopeParams {
    int nFlags;
    float fThickness;
    float fAnchorRadius;
    int nNumSegments;
    int nNumSides;
    float fTextureTileU;
    float fTextureTileV;
    int nPhysSegments;
    int nMaxSubVtx;
    float mass;
    float tension;
    float friction;
    float frictionPull;
    Vec3 wind;
    float windVariance;
    float airResistance;
    float waterResistance;
    float jointLimit;
    float maxForce;
    int nMaxIters;
    float maxTimeStep;
    float stiffness;
    float hardness;
    float damping;
    float sleepSpeed;
  };
  struct SEndPointLink {
    IPhysicalEntity * pPhysicalEntity;
    Vec3 offset;
    int nPartId;
  };
};
File

IEntityRenderState.h

IRenderNode::IRopeRenderNode::ERopeParamFlags Enumeration
C++
enum ERopeParamFlags {
  eRope_BindEndPoints = 0x0001,
  eRope_CheckCollisinos = 0x0002,
  eRope_Subdivide = 0x0004,
  eRope_Smooth = 0x0008,
  eRope_NoAttachmentCollisions = 0x0010,
  eRope_Nonshootable = 0x0020,
  eRope_Disabled = 0x0040,
  eRope_NoPlayerCollisions = 0x0080,
  eRope_StaticAttachStart = 0x0100,
  eRope_StaticAttachEnd = 0x0200,
  eRope_CastShadows = 0x0400,
  eRope_Awake = 0x0800
};
File

IEntityRenderState.h

Members
Members
Description
eRope_BindEndPoints = 0x0001
Bind rope at both end points.
eRope_CheckCollisinos = 0x0002
Rope will check collisions.
eRope_Subdivide = 0x0004
Rope will be subdivided in physics.
eRope_Smooth = 0x0008
Rope will be smoothed after physics.
eRope_NoAttachmentCollisions = 0x0010
Rope will ignore collisions against the objects it's attached to .
eRope_Nonshootable = 0x0020
Rope cannot be broken by shooting.
eRope_Disabled = 0x0040
simulation is completely disabled
eRope_NoPlayerCollisions = 0x0080
explicit control over collisions with players
eRope_StaticAttachStart = 0x0100
attach start point to the 'world
eRope_StaticAttachEnd = 0x0200
attach end point to the 'world
eRope_CastShadows = 0x0400
self-explanatory
eRope_Awake = 0x0800
Rope will be awake initially
IRenderNode::IRopeRenderNode::SEndPointLink Structure
C++
struct SEndPointLink {
  IPhysicalEntity * pPhysicalEntity;
  Vec3 offset;
  int nPartId;
};
File

IEntityRenderState.h

IRenderNode::IRopeRenderNode::SRopeParams Structure
C++
struct SRopeParams {
  int nFlags;
  float fThickness;
  float fAnchorRadius;
  int nNumSegments;
  int nNumSides;
  float fTextureTileU;
  float fTextureTileV;
  int nPhysSegments;
  int nMaxSubVtx;
  float mass;
  float tension;
  float friction;
  float frictionPull;
  Vec3 wind;
  float windVariance;
  float airResistance;
  float waterResistance;
  float jointLimit;
  float maxForce;
  int nMaxIters;
  float maxTimeStep;
  float stiffness;
  float hardness;
  float damping;
  float sleepSpeed;
};
File

IEntityRenderState.h

Members
Members
Description
int nFlags;
float fAnchorRadius;
Radius for the end points anchors that bind rope to objects in world.
int nNumSegments;
Rendering/Tessellation.
int nPhysSegments;
Rope Physical/Params.
float mass;
Rope mass, if mass is 0 it will be static.
IRenderNode::IRopeRenderNode::GetEndPointLinks Method
C++
virtual void GetEndPointLinks(SEndPointLink * links) = 0;
Description

Retrieves information about linked objects at the end points, links must be a pointer to the 2 SEndPointLink structures.

IRenderNode::IRopeRenderNode::GetEntityOwner Method
C++
virtual uint32 GetEntityOwner() const = 0;
IRenderNode::IRopeRenderNode::GetLinkedEndsMask Method
C++
virtual uint32 GetLinkedEndsMask() = 0;
IRenderNode::IRopeRenderNode::GetParams Method
C++
virtual const IRopeRenderNode::SRopeParams& GetParams() const = 0;
IRenderNode::IRopeRenderNode::GetPoints Method
C++
virtual const Vec3* GetPoints() const = 0;
IRenderNode::IRopeRenderNode::GetPointsCount Method
C++
virtual int GetPointsCount() const = 0;
IRenderNode::IRopeRenderNode::LinkEndEntities Method
C++
virtual void LinkEndEntities(IPhysicalEntity* pStartEntity, IPhysicalEntity* pEndEntity) = 0;
IRenderNode::IRopeRenderNode::LinkEndPoints Method
C++
virtual void LinkEndPoints() = 0;
IRenderNode::IRopeRenderNode::OnPhysicsPostStep Method

Callback from physics.

C++
virtual void OnPhysicsPostStep() = 0;
IRenderNode::IRopeRenderNode::ResetPoints Method
C++
virtual void ResetPoints() = 0;
IRenderNode::IRopeRenderNode::ResetRopeSound Method
C++
virtual void ResetRopeSound() = 0;
IRenderNode::IRopeRenderNode::SetEntityOwner Method
C++
virtual void SetEntityOwner(uint32 nEntityId) = 0;
IRenderNode::IRopeRenderNode::SetName Method
C++
virtual void SetName(const char * sNodeName) = 0;
IRenderNode::IRopeRenderNode::SetParams Method
C++
virtual void SetParams(const SRopeParams& params) = 0;
IRenderNode::IRopeRenderNode::SetPoints Method
C++
virtual void SetPoints(const Vec3 * pPoints, int nCount) = 0;
IRenderNode::IRopeRenderNode::SetRopeSound Method
C++
virtual void SetRopeSound(char const* const pcSoundName, int unsigned const nSegmentToAttachTo, float const fOffset) = 0;
Description

Sound related

IRenderNode::IRopeRenderNode::StopRopeSound Method
C++
virtual void StopRopeSound() = 0;
IRenderNode::IVegetation Structure
C++
struct IVegetation : public IRenderNode {
};
File

IEntityRenderState.h

Description

We must use interfaces instead of unsafe type casts and unnecessary includes

IRenderNode::IVegetation::GetScale Method
C++
virtual float GetScale() const = 0;
IRenderNode::IVoxelObject Structure

IVoxelObject is an interface to the Voxel Object Render Node object.

C++
struct IVoxelObject : public IRenderNode {
};
File

IEntityRenderState.h

IRenderNode::IVoxelObject::CopyHM Method
C++
virtual void CopyHM() = 0;
IRenderNode::IVoxelObject::GetCompiledData Method
C++
virtual DEVIRTUALIZATION_VTABLE_FIX struct IMemoryBlock * GetCompiledData(EEndian eEndian) = 0;
IRenderNode::IVoxelObject::InterpolateVoxelData Method
C++
virtual void InterpolateVoxelData() = 0;
IRenderNode::IVoxelObject::IsEmpty Method
C++
virtual bool IsEmpty() = 0;
IRenderNode::IVoxelObject::Regenerate Method
C++
virtual void Regenerate() = 0;
IRenderNode::IVoxelObject::ResetTransformation Method
C++
virtual bool ResetTransformation() = 0;
IRenderNode::IVoxelObject::SetCompiledData Method
C++
virtual void SetCompiledData(void * pData, int nSize, uint8 ucChildId, EEndian eEndian) = 0;
IRenderNode::IVoxelObject::SetFlags Method
C++
virtual void SetFlags(int nFlags) = 0;
IRenderNode::IVoxelObject::SetMatrix Method
C++
virtual void SetMatrix(const Matrix34& mat) = 0;
Description

Sets render node transformation matrix.

IRenderNode::IVoxelObject::SetObjectName Method
C++
virtual void SetObjectName(const char * pName) = 0;
IRenderNode::IWaterVolumeRenderNode Structure
C++
struct IWaterVolumeRenderNode : public IRenderNode {
  enum EWaterVolumeType {
    eWVT_Unknown,
    eWVT_Ocean,
    eWVT_Area,
    eWVT_River
  };
};
File

IEntityRenderState.h

Description

IWaterVolumeRenderNode is an interface to the Water Volume Render Node object.

IRenderNode::IWaterVolumeRenderNode::EWaterVolumeType Enumeration
C++
enum EWaterVolumeType {
  eWVT_Unknown,
  eWVT_Ocean,
  eWVT_Area,
  eWVT_River
};
File

IEntityRenderState.h

IRenderNode::IWaterVolumeRenderNode::CreateArea Method
C++
virtual void CreateArea(uint64 volumeID, const Vec3* pVertices, unsigned int numVertices, const Vec2& surfUVScale, const Plane& fogPlane, bool keepSerializationParams = false, int nSID = -1) = 0;
IRenderNode::IWaterVolumeRenderNode::CreateOcean Method
C++
virtual void CreateOcean(uint64 volumeID, bool keepSerializationParams = false) = 0;
Parameters
Parameters
Description
uint64 volumeID
TBD
IRenderNode::IWaterVolumeRenderNode::CreateRiver Method
C++
virtual void CreateRiver(uint64 volumeID, const Vec3* pVertices, unsigned int numVertices, float uTexCoordBegin, float uTexCoordEnd, const Vec2& surfUVScale, const Plane& fogPlane, bool keepSerializationParams = false, int nSID = -1) = 0;
IRenderNode::IWaterVolumeRenderNode::GetFogDensity Method
C++
virtual float GetFogDensity() const = 0;
IRenderNode::IWaterVolumeRenderNode::SetAndCreatePhysicsArea Method
C++
virtual IPhysicalEntity* SetAndCreatePhysicsArea(const Vec3* pVertices, unsigned int numVertices) = 0;
IRenderNode::IWaterVolumeRenderNode::SetAreaAttachedToEntity Method
C++
virtual void SetAreaAttachedToEntity() = 0;
Description

Sets if the render node is attached to a parent entity This must be called right after the object construction if it is the case Only supported for Areas (not rivers or ocean)

IRenderNode::IWaterVolumeRenderNode::SetAreaPhysicsArea Method
C++
virtual void SetAreaPhysicsArea(const Vec3* pVertices, unsigned int numVertices, bool keepSerializationParams = false) = 0;
IRenderNode::IWaterVolumeRenderNode::SetAuxPhysParams Method
C++
virtual void SetAuxPhysParams(pe_params_area *) = 0;
IRenderNode::IWaterVolumeRenderNode::SetCapFogAtVolumeDepth Method
C++
virtual void SetCapFogAtVolumeDepth(bool capFog) = 0;
IRenderNode::IWaterVolumeRenderNode::SetCausticHeight Method
C++
virtual void SetCausticHeight(float causticHeight) = 0;
IRenderNode::IWaterVolumeRenderNode::SetCausticIntensity Method
C++
virtual void SetCausticIntensity(float causticIntensity) = 0;
IRenderNode::IWaterVolumeRenderNode::SetCaustics Method
C++
virtual void SetCaustics(bool caustics) = 0;
IRenderNode::IWaterVolumeRenderNode::SetCausticTiling Method
C++
virtual void SetCausticTiling(float causticTiling) = 0;
IRenderNode::IWaterVolumeRenderNode::SetFogColor Method
C++
virtual void SetFogColor(const Vec3& fogColor) = 0;
IRenderNode::IWaterVolumeRenderNode::SetFogColorAffectedBySun Method
C++
virtual void SetFogColorAffectedBySun(bool enable) = 0;
IRenderNode::IWaterVolumeRenderNode::SetFogDensity Method
C++
virtual void SetFogDensity(float fogDensity) = 0;
IRenderNode::IWaterVolumeRenderNode::SetFogShadowing Method
C++
virtual void SetFogShadowing(float fogShadowing) = 0;
IRenderNode::IWaterVolumeRenderNode::SetRiverPhysicsArea Method
C++
virtual void SetRiverPhysicsArea(const Vec3* pVertices, unsigned int numVertices, bool keepSerializationParams = false) = 0;
IRenderNode::IWaterVolumeRenderNode::SetStreamSpeed Method
C++
virtual void SetStreamSpeed(float streamSpeed) = 0;
IRenderNode::IWaterVolumeRenderNode::SetVolumeDepth Method
C++
virtual void SetVolumeDepth(float volumeDepth) = 0;
IRenderNode::IWaterWaveRenderNode Structure
C++
struct IWaterWaveRenderNode : public IRenderNode {
};
File

IEntityRenderState.h

IRenderNode::IWaterWaveRenderNode::Create Method
C++
virtual void Create(uint64 nID, const Vec3 * pVertices, uint32 nVertexCount, const Vec2 & pUVScale, const Matrix34 & pWorldTM) = 0;
IRenderNode::IWaterWaveRenderNode::GetParams Method
C++
virtual const SWaterWaveParams & GetParams() const = 0;
IRenderNode::IWaterWaveRenderNode::SetParams Method
C++
virtual void SetParams(const SWaterWaveParams & pParams) = 0;
IRenderNode::SDecalProperties Structure
C++
struct SDecalProperties {
  enum EProjectionType {
    ePlanar,
    eProjectOnStaticObjects,
    eProjectOnTerrain,
    eProjectOnTerrainAndStaticObjects
  };
  EProjectionType m_projectionType;
  uint8 m_sortPrio;
  uint8 m_deferred;
  Vec3 m_pos;
  Vec3 m_normal;
  Matrix33 m_explicitRightUpFront;
  float m_radius;
  float m_depth;
  const char* m_pMaterialName;
};
File

IEntityRenderState.h

IRenderNode::SDecalProperties::EProjectionType Enumeration
C++
enum EProjectionType {
  ePlanar,
  eProjectOnStaticObjects,
  eProjectOnTerrain,
  eProjectOnTerrainAndStaticObjects
};
File

IEntityRenderState.h

IRenderNode::SDecalProperties::m_deferred Data Member
C++
uint8 m_deferred;
IRenderNode::SDecalProperties::m_depth Data Member
C++
float m_depth;
IRenderNode::SDecalProperties::m_explicitRightUpFront Data Member
C++
Matrix33 m_explicitRightUpFront;
IRenderNode::SDecalProperties::m_normal Data Member
C++
Vec3 m_normal;
IRenderNode::SDecalProperties::m_pMaterialName Data Member
C++
const char* m_pMaterialName;
IRenderNode::SDecalProperties::m_pos Data Member
C++
Vec3 m_pos;
IRenderNode::SDecalProperties::m_projectionType Data Member
C++
EProjectionType m_projectionType;
IRenderNode::SDecalProperties::m_radius Data Member
C++
float m_radius;
IRenderNode::SDecalProperties::m_sortPrio Data Member
C++
uint8 m_sortPrio;
IRenderNode::SDecalProperties::SDecalProperties Constructor
C++
SDecalProperties();
IRenderNode::SDistanceCloudProperties Structure
C++
struct SDistanceCloudProperties {
  Vec3 m_pos;
  float m_sizeX;
  float m_sizeY;
  float m_rotationZ;
  const char* m_pMaterialName;
};
File

IEntityRenderState.h

Description

IDistanceCloudRenderNode is an interface to the Distance Cloud Render Node object.

IRenderNode::SFogVolumeProperties Structure

IFogVolumeRenderNode is an interface to the Fog Volume Render Node object.

C++
struct SFogVolumeProperties {
  int m_volumeType;
  Vec3 m_size;
  ColorF m_color;
  bool m_useGlobalFogColor;
  float m_globalDensity;
  float m_densityOffset;
  float m_softEdges;
  float m_fHDRDynamic;
  float m_nearCutoff;
  float m_heightFallOffDirLong;
  float m_heightFallOffDirLati;
  float m_heightFallOffShift;
  float m_heightFallOffScale;
};
File

IEntityRenderState.h

Members
Members
Description
int m_volumeType;
Common parameters. Center position & rotation values are taken from the entity matrix.
float m_fHDRDynamic;
0 to get the same results in LDR, <0 to get darker, >0 to get brighter.
float m_heightFallOffDirLong;
Height based fog specifics.
float m_heightFallOffDirLati;
Height based fog specifics.
float m_heightFallOffShift;
Height based fog specifics.
float m_heightFallOffScale;
Height based fog specifics.
IRenderNode::SVegetationSpriteInfo Structure
C++
struct SVegetationSpriteInfo {
  Sphere sp;
  float fScaleH;
  float fScaleV;
  struct SSectorTextureSet * pTerrainTexInfo;
  struct SVegetationSpriteLightInfo * pLightInfo;
  uint8 ucSunDotTerrain;
  uint8 ucAlphaTestRef;
  uint8 ucDissolveOut;
  uint8 ucShow3DModel;
  ColorB terrainColor;
  uint8 ucSlotId;
  struct IStatInstGroup * pStatInstGroup;
  const IRenderNode * pVegetation;
};
File

IEntityRenderState.h

IRenderNode::SVegetationSpriteInfo::fScaleH Data Member
C++
float fScaleH;
IRenderNode::SVegetationSpriteInfo::fScaleV Data Member
C++
float fScaleV;
IRenderNode::SVegetationSpriteInfo::pLightInfo Data Member
C++
struct SVegetationSpriteLightInfo * pLightInfo;
IRenderNode::SVegetationSpriteInfo::pStatInstGroup Data Member
C++
struct IStatInstGroup * pStatInstGroup;
IRenderNode::SVegetationSpriteInfo::pTerrainTexInfo Data Member
C++
struct SSectorTextureSet * pTerrainTexInfo;
IRenderNode::SVegetationSpriteInfo::pVegetation Data Member
C++
const IRenderNode * pVegetation;
Description

Used only by 3DEngine.

IRenderNode::SVegetationSpriteInfo::sp Data Member
C++
Sphere sp;
IRenderNode::SVegetationSpriteInfo::terrainColor Data Member
C++
ColorB terrainColor;
IRenderNode::SVegetationSpriteInfo::ucAlphaTestRef Data Member
C++
uint8 ucAlphaTestRef;
IRenderNode::SVegetationSpriteInfo::ucDissolveOut Data Member
C++
uint8 ucDissolveOut;
IRenderNode::SVegetationSpriteInfo::ucShow3DModel Data Member
C++
uint8 ucShow3DModel;
IRenderNode::SVegetationSpriteInfo::ucSlotId Data Member
C++
uint8 ucSlotId;
Description

Used only in case of sprite texture update.

IRenderNode::SVegetationSpriteInfo::ucSunDotTerrain Data Member
C++
uint8 ucSunDotTerrain;
IRenderNode::SVegetationSpriteInfo::GetMemoryUsage Method
C++
void GetMemoryUsage(ICrySizer * pSizer) const;
IRenderNode::SVegetationSpriteLightInfo Structure

Groups sprite gen data.

C++
struct SVegetationSpriteLightInfo {
  float m_MipFactor;
  IDynTexture * m_pDynTexture;
};
File

IEntityRenderState.h

IRenderNode::SVegetationSpriteLightInfo::m_MipFactor Data Member
C++
float m_MipFactor;
IRenderNode::SVegetationSpriteLightInfo::m_pDynTexture Data Member
C++
IDynTexture * m_pDynTexture;
IRenderNode::SVegetationSpriteLightInfo::IsEqual Method
C++
bool IsEqual(const Vec3 & vSunDir, const float fDirThreshold) const;
Description

Notes: vSunDir should be normalized.

IRenderNode::SVegetationSpriteLightInfo::SetLightingData Method
C++
void SetLightingData(const Vec3 & vSunDir);
IRenderNode::SVegetationSpriteLightInfo::SVegetationSpriteLightInfo Constructor
C++
SVegetationSpriteLightInfo();
IRenderNode::SWaterWaveParams Structure
C++
struct SWaterWaveParams {
  Vec3 m_pPos;
  float m_fSpeed, m_fSpeedVar;
  float m_fLifetime, m_fLifetimeVar;
  float m_fHeight, m_fHeightVar;
  float m_fPosVar;
  float m_fCurrLifetime;
  float m_fCurrFrameLifetime;
  float m_fCurrSpeed;
  float m_fCurrHeight;
};
File

IEntityRenderState.h

Description

SWaterWaveParams is an interface to the Water Wave Render Node object.

IRenderNode::SWaterWaveParams::m_fCurrFrameLifetime Data Member
C++
float m_fCurrFrameLifetime;
IRenderNode::SWaterWaveParams::m_fCurrHeight Data Member
C++
float m_fCurrHeight;
IRenderNode::SWaterWaveParams::m_fCurrLifetime Data Member
C++
float m_fCurrLifetime;
IRenderNode::SWaterWaveParams::m_fCurrSpeed Data Member
C++
float m_fCurrSpeed;
IRenderNode::SWaterWaveParams::m_fHeight Data Member
C++
float m_fHeight;
IRenderNode::SWaterWaveParams::m_fHeightVar Data Member
C++
float m_fHeightVar;
IRenderNode::SWaterWaveParams::m_fLifetime Data Member
C++
float m_fLifetime;
IRenderNode::SWaterWaveParams::m_fLifetimeVar Data Member
C++
float m_fLifetimeVar;
IRenderNode::SWaterWaveParams::m_fPosVar Data Member
C++
float m_fPosVar;
IRenderNode::SWaterWaveParams::m_fSpeed Data Member
C++
float m_fSpeed;
IRenderNode::SWaterWaveParams::m_fSpeedVar Data Member
C++
float m_fSpeedVar;
IRenderNode::SWaterWaveParams::m_pPos Data Member
C++
Vec3 m_pPos;
IRenderNode::SWaterWaveParams::SWaterWaveParams Constructor
C++
SWaterWaveParams();
IRenderNode::FAR_TEX_ANGLE Data Member
C++
const int FAR_TEX_ANGLE = (360/FAR_TEX_COUNT);
IRenderNode::FAR_TEX_COUNT Data Member
C++
const int FAR_TEX_COUNT = 12;
Description

Number of sprites per object

IRenderNode::FAR_TEX_HAL_ANGLE Data Member
C++
const int FAR_TEX_HAL_ANGLE = (256/FAR_TEX_COUNT)/2;
IRenderNode::~IRenderNode Destructor
C++
virtual ~IRenderNode();
Description

Make sure I3DEngine::FreeRenderNodeState(this) is called in destructor of derived class.

IRenderNode::CanExecuteRenderAsJob Method
C++
virtual bool CanExecuteRenderAsJob();
IRenderNode::CheckPhysicalized Method

Physicalizes if it isn't already.

C++
virtual void CheckPhysicalized();
IRenderNode::Clone Method
C++
virtual IRenderNode * Clone() const;
IRenderNode::CopyIRenderNodeData Method
C++
void CopyIRenderNodeData(IRenderNode * pDest) const;
IRenderNode::Dematerialize Method
C++
virtual void Dematerialize();
IRenderNode::Dephysicalize Method
C++
virtual void Dephysicalize(bool bKeepIfReferenced = false);
IRenderNode::FillBBox Method
C++
virtual void FillBBox(AABB & aabb);
IRenderNode::GetBBox Method
C++
virtual const AABB GetBBox() const = 0;
IRenderNode::GetBBoxVirtual Method
C++
virtual const AABB GetBBoxVirtual();
IRenderNode::GetBranchPhys Method

Gets physical entity (rope) for a given branch (if foliage is physicalized).

C++
virtual IPhysicalEntity* GetBranchPhys(int idx, int nSlot = 0);
IRenderNode::GetDebugString Method
C++
virtual string GetDebugString(char type = 0) const;
IRenderNode::GetDrawFrame Method
C++
int GetDrawFrame(int nRecursionLevel = 0) const;
IRenderNode::GetEditorObjectId Method
C++
virtual int GetEditorObjectId();
IRenderNode::GetEntityCharacter Method
C++
virtual struct ICharacterInstance* GetEntityCharacter(unsigned int nSlot, Matrix34A * pMatrix = NULL, bool bReturnOnlyVisible = false);
IRenderNode::GetEntityClassName Method
C++
virtual const char* GetEntityClassName() const = 0;
IRenderNode::GetEntitySlotMaterial Method
C++
virtual IMaterial * GetEntitySlotMaterial(unsigned int nPartId, bool bReturnOnlyVisible = false, bool * pbDrawNear = NULL);
IRenderNode::GetEntityStatObj Method
C++
virtual struct IStatObj * GetEntityStatObj(unsigned int nPartId = 0, unsigned int nSubPartId = 0, Matrix34A * pMatrix = NULL, bool bReturnOnlyVisible = false);
Description

Gives access to object components.

IRenderNode::GetEntityVisArea Method
C++
IVisArea * GetEntityVisArea() const;
Returns

Current VisArea or null if in outdoors or entity was not registered in 3dengine.

IRenderNode::GetFoliage Method

Returns physicalized foliage, if it *is* physicalized.

C++
virtual struct IFoliage* GetFoliage(int nSlot = 0);
IRenderNode::GetImportance Method
C++
virtual float GetImportance() const;
IRenderNode::GetLayerId Method
C++
virtual uint16 GetLayerId();
IRenderNode::GetLocalBounds Method
C++
virtual void GetLocalBounds(AABB & bbox);
Description

Gets local bounds of the render node.

IRenderNode::GetMaterial Method

Queries override material of this instance.

C++
virtual IMaterial* GetMaterial(Vec3 * pHitPos = NULL) = 0;
IRenderNode::GetMaterialLayers Method

Gets material layers mask.

C++
virtual uint8 GetMaterialLayers() const;
IRenderNode::GetMaterialOverride Method
C++
virtual IMaterial* GetMaterialOverride() = 0;
IRenderNode::GetMaxViewDist Method
C++
virtual float GetMaxViewDist() = 0;
IRenderNode::GetMemoryUsage Method
C++
virtual void GetMemoryUsage(ICrySizer * pSizer) const = 0;
IRenderNode::GetName Method
C++
virtual const char* GetName() const = 0;
IRenderNode::GetPhysics Method

Gets/sets physical entity.

C++
virtual struct IPhysicalEntity* GetPhysics() const = 0;
IRenderNode::GetPos Method
C++
virtual Vec3 GetPos(bool bWorldOnly = true) const = 0;
IRenderNode::GetRenderMesh Method

Returns IRenderMesh of the object.

C++
virtual struct IRenderMesh * GetRenderMesh(int nLod);
IRenderNode::GetRenderNodeType Method
C++
virtual EERType GetRenderNodeType() = 0;
IRenderNode::GetRndFlags Method
C++
unsigned int GetRndFlags() const;
IRenderNode::GetSlotCount Method
C++
virtual int GetSlotCount() const;
IRenderNode::GetSortPriority Method
C++
virtual uint8 GetSortPriority();
IRenderNode::GetStatObjGroupId Method
C++
virtual int GetStatObjGroupId() const;
IRenderNode::Hide Method
C++
virtual void Hide(bool bHide);
Description

Hides/disables node in renderer.

IRenderNode::IRenderNode Constructor
C++
IRenderNode();
IRenderNode::IRenderNode::SetViewDistRatio Method
C++
inline void IRenderNode::SetViewDistRatio(int nViewDistRatio);
IRenderNode::IsAllocatedOutsideOf3DEngineDLL Method
C++
virtual bool IsAllocatedOutsideOf3DEngineDLL();
IRenderNode::IsMovableByGame Method
C++
virtual bool IsMovableByGame() const;
IRenderNode::OffsetPosition Method

Changes the world coordinates position of this node by delta Don't forget to call this base function when overriding it.

C++
virtual void OffsetPosition(const Vec3& delta) = 0;
IRenderNode::OnEntityEvent Method
C++
virtual void OnEntityEvent(IEntity* pEntity, SEntityEvent const& event);
IRenderNode::OnPhysAreaChange Method
C++
virtual void OnPhysAreaChange();
IRenderNode::OnRenderNodeBecomeVisible Method
C++
virtual void OnRenderNodeBecomeVisible(const SRenderingPassInfo & passInfo);
Description

virtual float GetLodForDistance(float fDistance) { return 0;

IRenderNode::Physicalize Method

Physicalizes node.

C++
virtual void Physicalize(bool bInstant = false);
IRenderNode::PhysicalizeFoliage Method

Physicalize stat object's foliage.

C++
virtual bool PhysicalizeFoliage(bool bPhysicalize = true, int iSource = 0, int nSlot = 0);
IRenderNode::Precache Method
C++
virtual void Precache();
IRenderNode::ReleaseNode Method
C++
virtual void ReleaseNode(bool bImmediate = false);
Description

Releases IRenderNode.

IRenderNode::Render Method

Renders node geometry

C++
virtual void Render(const struct SRendParams & EntDrawParams, const SRenderingPassInfo & passInfo) = 0;
IRenderNode::SetBBox Method
C++
virtual void SetBBox(const AABB& WSBBox) = 0;
IRenderNode::SetCollisionClassIndex Method
C++
virtual void SetCollisionClassIndex(int tableIndex);
Description

Used by the editor during export

IRenderNode::SetDrawFrame Method
C++
void SetDrawFrame(int nFrameID, int nRecursionLevel);
Description

Object draw frames (set if was drawn).

IRenderNode::SetEditorObjectId Method
C++
virtual void SetEditorObjectId(int nEditorObjectId);
IRenderNode::SetEntityStatObj Method
C++
virtual void SetEntityStatObj(unsigned int nSlot, IStatObj * pStatObj, const Matrix34A * pMatrix = NULL);
IRenderNode::SetLayerId Method
C++
virtual void SetLayerId(uint16 nLayerId);
IRenderNode::SetLodRatio Method
C++
virtual void SetLodRatio(int nLodRatio);
Description

Allows to adjust default lod distance settings, if fLodRatio is 100 - default lod distance is used.

IRenderNode::SetMaterial Method

Sets override material for this instance.

C++
virtual void SetMaterial(IMaterial * pMat) = 0;
IRenderNode::SetMatrix Method
C++
virtual void SetMatrix(const Matrix34& mat);
Description

Sets render node transformation matrix.

IRenderNode::SetMinSpec Method
C++
virtual void SetMinSpec(int nMinSpec);
IRenderNode::SetPhysics Method
C++
virtual void SetPhysics(IPhysicalEntity* pPhys) = 0;
IRenderNode::SetRndFlags Method (unsigned int)
C++
void SetRndFlags(unsigned int dwFlags);
Description

Rendering flags.

IRenderNode::SetRndFlags Method (unsigned int, bool)
C++
void SetRndFlags(unsigned int dwFlags, bool bEnable);
IRenderNode::SetStatObjGroupId Method
C++
virtual void SetStatObjGroupId(int nVegetationanceGroupId);
IRenderNode::SetViewDistRatio Method
C++
virtual void SetViewDistRatio(int nViewDistRatio);
Description

Allows to adjust default max view distance settings, if fMaxViewDistRatio is 100 - default max view distance is used.