Interface to the 3d Engine. More...
#include
Inherits IProcess.
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 |
Interface to the 3d Engine.
|
pure virtual |
Enables or disables portal at a specified position.
vPos | Position to place the portal |
bActivate | Set to true in order to enable the portal, or to false to disable |
szEntityName |
|
pure virtual |
Applies physics in a specified area Physics applied to the area will apply to vegetations and allow it to move/blend.
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 |
Clips geometry against the boundaries of VisAreas.
pInside | Vis Area to clip inside of. If 0, clip outside all Vis Areas. |
|
pure virtual |
Creates a chunkfile content instance.
|
pure virtual |
Creates a ClipVolume.
|
pure virtual |
Creates new decals on the walls, static objects, terrain and entities.
Decal | - Structure describing the decal effect to be applied |
|
pure virtual |
Creates a new light source.
|
pure virtual |
Creates a new VisArea.
|
pure virtual |
Deletes a ClipVolume.
pClipVolume | - A pointer to the ClipVolume to delete. |
|
pure virtual |
Removes decals in a specified range.
vAreaBox | Specify the area in which the decals will be removed. |
pEntity | If not NULL will only delete decals attached to this entity. |
|
pure virtual |
Deletes a light.
pLightSource | Pointer to the light. |
|
pure virtual |
Deletes a VisArea.
pVisArea | - A pointer to the VisArea to delete. |
|
pure virtual |
Displays statistic on the 3d Engine.
fTextPosX | X position for the text. |
fTextPosY | Y position for the text. |
fTextStepY | Amount of pixels to distance each line. |
bEnhanced | false=normal, true=more interesting information. |
|
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.
|
pure virtual |
Enables or disables ocean rendering.
bOcean | - Will enable or disable the rendering of ocean. |
|
pure virtual |
Finds a geom cache created from the given filename.
szFileName | CAX Filename - should not be 0 or "". |
|
pure virtual |
Finds a static object created from the given filename.
szFileName | - CGF Filename - should not be 0 or "". |
|
pure virtual |
Gets the ocean water level for a specified position. Use with accurate query with caution - it is slow.
pCurrPos | - Position to check water level. |
|
pure virtual |
Gets the closest walkable bottom z straight beneath the given reference position.
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. |
|
pure virtual |
Gets caustics parameters.
|
pure virtual |
Retrieves the current GI multiplier.
|
pure virtual |
Gets the unit size of the terrain. The value should currently be 2.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Adds the level's path to a specified filename.
szFileName | The filename for which we need to add the path. |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Gives access to list holding all lighting volumes.
|
inline virtual |
Gets the amount of loaded objects.
|
pure virtual |
Fills pObjectsArray with pointers to loaded static objects. if pObjectsArray is NULL only fills nCount parameter with amount of loaded objects.
|
pure virtual |
Gets the view distance.
|
pure virtual |
Call function 2 times (first to get the size then to fill in the data)
pObjects | 0 if only the count is required |
|
pure virtual |
Gets ocean animation caustics parameters.
|
pure virtual |
Gets ocean animation parameters.
|
pure virtual |
Gets the physics material enumerator.
|
pure virtual |
|
pure virtual |
Retrieves the current sky brightening multiplier.
|
pure virtual |
Gets the environment ambient color.
|
pure virtual |
|
pure virtual |
Retrieves the current SSAO multiplier.
|
pure virtual |
Retrieves the current SSAO contrast multiplier.
|
pure virtual |
Gives access to the list holding all static light sources.
|
pure virtual |
Gets stats on the streaming bandwidth requests from subsystems.
subsystem | Rhe streaming subsystem for which we want bandwidth data. |
outData | Structure containing the bandwidth data for the subsystem requested. |
|
pure virtual |
Gets the sun color.
|
pure virtual |
Gets the interpolated terrain elevation for a specified location. All x,y values are valid.
x | X coordinate of the location. |
y | Y coordinate of the location. |
|
pure virtual |
Gets the terrain hole flag for a specified location. Only values between 0 and WORLD_SIZE.
x | - X coordinate of the location. |
y | - Y coordinate of the location. |
|
pure virtual |
Gets the size of the terrain sectors. The value should be 64 by default.
|
pure virtual |
Gets the size of the terrain. The value should be 2048 by default.
Gets the terrain surface normal for a specified location.
vPos.x | - X coordinate of the location. |
vPos.y | - Y coordinate of the location. |
vPos.z | - ignored. |
|
pure virtual |
Retrieves terrain texture multiplier.
|
pure virtual |
Gets the terrain elevation for a specified location. Only values between 0 and WORLD_SIZE.
x | X coordinate of the location. |
y | Y coordinate of the location. |
|
pure virtual |
Gets the VisArea which is present at a specified point.
|
pure virtual |
Gets the ocean water level. Fastest option, always prefer is only ocean height required.
|
pure virtual |
Gets the closest walkable bottom z straight beneath the given reference position. Use with accurate query with caution - it is slow.
pvPos | - Desired position to inspect the water level |
pent | - Pointer to return the physical entity to test against (optional) |
|
pure virtual |
Tests for intersection against Vis Areas.
[in] | box | Volume to test for intersection. [out] pNodeCache Optional, set to a cached pointer for quicker calls to ClipToVisAreas. |
|
inline virtual |
|
pure virtual |
|
pure virtual |
Determines if two VisAreas are connected. Used to determine if a sound is potentially hearable between two VisAreas.
pArea1 | A pointer to a VisArea. |
pArea2 | A pointer to a VisArea. |
nMaxRecursion | Maximum number of recursions to be done. |
bSkipDisabledPortals | Indicate if disabled portals should be skipped. |
|
pure virtual |
Loads the contents of a chunkfile into the given CContentCGF.
|
pure virtual |
Loads the contents of a chunkfile into the given CContentCGF.
|
pure virtual |
Loads a designer object from a stream of decoded binary
szBinaryStream | - decoded stream + size. |
|
pure virtual |
Loads a geometry cache from a CAX file.
szFileName | CAX Filename - should not be 0 or "". |
|
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.
szFolderName | - Name of the subfolder to load |
szMissionName | - Name of the mission |
|
pure virtual |
Loads a static object from a CGF file.
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. |
|
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.
vPos | - Position of the explosion |
fRadius | - Radius of the explosion |
bDeformTerrain | - Allow to deform the terrain |
|
pure virtual |
Handles any work needed at start of new frame.
|
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.
|
pure virtual |
Registers an entity to be rendered.
pEntity | The entity to render. |
|
pure virtual |
Draws the world.
szDebugName | Name that can be visualized for debugging purpose, must not be 0. |
|
pure virtual |
Reload the heightmap. Reloading the heightmap will resets all decals and particles.
Gets wind direction and forace at the sample points provided.
|
pure virtual |
Saves pStatObj to a stream.
|
pure virtual |
Selects an entity for debugging.
pEntity | - The entity to render. |
|
pure virtual |
Sets the path used to load levels.
szFolderName | Should contains the folder to be used. |
|
pure virtual |
Sets the view distance scale.
fScale | - may be between 0 and 1, 1.f = Unmodified view distance set by level designer, value of 0.5 will reduce it twice. |
|
pure virtual |
|
pure virtual |
Sets the physics material enumerator.
pPhysMaterialEnumerator | The physics material enumarator to set. |
|
pure virtual |
Clears all rendering resources, all objects, characters and materials, voxels and terrain.
|
pure virtual |
Notices the 3D Engine to stop rendering a specified entity.
pEntity | - The entity to stop render |
|
pure virtual |
Updates the 3D Engine.
|
pure virtual |
Updates a ClipVolume.
pClipVolume | Pointer to volume that needs updating. |
pRenderMesh | Pointer to new render mesh. |
worldTM | Updated world transform. |
szName | Updated ClipVolume name. |
|
pure virtual |
Updates rendering mesh in the stat obj associated with pPhysGeom.