struct IEntityRenderProxy : public IEntityProxy { };
IEntityProxy.h
Interface to the entity Render proxy.
virtual void AddShaderParamCallback(IShaderParamCallbackPtr pCallback) = 0;
Add a render proxy callback
virtual void CheckShaderParamCallbacks() = 0;
Check which shader param callback should be activated or disactived depending on the current entity state
virtual void ClearShaderParamCallbacks() = 0;
Clears all the shader param callback from this entity
virtual void ClearSlots() = 0;
Removes all slots from the render proxy
virtual bool DoesCloakFadeByDistance() const = 0;
virtual bool DoesIgnoreCloakRefractionColor() const = 0;
virtual float GetCloakBlendTimeScale() const = 0;
virtual uint8 GetCloakColorChannel() const = 0;
virtual bool GetCloakInterferenceState() const = 0;
virtual const uint32 GetEffectLayerParams() const = 0;
virtual uint32 GetHUDSilhouettesParams() const = 0;
virtual float GetLastSeenTime() const = 0;
return the last time (as set by the system timer) when the renderproxy was last seen.
virtual void GetLocalBounds(AABB & bounds) = 0;
Parameters |
Description |
AABB & bounds |
Returns Bounding box in local entity space. |
Get local space int the entity bounds of render proxy.
virtual uint32 GetMaterialLayersBlend() const = 0;
virtual uint8 GetMaterialLayersMask() const = 0;
virtual float GetOpacity() const = 0;
virtual IMaterial* GetRenderMaterial(int nSlot = -1) = 0;
Parameters |
Description |
int nSlot = -1 |
Slot to query used material from, if -1 material will be taken from the first renderable slot. |
Return |
Material used for rendering, or NULL if slot is not rendered. |
Retrieve an actual material used for rendering specified slot. Will return custom applied material or if custom material not set will return an actual material assigned to the slot geometry.
virtual IRenderNode* GetRenderNode() = 0;
Retrieve engine render node, used to render this entity.
virtual IShaderPublicParams* GetShaderPublicParams(bool bCreate = true) = 0;
Parameters |
Description |
bool bCreate = true |
If Shader public params are not created for this entity, they will be created. |
Retrieve and optionally create a shaders public params for this render proxy.
virtual bool GetShadowDissolve() const = 0;
virtual IMaterial* GetSlotMaterial(int nSlot) = 0;
Parameters |
Description |
int nSlot |
Slot to query custom material from. |
Return |
Custom material applied on the slot. |
Retrieve slot's custom material (This material Must have been applied before with the SetSlotMaterial).
virtual uint64 GetSubObjHideMask(int nSlot) const = 0;
virtual uint32 GetVisionParams() const = 0;
virtual void GetWorldBounds(AABB & bounds) = 0;
Parameters |
Description |
AABB & bounds |
Returns Bounding box in world space. |
Get world bounds of render proxy.
virtual void InvalidateLocalBounds() = 0;
Invalidates local or world space bounding box.
virtual bool IsRenderProxyVisAreaVisible() const = 0;
return true if entity visarea was visible during last frames
virtual bool RemoveShaderParamCallback(IShaderParamCallbackPtr pCallback) = 0;
Remove a render proxy callback
virtual void SetAsPost3dRenderObject(bool bPost3dRenderObject, uint8 groupId, float groupScreenRect[4]) = 0;
sets object to be rendered in post 3d pass bPost3dRenderObject - flag object to render in post 3d render pass groupId - assign group ID's to groups of objects that render in the same screen rect groupScreenRect - screen rect that the grouped objects render in (0.0->1.0)
virtual void SetCloakBlendTimeScale(float fCloakBlendTimeScale) = 0;
sets timescale for cloak blending (range 1 - 4)
virtual void SetCloakColorChannel(uint8 nCloakColorChannel) = 0;
set/get cloak color channel
virtual void SetCloakFadeByDistance(bool bCloakFadeByDistance) = 0;
set/get cloak fade by distance
virtual void SetCloakHighlightStrength(float highlightStrength) = 0;
set cloak highlight strength
virtual void SetCloakInterferenceState(bool bHasCloakInterference) = 0;
set/get cloak interference state
virtual void SetCustomPostEffect(const char* pPostEffectName) = 0;
sets custom post effect
virtual void SetEffectLayerParams(const Vec4 & pParams) = 0;
set/get effect layer params (used for game related layer effects - eg: nanosuit effects)
virtual void SetEffectLayerParams(uint32 nEncodedParams) = 0;
virtual void SetHUDDisableBloom(const bool bDisableBloom) = 0;
sets whether 3D HUD Object should have bloom disabled (Required to avoid overglow and cutoff with alien hud ghosted planes)
virtual void SetHUDRequireDepthTest(const bool bRequire) = 0;
sets whether 3D HUD Objects require to be rendered at correct depth (i.e. behind weapon)
virtual void SetHUDSilhouettesParams(float r, float g, float b, float a) = 0;
set/get hud silhouetes params
virtual void SetIgnoreCloakRefractionColor(bool bIgnoreCloakRefractionColor) = 0;
set/get ignore cloak refraction color
virtual void SetIgnoreHeatAmount(bool bIgnoreHeat) = 0;
set render proxy to ignore heat value of object
virtual void SetIgnoreHudInterferenceFilter(const bool bIgnoreFiler) = 0;
sets hud render proxy to ignore hud interference filter
virtual void SetLocalBounds(const AABB & bounds, bool bDoNotRecalculate) = 0;
Force local bounds.
virtual void SetLodRatio(int nLodRatio) = 0;
Sets the LodRatio on the render node.
virtual void SetMaterialLayersBlend(uint32 nMtlLayersBlend) = 0;
overrides material layers blend amount
virtual void SetMaterialLayersMask(uint8 nMtlLayersMask) = 0;
sets material layers masks
virtual void SetMotionBlur(bool enable) = 0;
Enables / Disables motion blur
virtual void SetOpacity(float fAmount) = 0;
set/get opacity
virtual void SetShadowDissolve(bool enable) = 0;
set/get shadow dissolving (fade out for phantom perk etc)
virtual void SetSlotMaterial(int nSlot, IMaterial * pMaterial) = 0;
Parameters |
Description |
int nSlot |
Slot to apply material to. |
Assign custom material to the slot.
virtual void SetSubObjHideMask(int nSlot, uint64 nSubObjHideMask) = 0;
Parameters |
Description |
int nSlot |
Slot to apply hide mask to. |
Assign sub-object hide mask to slot.
virtual void SetViewDistRatio(int nViewDistRatio) = 0;
Set the viewDistRatio on the render node.
virtual void SetVisionParams(float r, float g, float b, float a) = 0;
set/get vision params (thermal/sonar/etc)
virtual void UpdateIndirLightForChildren();
updates indirect lighting for children