I3DEngine

Interface to the 3d Engine. More...

#include

Inherits IProcess.

Public Types

enum eStreamingSubsystem { eStreamingSubsystem_Textures, eStreamingSubsystem_Objects, eStreamingSubsystem_Audio }
enum EDebugDrawListAssetTypes {
DLOT_ALL = 0, DLOT_BRUSH = BIT(0), DLOT_VEGETATION = BIT(1), DLOT_CHARACTER = BIT(2),
DLOT_STATOBJ = BIT(3)
}
enum EChunkFileFormat { eChunkFileFormat_0x745, eChunkFileFormat_0x746 }

Public Member Functions

virtual bool Init ()=0
Initializes the 3D Engine.
virtual void SetLevelPath (const char *szFolderName)=0
virtual void PrepareOcclusion (const CCamera &rCamera)=0
virtual void EndOcclusion ()=0
virtual bool LoadLevel (const char *szFolderName, const char *szMissionName)=0
virtual bool InitLevelForEditor (const char *szFolderName, const char *szMissionName)=0
virtual void OnFrameStart ()=0
virtual void PostLoadLevel ()=0
virtual void UnloadLevel ()=0
virtual void Update ()=0
virtual const CCamera & GetRenderingCamera () const =0
virtual float GetZoomFactor () const =0
virtual float IsZoomInProgress () const =0
virtual void Tick ()=0
Clear all per frame temp data used in SRenderingPass.
virtual void UpdateShaderItems ()=0
Update all ShaderItems flags, only required after shaders were reloaded at runtime.
virtual void Release ()=0
Deletes the 3D Engine instance.
virtual void RenderWorld (const int nRenderFlags, const SRenderingPassInfo &passInfo, const char *szDebugName)=0
virtual void PreWorldStreamUpdate (const CCamera &cam)=0
Prepares for the world stream update, should be called before rendering.
virtual void WorldStreamUpdate ()=0
Performs the actual world streaming update. PreWorldStreamUpdate must be called before.
virtual void ShutDown ()=0
Shuts down the 3D Engine.
virtual IStatObj * LoadStatObj (const char *szFileName, const char *szGeomName=NULL, IStatObj::SSubObject **ppSubObject=NULL, bool bUseStreaming=true, unsigned long nLoadingFlags=0)=0
virtual IStatObj * FindStatObjectByFilename (const char *filename)=0
virtual void ResetCoverageBufferSignalVariables ()=0
virtual int GetLoadedObjectCount ()
virtual void GetLoadedStatObjArray (IStatObj **pObjectsArray, int &nCount)=0
virtual void GetObjectsStreamingStatus (SObjectsStreamingStatus &outStatus)=0
Gets stats on streamed objects.
virtual void GetStreamingSubsystemData (int subsystem, SStremaingBandwidthData &outData)=0
virtual void RegisterEntity (IRenderNode *pEntity)=0
virtual void SelectEntity (IRenderNode *pEntity)=0
virtual void AddObjToDebugDrawList (SObjectInfoToAddToDebugDrawList &objInfo)=0
virtual bool IsDebugDrawListEnabled () const =0
virtual void UnRegisterEntityDirect (IRenderNode *pEntity)=0
virtual void UnRegisterEntityAsJob (IRenderNode *pEnt)=0
virtual void AddWaterRipple (const Vec3 &vPos, float scale, float strength)=0
Add a water ripple to the scene.
virtual bool IsUnderWater (const Vec3 &vPos) const =0
virtual void SetOceanRenderFlags (uint8 nFlags)=0
virtual uint8 GetOceanRenderFlags () const =0
virtual uint32 GetOceanVisiblePixelsCount () const =0
virtual float GetBottomLevel (const Vec3 &referencePos, float maxRelevantDepth, int objtypes)=0
virtual float GetBottomLevel (const Vec3 &referencePos, float maxRelevantDepth=10.0f)=0
virtual float GetBottomLevel (const Vec3 &referencePos, int objflags)=0
virtual float GetWaterLevel ()=0
virtual float GetWaterLevel (const Vec3 *pvPos, IPhysicalEntity *pent=NULL, bool bAccurate=false)=0
virtual float GetAccurateOceanHeight (const Vec3 &pCurrPos) const =0
virtual Vec4 GetCausticsParams () const =0
virtual Vec4 GetOceanAnimationCausticsParams () const =0
virtual void GetOceanAnimationParams (Vec4 &pParams0, Vec4 &pParams1) const =0
virtual void GetHDRSetupParams (Vec4 pParams[5]) const =0
Gets HDR setup parameters.
virtual void ResetParticlesAndDecals ()=0
Removes all particles and decals from the world.
virtual void CreateDecal (const CryEngineDecalInfo &Decal)=0
virtual void DeleteDecalsInRange (AABB *pAreaBox, IRenderNode *pEntity)=0
virtual void DrawFarTrees (const SRenderingPassInfo &passInfo)=0
Used by renderer. More...
virtual void GenerateFarTrees (const SRenderingPassInfo &passInfo)=0
virtual void SetSkyColor (Vec3 vColor)=0
Sets the current outdoor ambient color.
virtual void SetSunColor (Vec3 vColor)=0
Sets the current sun color.
virtual void SetSkyBrightness (float fMul)=0
Sets the current sky brightening multiplier.
virtual float GetSunRel () const =0
Gets the current sun/sky color relation.
virtual void SetRainParams (const SRainParams &rainParams)=0
Sets current rain parameters.
virtual bool GetRainParams (SRainParams &rainParams)=0
Gets the validity and fills current rain parameters.
virtual void SetSnowSurfaceParams (const Vec3 &vCenter, float fRadius, float fSnowAmount, float fFrostAmount, float fSurfaceFreezing)=0
Sets current snow surface parameters.
virtual bool GetSnowSurfaceParams (Vec3 &vCenter, float &fRadius, float &fSnowAmount, float &fFrostAmount, float &fSurfaceFreezing)=0
Gets current snow surface parameters.
virtual void SetSnowFallParams (int nSnowFlakeCount, float fSnowFlakeSize, float fSnowFallBrightness, float fSnowFallGravityScale, float fSnowFallWindScale, float fSnowFallTurbulence, float fSnowFallTurbulenceFreq)=0
Sets current snow parameters.
virtual bool GetSnowFallParams (int &nSnowFlakeCount, float &fSnowFlakeSize, float &fSnowFallBrightness, float &fSnowFallGravityScale, float &fSnowFallWindScale, float &fSnowFallTurbulence, float &fSnowFallTurbulenceFreq)=0
Gets current snow parameters.
virtual void SetMaxViewDistanceScale (float fScale)=0
virtual float GetMaxViewDistance (bool bScaled=true)=0
virtual const SFrameLodInfo & GetFrameLodInfo () const =0
virtual void SetFrameLodInfo (const SFrameLodInfo &frameLodInfo)=0
virtual void SetFogColor (const Vec3 &vFogColor)=0
Sets the fog color.
virtual Vec3 GetFogColor ()=0
Gets the fog color.
virtual void GetSkyLightParameters (Vec3 &sunDir, Vec3 &sunIntensity, float &Km, float &Kr, float &g, Vec3 &rgbWaveLengths)=0
Gets various sky light parameters.
virtual void SetSkyLightParameters (const Vec3 &sunDir, const Vec3 &sunIntensity, float Km, float Kr, float g, const Vec3 &rgbWaveLengths, bool forceImmediateUpdate=false)=0
Sets various sky light parameters.
virtual float GetLightsHDRDynamicPowerFactor () const =0
virtual bool IsTessellationAllowed (const CRenderObject *pObj, const SRenderingPassInfo &passInfo, bool bIgnoreShadowPass=false) const =0
virtual void SetRenderNodeMaterialAtPosition (EERType eNodeType, const Vec3 &vPos, IMaterial *pMat)=0
Allows to modify material on render nodes at run-time (make sure it is properly restored back).
virtual void OverrideCameraPrecachePoint (const Vec3 &vPos)=0
Override the camera precache point with the requested position for the current round.
virtual int AddPrecachePoint (const Vec3 &vPos, const Vec3 &vDir, float fTimeOut=3.f, float fImportanceFactor=1.0f)=0
Begin streaming of meshes and textures for specified position, pre-cache stops after fTimeOut seconds.
virtual void ClearPrecachePoint (int id)=0
virtual void ClearAllPrecachePoints ()=0
virtual void GetPrecacheRoundIds (int pRoundIds[MAX_STREAM_PREDICTION_ZONES])=0
virtual void TraceFogVolumes (const Vec3 &worldPos, ColorF &fogVolumeContrib, const SRenderingPassInfo &passInfo)=0
virtual float GetTerrainElevation (float x, float y)=0
virtual float GetTerrainZ (float x, float y)=0
virtual bool GetTerrainHole (float x, float y)=0
virtual Vec3 GetTerrainSurfaceNormal (Vec3 vPos)=0
virtual float GetHeightMapUnitSize ()=0
virtual int GetTerrainSize ()=0
virtual int GetTerrainSectorSize ()=0
virtual void RemoveAllStaticObjects ()=0
virtual void SetTerrainSurfaceType (int x, int y, int nType)=0
virtual bool IsTerrainHightMapModifiedByGame ()=0
virtual void SetHeightMapMaxHeight (float fMaxHeight)=0
virtual void SetTerrainSectorTexture (const int nTexSectorX, const int nTexSectorY, unsigned int textureId)=0
virtual int GetTerrainTextureNodeSizeMeters ()=0
virtual int GetTerrainTextureNodeSizePixels (int nLayer)=0
virtual bool SetStatInstGroup (int nGroupId, const IStatInstGroup &siGroup)=0
virtual bool GetStatInstGroup (int nGroupId, IStatInstGroup &siGroup)=0
virtual void SetTerrainBurnedOut (int x, int y, bool bBurnedOut)=0
virtual bool IsTerrainBurnedOut (int x, int y)=0
virtual void OnExplosion (Vec3 vPos, float fRadius, bool bDeformTerrain=true)=0
virtual void SetPhysMaterialEnumerator (IPhysMaterialEnumerator *pPhysMaterialEnumerator)=0
virtual IPhysMaterialEnumerator * GetPhysMaterialEnumerator ()=0
virtual void LoadMissionDataFromXMLNode (const char *szMissionName)=0
virtual void LoadEnvironmentSettingsFromXML (XmlNodeRef pInputNode)=0
virtual void LoadTerrainSurfacesFromXML (XmlNodeRef pDoc, bool bUpdateTerrain)=0
virtual void ApplyForceToEnvironment (Vec3 vPos, float fRadius, float fAmountOfForce)=0
virtual Vec3 GetSunDir () const =0
virtual Vec3 GetSunDirNormalized () const =0
virtual Vec3 GetRealtimeSunDirNormalized () const =0
virtual Vec3 GetAmbientColorFromPosition (const Vec3 &vPos, float fRadius=1.f)=0
virtual float GetDistanceToSectorWithWater ()=0
virtual Vec3 GetSkyColor () const =0
virtual Vec3 GetSunColor () const =0
virtual float GetSkyBrightness () const =0
virtual float GetSSAOAmount () const =0
virtual float GetSSAOContrast () const =0
virtual float GetGIAmount () const =0
virtual float GetTerrainTextureMultiplier () const =0
virtual void FreeRenderNodeState (IRenderNode *pEntity)=0
Frees entity render info.
virtual const char * GetLevelFilePath (const char *szFileName)=0
virtual void DisplayInfo (float &fTextPosX, float &fTextPosY, float &fTextStepY, const bool bEnhanced)=0
virtual void DrawTextRightAligned (const float x, const float y, const char *format,...) PRINTF_PARAMS(4
Draws text right aligned at the y pixel precision.
virtual void virtual void DrawTextRightAligned (const float x, const float y, const float scale, const ColorF &color, const char *format,...) PRINTF_PARAMS(6
virtual void virtual void virtual void ActivatePortal (const Vec3 &vPos, bool bActivate, const char *szEntityName)=0
virtual void ActivateOcclusionAreas (IVisAreaTestCallback *pTest, bool bActivate)=0
virtual void GetMemoryUsage (ICrySizer *pSizer) const =0
virtual void GetResourceMemoryUsage (ICrySizer *pSizer, const AABB &cstAABB)=0
virtual IVisArea * CreateVisArea (uint64 visGUID)=0
virtual void DeleteVisArea (IVisArea *pVisArea)=0
virtual void UpdateVisArea (IVisArea *pArea, const Vec3 *pPoints, int nCount, const char *szName, const SVisAreaInfo &info, bool bReregisterObjects)=0
Updates the VisArea.
virtual bool IsVisAreasConnected (IVisArea *pArea1, IVisArea *pArea2, int nMaxRecursion=1, bool bSkipDisabledPortals=true)=0
virtual IClipVolume * CreateClipVolume ()=0
virtual void DeleteClipVolume (IClipVolume *pClipVolume)=0
virtual void UpdateClipVolume (IClipVolume *pClipVolume, _smart_ptr< IRenderMesh > pRenderMesh, IBSPTree3D *pBspTree, const Matrix34 &worldTM, bool bActive, uint32 flags, const char *szName)=0
virtual IRenderNode * CreateRenderNode (EERType type)=0
Creates instance of IRenderNode object with specified type.
virtual void DeleteRenderNode (IRenderNode *pRenderNode)=0
Delete RenderNode object.
virtual void SetWind (const Vec3 &vWind)=0
Set global wind vector.
virtual Vec3 GetWind (const AABB &box, bool bIndoors) const =0
Gets wind direction and force, averaged within a box.
virtual Vec3 GetGlobalWind (bool bIndoors) const =0
Gets the global wind vector.
virtual bool SampleWind (Vec3 *pSamples, int nSamples, const AABB &volume, bool bIndoors) const =0
virtual IVisArea * GetVisAreaFromPos (const Vec3 &vPos)=0
virtual bool IntersectsVisAreas (const AABB &box, void **pNodeCache=0)=0
virtual bool ClipToVisAreas (IVisArea *pInside, Sphere &sphere, Vec3 const &vNormal, void *pNodeCache=0)=0
virtual void EnableOceanRendering (bool bOcean)=0
virtual struct ILightSource * CreateLightSource ()=0
virtual void DeleteLightSource (ILightSource *pLightSource)=0
virtual const PodArray< SRenderLight * > * GetStaticLightSources ()=0
virtual const PodArray< ILightSource * > * GetLightEntities ()=0
virtual void GetLightVolumes (threadID nThreadID, SLightVolume *&pLightVols, uint32 &nNumVols)=0
virtual bool RestoreTerrainFromDisk ()=0
virtual const char * GetFilePath (const char *szFileName)
virtual void SetPostEffectParam (const char *pParam, float fValue, bool bForceValue=false) const =0
virtual void SetPostEffectParamVec4 (const char *pParam, const Vec4 &pValue, bool bForceValue=false) const =0
virtual void SetPostEffectParamString (const char *pParam, const char *pszArg) const =0
virtual void GetPostEffectParam (const char *pParam, float &fValue) const =0
virtual void GetPostEffectParamVec4 (const char *pParam, Vec4 &pValue) const =0
virtual void GetPostEffectParamString (const char *pParam, const char *&pszArg) const =0
virtual int32 GetPostEffectID (const char *pPostEffectName)=0
virtual void ResetPostEffects (bool bOnSpecChange=false) const =0
virtual void SetShadowsGSMCache (bool bCache)=0
virtual void SetCachedShadowBounds (const AABB &shadowBounds, float fAdditionalCascadesScale)=0
virtual void SetRecomputeCachedShadows (uint nUpdateStrategy=0)=0
virtual void CheckPhysicalized (const Vec3 &vBoxMin, const Vec3 &vBoxMax)=0
Physicalizes area if not physicalized yet.
virtual void CheckMemoryHeap ()=0
In debug mode, check memory heap and makes assert, do nothing in release.
virtual void CloseTerrainTextureFile ()=0
Closes terrain texture file handle and allows to replace/update it.
virtual void DeleteEntityDecals (IRenderNode *pEntity)=0
Removes all decals attached to specified entity.
virtual void CompleteObjectsGeometry ()=0
Finishes objects geometery generation/loading.
virtual void LockCGFResources ()=0
Disables CGFs unloading.
virtual void UnlockCGFResources ()=0
Enables CGFs unloading (this is default state), this function will also release all not used CGF's.
virtual IStatObj * CreateStatObj ()=0
Creates static object containing empty IndexedMesh.
virtual IStatObj * CreateStatObjOptionalIndexedMesh (bool createIndexedMesh)=0
virtual IIndexedMesh * CreateIndexedMesh ()=0
Creates the instance of the indexed mesh.
virtual IStatObj * UpdateDeformableStatObj (IGeometry *pPhysGeom, bop_meshupdate *pLastUpdate=0, IFoliage *pSrcFoliage=0)=0
virtual void SerializeState (TSerialize ser)=0
Saves/loads state of engine objects.
virtual void PostSerialize (bool bReading)=0
Cleanups after save/load.
virtual IMaterialHelpers & GetMaterialHelpers ()=0
Retrieve pointer to the material i/o interface.
virtual IMaterialManager * GetMaterialManager ()=0
Retrieve pointer to the material manager interface.
virtual CContentCGF * CreateChunkfileContent (const char *filename)=0
virtual void ReleaseChunkfileContent (CContentCGF *)=0
Deletes the chunkfile content instance.
virtual bool LoadChunkFileContent (CContentCGF *pCGF, const char *filename, bool bNoWarningMode=false, bool bCopyChunkFile=true)=0
virtual bool LoadChunkFileContentFromMem (CContentCGF *pCGF, const void *pData, size_t nDataLen, uint32 nLoadingFlags, bool bNoWarningMode=false, bool bCopyChunkFile=true)=0
virtual IChunkFile * CreateChunkFile (bool bReadOnly=false)=0
Creates ChunkFile.
virtual ChunkFile::IChunkFileWriter * CreateChunkFileWriter (EChunkFileFormat eFormat, ICryPak *pPak, const char *filename) const =0
virtual void ReleaseChunkFileWriter (ChunkFile::IChunkFileWriter *p) const =0
virtual ITerrain * GetITerrain ()=0
virtual ITerrain * CreateTerrain (const STerrainInfo &TerrainInfo)=0
Creates terrain engine.
virtual void DeleteTerrain ()=0
Deletes terrain.
virtual IVisAreaManager * GetIVisAreaManager ()=0
virtual IMergedMeshesManager * GetIMergedMeshesManager ()=0
virtual float GetLightAmountInRange (const Vec3 &pPos, float fRange, bool bAccurate=0)=0
virtual void PrecacheLevel (bool bPrecacheAllVisAreas, Vec3 *pPrecachePoints, int nPrecachePointsNum)=0
Places camera into every visarea or every manually set pre-cache points and render the scenes.
virtual void ProposeContentPrecache ()=0
Proposes 3dengine to load on next frame all shaders and textures synchronously.
virtual ITimeOfDay * GetTimeOfDay ()=0
virtual IMaterial * GetSkyMaterial ()=0
virtual void SetSkyMaterial (IMaterial *pSkyMat)=0
Sets SkyBox Material.
virtual void SetGlobalParameter (E3DEngineParameter param, const Vec3 &v)=0
Sets global 3d engine parameter.
void SetGlobalParameter (E3DEngineParameter param, float val)
virtual void GetGlobalParameter (E3DEngineParameter param, Vec3 &v)=0
Retrieves global 3d engine parameter.
float GetGlobalParameter (E3DEngineParameter param)
virtual void SetShadowMode (EShadowMode shadowMode)=0
virtual EShadowMode GetShadowMode () const =0
virtual void AddPerObjectShadow (IShadowCaster *pCaster, float fConstBias, float fSlopeBias, float fJitter, const Vec3 &vBBoxScale, uint nTexSize)=0
virtual void RemovePerObjectShadow (IShadowCaster *pCaster)=0
virtual struct SPerObjectShadow * GetPerObjectShadow (IShadowCaster *pCaster)=0
virtual void GetCustomShadowMapFrustums (struct ShadowMapFrustum **&arrFrustums, int &nFrustumCount)=0
virtual int SaveStatObj (IStatObj *pStatObj, TSerialize ser)=0
virtual IStatObj * LoadStatObj (TSerialize ser)=0
Loads statobj from a stream.
virtual void OnRenderMeshDeleted (IRenderMesh *pRenderMesh)=0
Removes references to RenderMesh.
virtual void OnEntityDeleted (struct IEntity *pEntity)=0
Removes references to IEntity.
virtual void DebugDraw_UpdateDebugNode ()=0
Used to highlight an object under the reticule.
virtual bool RayObjectsIntersection2D (Vec3 vStart, Vec3 vEnd, Vec3 &vHitPoint, EERType eERType)
Used by editor during AO computations, deprecated.
virtual bool RenderMeshRayIntersection (IRenderMesh *pRenderMesh, SRayHitInfo &hitInfo, IMaterial *pCustomMtl=0)=0
Used by editor during object alignment.
virtual ISegmentsManager * GetSegmentsManager ()
Warning: deprecated Segmented World implementation is not supported by CryEngine anymore.
virtual void SetSegmentsManager (ISegmentsManager *pSegmentsManager)
virtual bool IsSegmentOperationInProgress ()
virtual void SetSegmentOperationInProgress (bool bActive)
virtual uint32 GetObjectsByType (EERType objType, IRenderNode **pObjects=0)=0
virtual uint32 GetObjectsByTypeInBox (EERType objType, const AABB &bbox, IRenderNode **pObjects=0, uint64 dwFlags=~0)=0
virtual uint32 GetObjectsInBox (const AABB &bbox, IRenderNode **pObjects=0)=0
virtual uint32 GetObjectsByFlags (uint dwFlag, IRenderNode **pObjects=0)=0
virtual void OnObjectModified (IRenderNode *pRenderNode, IRenderNode::RenderFlagsType dwFlags)=0
Called from editor whenever an object is modified by the user.
virtual void FillDebugFPSInfo (SDebugFPSInfo &)=0
virtual void SetTerrainLayerBaseTextureData (int nLayerId, byte *pImage, int nDim, const char *nImgFileName, IMaterial *pMat, float fBr, float fTiling, int nDetailSurfTypeId, float fTilingDetail, float fSpecularAmount, float fSortOrder, ColorF layerFilterColor, float fUseRemeshing, bool bShowSelection)=0
virtual bool IsAreaActivationInUse ()=0
virtual void RenderRenderNode_ShadowPass (IShadowCaster *pRNode, const SRenderingPassInfo &passInfo)=0
virtual const char * GetVoxelEditOperationName (EVoxelEditOperation eOperation)=0
virtual void SetEditorHeightmapCallback (IEditorHeightmap *pCallBack)=0
Gives 3dengine access to original and most precise heighmap data in the editor.
virtual PodArray< SRenderLight * > * GetDynamicLightSources ()=0
virtual IParticleManager * GetParticleManager ()=0
virtual IOpticsManager * GetOpticsManager ()=0
virtual void SyncProcessStreamingUpdate ()=0
Syncs and performs outstanding operations for the Asyncrhon ProcessStreaming Update.
virtual void SetScreenshotCallback (IScreenshotCallback *pCallback)=0
Set Callback for Editor to store additional information in Minimap tool.
virtual void RegisterRenderNodeStatusListener (IRenderNodeStatusListener *pListener, EERType renderNodeType)=0
Register or unregister a call back for render node status updates.
virtual void UnregisterRenderNodeStatusListener (IRenderNodeStatusListener *pListener, EERType renderNodeType)=0
virtual void ActivateObjectsLayer (uint16 nLayerId, bool bActivate, bool bPhys, bool bObjects, bool bStaticLights, const char *pLayerName, IGeneralMemoryHeap *pHeap=NULL, bool bCheckLayerActivation=true)=0
Show/Hide objects by layer (useful for streaming and performance).
virtual void UpdateObjectsLayerAABB (IRenderNode *pEnt)=0
Inform layer system about object aabb change.
virtual void GetLayerMemoryUsage (uint16 nLayerId, ICrySizer *pSizer, int *pNumBrushes, int *pNumDecals) const =0
Get object layer memory usage.
virtual void SkipLayerLoading (uint16 nLayerId, bool bClearList)=0
Collect layer ID's to skip loading objects from these layers, e.g. to skip console specific layers.
virtual void PrecacheCharacter (IRenderNode *pObj, const float fImportance, ICharacterInstance *pCharacter, IMaterial *pSlotMat, const Matrix34 &matParent, const float fEntDistance, const float fScale, int nMaxDepth, bool bForceStreamingSystemUpdate, const SRenderingPassInfo &passInfo)=0
Activate streaming of character and all sub-components.
virtual void PrecacheRenderNode (IRenderNode *pObj, float fEntDistanceReal)=0
Activate streaming of render node and all sub-components.
virtual IDeferredPhysicsEventManager * GetDeferredPhysicsEventManager ()=0
virtual bool IsTerrainTextureStreamingInProgress ()=0
Return true if terrain texture streaming takes place.
virtual void SetStreamableListener (IStreamedObjectListener *pListener)=0
virtual CCamera * GetRenderingPassCamera (const CCamera &rCamera)=0
Following functions are used by SRenderingPassInfo.
virtual int GetZoomMode () const =0
virtual float GetPrevZoomFactor ()=0
virtual void SetZoomMode (int nZoomMode)=0
virtual void SetPrevZoomFactor (float fZoomFactor)=0
virtual void SaveInternalState (struct IDataWriteStream &writer, const AABB &filterArea, const bool bTerrain, const uint32 objectMask)=0
LiveCreate.
virtual void LoadInternalState (struct IDataReadStream &reader, const uint8 *pVisibleLayersMasks, const uint16 *pLayerIdTranslation)=0
virtual void OnCameraTeleport ()=0
virtual IGeomCache * LoadGeomCache (const char *szFileName)=0
virtual IGeomCache * FindGeomCacheByFilename (const char *szFileName)=0
virtual IStatObj * LoadDesignerObject (int nVersion, const char *szBinaryStream, int size)=0

Detailed Description

Interface to the 3d Engine.

Member Function Documentation

◆ ActivatePortal()

virtual void virtual void virtual void I3DEngine::ActivatePortal ( const Vec3 & vPos,
bool bActivate,
const char * szEntityName
)
pure virtual

Enables or disables portal at a specified position.

Parameters
vPosPosition to place the portal
bActivateSet to true in order to enable the portal, or to false to disable
szEntityName

◆ ApplyForceToEnvironment()

virtual void I3DEngine::ApplyForceToEnvironment ( Vec3 vPos,
float fRadius,
float fAmountOfForce
)
pure virtual

Applies physics in a specified area Physics applied to the area will apply to vegetations and allow it to move/blend.

Parameters
vPos- Center position to apply physics
fRadius- Radius which specify the size of the area to apply physics
fAmountOfForce- The amount of force, should be at least of 1.0f

◆ ClipToVisAreas()

virtual bool I3DEngine::ClipToVisAreas ( IVisArea * pInside,
Sphere & sphere,
Vec3 const & vNormal,
void * pNodeCache = 0
)
pure virtual

Clips geometry against the boundaries of VisAreas.

Parameters
pInsideVis Area to clip inside of. If 0, clip outside all Vis Areas.
Returns
True if it was clipped.

◆ CreateChunkfileContent()

virtual CContentCGF* I3DEngine::CreateChunkfileContent ( const char * filename)
pure virtual

Creates a chunkfile content instance.

Returns
NULL if the memory for the instance could not be allocated.

◆ CreateClipVolume()

virtual IClipVolume* I3DEngine::CreateClipVolume ( )
pure virtual

Creates a ClipVolume.

Returns
A pointer to a newly created ClipVolume object.

◆ CreateDecal()

virtual void I3DEngine::CreateDecal ( const CryEngineDecalInfo & Decal)
pure virtual

Creates new decals on the walls, static objects, terrain and entities.

Parameters
Decal- Structure describing the decal effect to be applied

◆ CreateLightSource()

virtual struct ILightSource* I3DEngine::CreateLightSource ( )
pure virtual

Creates a new light source.

Returns
Pointer to newly created light or -1 if it fails.

◆ CreateVisArea()

virtual IVisArea* I3DEngine::CreateVisArea ( uint64 visGUID)
pure virtual

Creates a new VisArea.

Returns
A pointer to a newly created VisArea object.

◆ DeleteClipVolume()

virtual void I3DEngine::DeleteClipVolume ( IClipVolume * pClipVolume)
pure virtual

Deletes a ClipVolume.

Parameters
pClipVolume- A pointer to the ClipVolume to delete.

◆ DeleteDecalsInRange()

virtual void I3DEngine::DeleteDecalsInRange ( AABB * pAreaBox,
IRenderNode * pEntity
)
pure virtual

Removes decals in a specified range.

Parameters
vAreaBoxSpecify the area in which the decals will be removed.
pEntityIf not NULL will only delete decals attached to this entity.

◆ DeleteLightSource()

virtual void I3DEngine::DeleteLightSource ( ILightSource * pLightSource)
pure virtual

Deletes a light.

Parameters
pLightSourcePointer to the light.

◆ DeleteVisArea()

virtual void I3DEngine::DeleteVisArea ( IVisArea * pVisArea)
pure virtual

Deletes a VisArea.

Parameters
pVisArea- A pointer to the VisArea to delete.

◆ DisplayInfo()

virtual void I3DEngine::DisplayInfo ( float & fTextPosX,
float & fTextPosY,
float & fTextStepY,
const bool bEnhanced
)
pure virtual

Displays statistic on the 3d Engine.

Parameters
fTextPosXX position for the text.
fTextPosYY position for the text.
fTextStepYAmount of pixels to distance each line.
bEnhancedfalse=normal, true=more interesting information.

◆ DrawFarTrees()

virtual void I3DEngine::DrawFarTrees ( const SRenderingPassInfo & passInfo)
pure virtual

Used by renderer.

Renders far trees/objects as sprites. It's a call back for renderer. It renders far trees/objects as sprites.

Note
Used by renderer, will be removed from here.

◆ EnableOceanRendering()

virtual void I3DEngine::EnableOceanRendering ( bool bOcean)
pure virtual

Enables or disables ocean rendering.

Parameters
bOcean- Will enable or disable the rendering of ocean.

◆ FindGeomCacheByFilename()

virtual IGeomCache* I3DEngine::FindGeomCacheByFilename ( const char * szFileName)
pure virtual

Finds a geom cache created from the given filename.

Parameters
szFileNameCAX Filename - should not be 0 or "".
Returns
A pointer to an object derived from IGeomCache.

◆ FindStatObjectByFilename()

virtual IStatObj* I3DEngine::FindStatObjectByFilename ( const char * filename)
pure virtual

Finds a static object created from the given filename.

Parameters
szFileName- CGF Filename - should not be 0 or "".
Returns
A pointer to an object derived from IStatObj.

◆ GetAccurateOceanHeight()

virtual float I3DEngine::GetAccurateOceanHeight ( const Vec3 & pCurrPos) const
pure virtual

Gets the ocean water level for a specified position. Use with accurate query with caution - it is slow.

Note
This function only takes into account ocean water.
Parameters
pCurrPos- Position to check water level.
Returns
A float value which indicate the water level.

◆ GetBottomLevel()

virtual float I3DEngine::GetBottomLevel ( const Vec3 & referencePos,
float maxRelevantDepth,
int objtypes
)
pure virtual

Gets the closest walkable bottom z straight beneath the given reference position.

Note
This function will take into account both the global terrain elevation and local voxel (or other solid walkable object).
Parameters
referencePos- Position from where to start searching downwards.
maxRelevantDepth- Max depth caller is interested in relative to referencePos (for ray casting performance reasons).
objtypes- expects physics entity flags. Use this to specify what object types make a valid bottom for you.
Returns
A float value which indicate the global world z of the bottom level beneath the referencePos.
If the referencePos is below terrain but not inside any voxel area BOTTOM_LEVEL_UNKNOWN is returned.

◆ GetCausticsParams()

virtual Vec4 I3DEngine::GetCausticsParams ( ) const
pure virtual

Gets caustics parameters.

Returns
A Vec4 value which constains:
x = unused, y = distance attenuation, z = caustics multiplier, w = caustics darkening multiplier

◆ GetGIAmount()

virtual float I3DEngine::GetGIAmount ( ) const
pure virtual

Retrieves the current GI multiplier.

Returns
scalar value

◆ GetHeightMapUnitSize()

virtual float I3DEngine::GetHeightMapUnitSize ( )
pure virtual

Gets the unit size of the terrain. The value should currently be 2.

Returns
A int value representing the terrain unit size in meters.

◆ GetIMergedMeshesManager()

virtual IMergedMeshesManager* I3DEngine::GetIMergedMeshesManager ( )
pure virtual
Returns
Interface to the mergedmeshes subsystem.

◆ GetITerrain()

virtual ITerrain* I3DEngine::GetITerrain ( )
pure virtual
Returns
Interface to terrain engine.

◆ GetIVisAreaManager()

virtual IVisAreaManager* I3DEngine::GetIVisAreaManager ( )
pure virtual
Returns
Interface to visarea manager.

◆ GetLevelFilePath()

virtual const char* I3DEngine::GetLevelFilePath ( const char * szFileName)
pure virtual

Adds the level's path to a specified filename.

Parameters
szFileNameThe filename for which we need to add the path.
Returns
Full path for the filename; including the level path and the filename appended after.

◆ GetLightAmountInRange()

virtual float I3DEngine::GetLightAmountInRange ( const Vec3 & pPos,
float fRange,
bool bAccurate = 0
)
pure virtual
Returns
Amount of light affecting a point in space inside a specific range (0 means no light affecting, 1 is completely affected by light). Use accurate parameter for a more expensive but with higher accuracy computation.

◆ GetLightsHDRDynamicPowerFactor()

virtual float I3DEngine::GetLightsHDRDynamicPowerFactor ( ) const
pure virtual
Returns
In logarithmic scale -4.0 .. 4.0

◆ GetLightVolumes()

virtual void I3DEngine::GetLightVolumes ( threadID nThreadID,
SLightVolume *& pLightVols,
uint32 & nNumVols
)
pure virtual

Gives access to list holding all lighting volumes.

Returns
An array holding all the SLightVolume pointers.

◆ GetLoadedObjectCount()

virtual int I3DEngine::GetLoadedObjectCount ( )
inline
virtual

Gets the amount of loaded objects.

Returns
An integer representing the amount of loaded objects.

◆ GetLoadedStatObjArray()

virtual void I3DEngine::GetLoadedStatObjArray ( IStatObj ** pObjectsArray,
int & nCount
)
pure virtual

Fills pObjectsArray with pointers to loaded static objects. if pObjectsArray is NULL only fills nCount parameter with amount of loaded objects.

◆ GetMaxViewDistance()

virtual float I3DEngine::GetMaxViewDistance ( bool bScaled = true)
pure virtual

Gets the view distance.

Returns
A float value representing the maximum view distance.

◆ GetObjectsByType()

virtual uint32 I3DEngine::GetObjectsByType ( EERType objType,
IRenderNode ** pObjects = 0
)
pure virtual

Call function 2 times (first to get the size then to fill in the data)

Parameters
pObjects0 if only the count is required
Returns
Count returned.

◆ GetOceanAnimationCausticsParams()

virtual Vec4 I3DEngine::GetOceanAnimationCausticsParams ( ) const
pure virtual

Gets ocean animation caustics parameters.

Returns
A Vec4 value which constains: x = unused, y = height, z = depth, w = intensity

◆ GetOceanAnimationParams()

virtual void I3DEngine::GetOceanAnimationParams ( Vec4 & pParams0,
Vec4 & pParams1
) const
pure virtual

Gets ocean animation parameters.

Returns
2 Vec4s which constain: 0: x = ocean wind direction, y = wind speed, z = free, w = waves amount 1: x = waves size, y = free, z = free, w = free

◆ GetPhysMaterialEnumerator()

virtual IPhysMaterialEnumerator* I3DEngine::GetPhysMaterialEnumerator ( )
pure virtual

Gets the physics material enumerator.

Returns
A pointer to an IPhysMaterialEnumerator derived object.

◆ GetRenderingCamera()

virtual const CCamera& I3DEngine::GetRenderingCamera ( ) const
pure virtual
Note
This is the camera which should be used for all Engine side culling (since e_camerafreeze allows easy debugging then)
Only valid during RenderWorld(else the camera of the last frame is used)
Returns
the Camera used for Rendering on 3DEngine Side, normaly equal to the view camera, except if frozen with e_camerafreeze

◆ GetSkyBrightness()

virtual float I3DEngine::GetSkyBrightness ( ) const
pure virtual

Retrieves the current sky brightening multiplier.

Returns
Scalar value

◆ GetSkyColor()

virtual Vec3 I3DEngine::GetSkyColor ( ) const
pure virtual

Gets the environment ambient color.

Note
Should have been specified in the editor.
Returns
An rgb value contained in a Vec3 object.

◆ GetSkyMaterial()

virtual IMaterial* I3DEngine::GetSkyMaterial ( )
pure virtual
Returns
SkyBox material.

◆ GetSSAOAmount()

virtual float I3DEngine::GetSSAOAmount ( ) const
pure virtual

Retrieves the current SSAO multiplier.

Returns
scalar value

◆ GetSSAOContrast()

virtual float I3DEngine::GetSSAOContrast ( ) const
pure virtual

Retrieves the current SSAO contrast multiplier.

Returns
scalar value

◆ GetStaticLightSources()

virtual const PodArray* I3DEngine::GetStaticLightSources ( )
pure virtual

Gives access to the list holding all static light sources.

Returns
An array holding all the SRenderLight pointers.

◆ GetStreamingSubsystemData()

virtual void I3DEngine::GetStreamingSubsystemData ( int subsystem,
SStremaingBandwidthData & outData
)
pure virtual

Gets stats on the streaming bandwidth requests from subsystems.

Parameters
subsystemRhe streaming subsystem for which we want bandwidth data.
outDataStructure containing the bandwidth data for the subsystem requested.

◆ GetSunColor()

virtual Vec3 I3DEngine::GetSunColor ( ) const
pure virtual

Gets the sun color.

Note
Should have been specified in the editor.
Returns
An rgb value contained in a Vec3 object.

◆ GetTerrainElevation()

virtual float I3DEngine::GetTerrainElevation ( float x,
float y
)
pure virtual

Gets the interpolated terrain elevation for a specified location. All x,y values are valid.

Parameters
xX coordinate of the location.
yY coordinate of the location.
Returns
A float which indicate the elevation level.

◆ GetTerrainHole()

virtual bool I3DEngine::GetTerrainHole ( float x,
float y
)
pure virtual

Gets the terrain hole flag for a specified location. Only values between 0 and WORLD_SIZE.

Parameters
x- X coordinate of the location.
y- Y coordinate of the location.
Returns
A bool which indicate is there hole or not.

◆ GetTerrainSectorSize()

virtual int I3DEngine::GetTerrainSectorSize ( )
pure virtual

Gets the size of the terrain sectors. The value should be 64 by default.

Returns
An int representing the size of a sector in meters.

◆ GetTerrainSize()

virtual int I3DEngine::GetTerrainSize ( )
pure virtual

Gets the size of the terrain. The value should be 2048 by default.

Returns
An int representing the terrain size in meters.

◆ GetTerrainSurfaceNormal()

virtual Vec3 I3DEngine::GetTerrainSurfaceNormal ( Vec3 vPos)
pure virtual

Gets the terrain surface normal for a specified location.

Parameters
vPos.x- X coordinate of the location.
vPos.y- Y coordinate of the location.
vPos.z- ignored.
Returns
A terrain surface normal.

◆ GetTerrainTextureMultiplier()

virtual float I3DEngine::GetTerrainTextureMultiplier ( ) const
pure virtual

Retrieves terrain texture multiplier.

Returns
Scalar value

◆ GetTerrainZ()

virtual float I3DEngine::GetTerrainZ ( float x,
float y
)
pure virtual

Gets the terrain elevation for a specified location. Only values between 0 and WORLD_SIZE.

Parameters
xX coordinate of the location.
yY coordinate of the location.
Returns
A float which indicate the elevation level.

◆ GetTimeOfDay()

virtual ITimeOfDay* I3DEngine::GetTimeOfDay ( )
pure virtual
Returns
TOD interface.

◆ GetVisAreaFromPos()

virtual IVisArea* I3DEngine::GetVisAreaFromPos ( const Vec3 & vPos)
pure virtual

Gets the VisArea which is present at a specified point.

Returns
VisArea containing point, if any, 0 otherwise.

◆ GetWaterLevel() [1/2]

virtual float I3DEngine::GetWaterLevel ( )
pure virtual

Gets the ocean water level. Fastest option, always prefer is only ocean height required.

Note
This function will take into account just the global water level.
Returns
A float value which indicate the water level. In case no water was
found at the specified location, the value WATER_LEVEL_UNKNOWN will
be returned.

◆ GetWaterLevel() [2/2]

virtual float I3DEngine::GetWaterLevel ( const Vec3 * pvPos,
IPhysicalEntity * pent = NULL,
bool bAccurate = false
)
pure virtual

Gets the closest walkable bottom z straight beneath the given reference position. Use with accurate query with caution - it is slow.

Note
This function will take into account both the global water level and any water volume present.
Function is provided twice for performance with diff. arguments.
Parameters
pvPos- Desired position to inspect the water level
pent- Pointer to return the physical entity to test against (optional)
Returns
A float value which indicate the water level. In case no water was
found at the specified location, the value WATER_LEVEL_UNKNOWN will
be returned.

◆ IntersectsVisAreas()

virtual bool I3DEngine::IntersectsVisAreas ( const AABB & box,
void ** pNodeCache = 0
)
pure virtual

Tests for intersection against Vis Areas.

Parameters
[in]boxVolume to test for intersection. [out] pNodeCache Optional, set to a cached pointer for quicker calls to ClipToVisAreas.
Returns
Whether box intersects any vis areas.

◆ IsSegmentOperationInProgress()

virtual bool I3DEngine::IsSegmentOperationInProgress ( )
inline
virtual
Returns
true if segmented world is performing an operation (load/save/move/etc). Warning: deprecated Segmented World implementation is not supported by CryEngine anymore

◆ IsTessellationAllowed()

virtual bool I3DEngine::IsTessellationAllowed ( const CRenderObject * pObj,
const SRenderingPassInfo & passInfo,
bool bIgnoreShadowPass = false
) const
pure virtual
Returns
true if tessellation is allowed for given render object.

◆ IsUnderWater()

virtual bool I3DEngine::IsUnderWater ( const Vec3 & vPos) const
pure virtual
Returns
whether a world pos is under water.

◆ IsVisAreasConnected()

virtual bool I3DEngine::IsVisAreasConnected ( IVisArea * pArea1,
IVisArea * pArea2,
int nMaxRecursion = 1,
bool bSkipDisabledPortals = true
)
pure virtual

Determines if two VisAreas are connected. Used to determine if a sound is potentially hearable between two VisAreas.

Parameters
pArea1A pointer to a VisArea.
pArea2A pointer to a VisArea.
nMaxRecursionMaximum number of recursions to be done.
bSkipDisabledPortalsIndicate if disabled portals should be skipped.
Returns
A boolean value set to true if the two VisAreas are connected, else false will be returned.

◆ LoadChunkFileContent()

virtual bool I3DEngine::LoadChunkFileContent ( CContentCGF * pCGF,
const char * filename,
bool bNoWarningMode = false,
bool bCopyChunkFile = true
)
pure virtual

Loads the contents of a chunkfile into the given CContentCGF.

Returns
true on success, false on error.

◆ LoadChunkFileContentFromMem()

virtual bool I3DEngine::LoadChunkFileContentFromMem ( CContentCGF * pCGF,
const void * pData,
size_t nDataLen,
uint32 nLoadingFlags,
bool bNoWarningMode = false,
bool bCopyChunkFile = true
)
pure virtual

Loads the contents of a chunkfile into the given CContentCGF.

Returns
true on success, false on error.

◆ LoadDesignerObject()

virtual IStatObj* I3DEngine::LoadDesignerObject ( int nVersion,
const char * szBinaryStream,
int size
)
pure virtual

Loads a designer object from a stream of decoded binary node (Base64Decode).

Parameters
szBinaryStream- decoded stream + size.

◆ LoadGeomCache()

virtual IGeomCache* I3DEngine::LoadGeomCache ( const char * szFileName)
pure virtual

Loads a geometry cache from a CAX file.

Parameters
szFileNameCAX Filename - should not be 0 or "".
Returns
A pointer to an object derived from IGeomCache.

◆ LoadLevel()

virtual bool I3DEngine::LoadLevel ( const char * szFolderName,
const char * szMissionName
)
pure virtual

Load a level. Will load a level from the folder specified with SetLevelPath. If a level is already loaded, the resources will be deleted before.

Parameters
szFolderName- Name of the subfolder to load
szMissionName- Name of the mission
Returns
A boolean which indicate the result of the function; true if succeeded, false if failed.

◆ LoadStatObj()

virtual IStatObj* I3DEngine::LoadStatObj ( const char * szFileName,
const char * szGeomName = NULL,
IStatObj::SSubObject ** ppSubObject = NULL,
bool bUseStreaming = true,
unsigned long nLoadingFlags = 0
)
pure virtual

Loads a static object from a CGF file.

Parameters
szFileName- CGF Filename - should not be 0 or ""
szGeomName- Optional name of geometry inside CGF.
ppSubObject- [Out]Optional Out parameter,Pointer to the
nLoadingFlags- Zero or a bitwise combination of the flags from ELoadingFlags, defined in IMaterial.h, under the interface IMaterialManager.
Returns
A pointer to an object derived from IStatObj.

◆ OnExplosion()

virtual void I3DEngine::OnExplosion ( Vec3 vPos,
float fRadius,
bool bDeformTerrain = true
)
pure virtual

Notifies of an explosion, and maybe creates an hole in the terrain. This function should usually make sure that no static objects are near before making the hole.

Parameters
vPos- Position of the explosion
fRadius- Radius of the explosion
bDeformTerrain- Allow to deform the terrain

◆ OnFrameStart()

virtual void I3DEngine::OnFrameStart ( )
pure virtual

Handles any work needed at start of new frame.

Note
Should be called for every frame.

◆ PostLoadLevel()

virtual void I3DEngine::PostLoadLevel ( )
pure virtual

Pre-caches some resources need for rendering. Must be called after the game completely finishes loading the level. 3D engine uses it to pre-cache some resources needed for rendering.

◆ RegisterEntity()

virtual void I3DEngine::RegisterEntity ( IRenderNode * pEntity)
pure virtual

Registers an entity to be rendered.

Parameters
pEntityThe entity to render.

◆ RenderWorld()

virtual void I3DEngine::RenderWorld ( const int nRenderFlags,
const SRenderingPassInfo & passInfo,
const char * szDebugName
)
pure virtual

Draws the world.

Parameters
szDebugNameName that can be visualized for debugging purpose, must not be 0.

◆ RestoreTerrainFromDisk()

virtual bool I3DEngine::RestoreTerrainFromDisk ( )
pure virtual

Reload the heightmap. Reloading the heightmap will resets all decals and particles.

Note
In future will restore deleted vegetations
Returns
true on success, false otherwise.

◆ SampleWind()

virtual bool I3DEngine::SampleWind ( Vec3 * pSamples,
int nSamples,
const AABB & volume,
bool bIndoors
) const
pure virtual

Gets wind direction and forace at the sample points provided.

Note
The positions defining the samples will be overwritten with the accumulated wind influences.

◆ SaveStatObj()

virtual int I3DEngine::SaveStatObj ( IStatObj * pStatObj,
TSerialize ser
)
pure virtual

Saves pStatObj to a stream.

Note
Full mesh for generated ones, path/geom otherwise.

◆ SelectEntity()

virtual void I3DEngine::SelectEntity ( IRenderNode * pEntity)
pure virtual

Selects an entity for debugging.

Parameters
pEntity- The entity to render.

◆ SetLevelPath()

virtual void I3DEngine::SetLevelPath ( const char * szFolderName)
pure virtual

Sets the path used to load levels.

Parameters
szFolderNameShould contains the folder to be used.

◆ SetMaxViewDistanceScale()

virtual void I3DEngine::SetMaxViewDistanceScale ( float fScale)
pure virtual

Sets the view distance scale.

Parameters
fScale- may be between 0 and 1, 1.f = Unmodified view distance set by level designer, value of 0.5 will reduce it twice.
Note
This value will be reset automatically to 1 on next level loading.

◆ SetOceanRenderFlags()

virtual void I3DEngine::SetOceanRenderFlags ( uint8 nFlags)
pure virtual
Returns
whether ocean volume is visible or not.

◆ SetPhysMaterialEnumerator()

virtual void I3DEngine::SetPhysMaterialEnumerator ( IPhysMaterialEnumerator * pPhysMaterialEnumerator)
pure virtual

Sets the physics material enumerator.

Parameters
pPhysMaterialEnumeratorThe physics material enumarator to set.

◆ UnloadLevel()

virtual void I3DEngine::UnloadLevel ( )
pure virtual

Clears all rendering resources, all objects, characters and materials, voxels and terrain.

Note
Should always be called before LoadLevel, and also before loading textures from a script.

◆ UnRegisterEntityDirect()

virtual void I3DEngine::UnRegisterEntityDirect ( IRenderNode * pEntity)
pure virtual

Notices the 3D Engine to stop rendering a specified entity.

Parameters
pEntity- The entity to stop render

◆ Update()

virtual void I3DEngine::Update ( )
pure virtual

Updates the 3D Engine.

Note
Should be called for every frame.

◆ UpdateClipVolume()

virtual void I3DEngine::UpdateClipVolume ( IClipVolume * pClipVolume,
_smart_ptr< IRenderMesh > pRenderMesh,
IBSPTree3D * pBspTree,
const Matrix34 & worldTM,
bool bActive,
uint32 flags,
const char * szName
)
pure virtual

Updates a ClipVolume.

Parameters
pClipVolumePointer to volume that needs updating.
pRenderMeshPointer to new render mesh.
worldTMUpdated world transform.
szNameUpdated ClipVolume name.

◆ UpdateDeformableStatObj()

virtual IStatObj* I3DEngine::UpdateDeformableStatObj ( IGeometry * pPhysGeom,
bop_meshupdate * pLastUpdate = 0,
IFoliage * pSrcFoliage = 0
)
pure virtual

Updates rendering mesh in the stat obj associated with pPhysGeom.

Note
Creates or clones the object if necessary.