Interface to the Water Volume Render Node object. More...
#include
Inherits IRenderNode.
Public Types | |
enum | EWaterVolumeType { eWVT_Unknown, eWVT_Ocean, eWVT_Area, eWVT_River } |
Public Types inherited from IRenderNode | |
enum | EInternalFlags : uint8 { 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) } |
enum | EGIMode { eGM_None = 0, eGM_StaticVoxelization, eGM_DynamicVoxelization, eGM_HideIfGiIsActive, eGM_AnalyticalProxy_Soft, eGM_AnalyticalProxy_Hard, eGM_AnalytPostOccluder, eGM_IntegrateIntoTerrain } |
Object can be used by GI system in several ways. More... | |
typedef uint64 | RenderFlagsType |
Public Member Functions | |
virtual void | SetAreaAttachedToEntity ()=0 |
virtual void | SetFogDensity (float fogDensity)=0 |
virtual float | GetFogDensity () const =0 |
virtual void | SetFogColor (const Vec3 &fogColor)=0 |
virtual void | SetFogColorAffectedBySun (bool enable)=0 |
virtual void | SetFogShadowing (float fogShadowing)=0 |
virtual void | SetCapFogAtVolumeDepth (bool capFog)=0 |
virtual void | SetVolumeDepth (float volumeDepth)=0 |
virtual void | SetStreamSpeed (float streamSpeed)=0 |
virtual void | SetCaustics (bool caustics)=0 |
virtual void | SetCausticIntensity (float causticIntensity)=0 |
virtual void | SetCausticTiling (float causticTiling)=0 |
virtual void | SetCausticHeight (float causticHeight)=0 |
virtual void | SetAuxPhysParams (pe_params_area *)=0 |
virtual void | CreateOcean (uint64 volumeID, bool keepSerializationParams=false)=0 |
virtual void | CreateArea (uint64 volumeID, const Vec3 *pVertices, unsigned int numVertices, const Vec2 &surfUVScale, const Plane &fogPlane, bool keepSerializationParams=false)=0 |
virtual void | CreateRiver (uint64 volumeID, const Vec3 *pVertices, unsigned int numVertices, float uTexCoordBegin, float uTexCoordEnd, const Vec2 &surfUVScale, const Plane &fogPlane, bool keepSerializationParams=false)=0 |
virtual void | SetAreaPhysicsArea (const Vec3 *pVertices, unsigned int numVertices, bool keepSerializationParams=false)=0 |
virtual void | SetRiverPhysicsArea (const Vec3 *pVertices, unsigned int numVertices, bool keepSerializationParams=false)=0 |
virtual IPhysicalEntity * | SetAndCreatePhysicsArea (const Vec3 *pVertices, unsigned int numVertices)=0 |
Public Member Functions inherited from IRenderNode | |
virtual bool | CanExecuteRenderAsJob () |
virtual const char * | GetName () const =0 |
Debug info about object. | |
virtual const char * | GetEntityClassName () const =0 |
virtual string | GetDebugString (char type=0) const |
virtual float | GetImportance () const |
virtual void | ReleaseNode (bool bImmediate=false) |
Releases IRenderNode. | |
virtual IRenderNode * | Clone () const |
virtual void | SetMatrix (const Matrix34 &mat) |
Sets render node transformation matrix. | |
virtual void | GetLocalBounds (AABB &bbox) |
Gets local bounds of the render node. | |
virtual Vec3 | GetPos (bool bWorldOnly=true) const =0 |
virtual const AABB | GetBBox () const =0 |
virtual void | FillBBox (AABB &aabb) |
virtual void | SetBBox (const AABB &WSBBox)=0 |
virtual void | OffsetPosition (const Vec3 &delta)=0 |
virtual void | Render (const struct SRendParams &EntDrawParams, const SRenderingPassInfo &passInfo)=0 |
Renders node geometry. | |
virtual void | Hide (bool bHide) |
Hides/disables node in renderer. | |
virtual IStatObj * | GetEntityStatObj (unsigned int nSubPartId=0, Matrix34A *pMatrix=NULL, bool bReturnOnlyVisible=false) |
Gives access to object components. | |
virtual void | SetEntityStatObj (IStatObj *pStatObj, const Matrix34A *pMatrix=NULL) |
virtual ICharacterInstance * | GetEntityCharacter (Matrix34A *pMatrix=NULL, bool bReturnOnlyVisible=false) |
Retrieve access to the character instance of the the RenderNode. | |
virtual struct IGeomCacheRenderNode * | GetGeomCacheRenderNode (unsigned int nSlot, Matrix34A *pMatrix=NULL, bool bReturnOnlyVisible=false) |
virtual struct IRenderMesh * | GetRenderMesh (int nLod) |
virtual void | SetLodRatio (int nLodRatio) |
virtual uint8 | GetMaterialLayers () const |
Get material layers mask. | |
virtual struct IPhysicalEntity * | GetPhysics () const =0 |
Get physical entity. | |
virtual void | SetPhysics (IPhysicalEntity *pPhys)=0 |
virtual void | CheckPhysicalized () |
Physicalizes if it isn't already. | |
virtual void | Physicalize (bool bInstant=false) |
Physicalize the node. | |
virtual bool | PhysicalizeFoliage (bool bPhysicalize=true, int iSource=0, int nSlot=0) |
Physicalize stat object's foliage. | |
virtual IPhysicalEntity * | GetBranchPhys (int idx, int nSlot=0) |
Get physical entity (rope) for a given branch (if foliage is physicalized). | |
virtual struct IFoliage * | GetFoliage (int nSlot=0) |
virtual | ~IRenderNode () |
Make sure I3DEngine::FreeRenderNodeState(this) is called in destructor of derived class. | |
virtual void | SetMaterial (IMaterial *pMat)=0 |
Set override material for this instance. | |
virtual IMaterial * | GetMaterial (Vec3 *pHitPos=NULL) const =0 |
Queries override material of this instance. | |
virtual IMaterial * | GetMaterialOverride ()=0 |
virtual void | SetCollisionClassIndex (int tableIndex) |
Used by the editor during export. | |
virtual void | SetStatObjGroupIndex (int nVegetationGroupIndex) |
virtual int | GetStatObjGroupId () const |
virtual void | SetLayerId (uint16 nLayerId) |
virtual uint16 | GetLayerId () |
virtual float | GetMaxViewDist ()=0 |
virtual EERType | GetRenderNodeType ()=0 |
virtual bool | IsAllocatedOutsideOf3DEngineDLL () |
virtual void | Dephysicalize (bool bKeepIfReferenced=false) |
virtual void | Dematerialize () |
virtual void | GetMemoryUsage (ICrySizer *pSizer) const =0 |
virtual void | Precache () |
virtual void | UpdateStreamingPriority (const SUpdateStreamingPriorityContext &streamingContext) |
virtual const AABB | GetBBoxVirtual () |
virtual void | OnRenderNodeBecomeVisibleAsync (SRenderNodeTempData *pTempData, const SRenderingPassInfo &passInfo) |
virtual void | OnRenderNodeVisible (bool bBecomeVisible) |
Called when RenderNode becomes visible or invisible, can only be called from the Main thread. | |
virtual uint8 | GetSortPriority () |
virtual EGIMode | GetGIMode () const |
Retrieves the way object is used by GI system. | |
virtual void | SetMinSpec (RenderFlagsType nMinSpec) |
virtual void | SetViewDistRatio (int nViewDistRatio) |
void | CopyIRenderNodeData (IRenderNode *pDest) const |
ILINE void | SetRndFlags (RenderFlagsType dwFlags) |
Rendering flags. (. More... | |
ILINE void | SetRndFlags (RenderFlagsType dwFlags, bool bEnable) |
ILINE RenderFlagsType | GetRndFlags () const |
ILINE void | SetDrawFrame (int nFrameID, int nRecursionLevel) |
Object draw frames (set if was drawn). | |
ILINE int | GetDrawFrame (int nRecursionLevel=0) const |
ILINE IVisArea * | GetEntityVisArea () const |
struct CTerrainNode * | GetEntityTerrainNode () const |
ILINE void | SetViewDistUnlimited () |
Makes object visible at any distance. | |
ILINE int | GetViewDistRatio () const |
Retrieves the view distance settings. | |
ILINE int | GetViewDistRatioVal () const |
Retrieves the view distance settings without any value interpretation. | |
ILINE float | GetViewDistRatioNormilized () const |
ILINE int | GetLodRatio () const |
ILINE float | GetLodRatioNormalized () const |
virtual bool | GetLodDistances (const SFrameLodInfo &frameLodInfo, float *distances) const |
virtual void | SetShadowLodBias (int8 nShadowLodBias) |
Bias value to add to the regular lod. | |
ILINE int | GetShadowLodBias () const |
virtual void | SetCameraSpacePos (Vec3 *pCameraSpacePos) |
ILINE void | SetMaterialLayers (uint8 nMtlLayers) |
Set material layers mask. | |
ILINE int | GetMinSpec () const |
ILINE void | InvalidatePermanentRenderObject () |
Inform 3d engine that permanent render object that captures drawing state of this node is not valid and must be recreated. | |
virtual void | SetEditorObjectId (uint32 nEditorObjectId) |
virtual void | SetEditorObjectInfo (bool bSelected, bool bHighlighted) |
virtual void | SetOwnerEntity (IEntity *pEntity) |
virtual IEntity * | GetOwnerEntity () const |
void | RemoveAndMarkForAutoDeleteTempData () |
Additional Inherited Members | |
Static Public Member Functions inherited from IRenderNode | |
static const ERNListType | GetRenderNodeListId (const EERType eRType) |
Public Attributes inherited from IRenderNode | |
IRenderNode * | m_pNext |
Every sector has linked list of IRenderNode objects. | |
IRenderNode * | m_pPrev |
IOctreeNode * | m_pOcNode |
Current objects tree cell. | |
std::atomic< SRenderNodeTempData * > | m_pTempData |
Pointer to temporary data allocated only for currently visible objects. | |
int | m_manipulationFrame = -1 |
CryRWLock | m_manipulationLock |
uint32 | m_nHUDSilhouettesParam |
Hud silhouette parameter, default is black with alpha zero. | |
float | m_fWSMaxViewDist |
Max view distance. | |
RenderFlagsType | m_dwRndFlags |
Render flags (. More... | |
uint8 | m_nInternalFlags |
Flags for render node internal usage, one or more bits from EInternalFlags. | |
uint8 | m_ucViewDistRatio |
Max view distance settings. | |
uint8 | m_ucLodRatio |
LOD settings. | |
uint8 | m_nMaterialLayers |
Material layers bitmask -> which material layers are active. | |
int8 | m_cShadowLodBias |
uint32 | m_nEditorSelectionID |
Static Public Attributes inherited from IRenderNode | |
static const int8 | SHADOW_LODBIAS_DISABLE = -128 |
Interface to the Water Volume Render Node object.
|
pure virtual |
Sets whether 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).