class CRenderObject;
IShader.h
Size of CRenderObject currently is 128 bytes.
Don't change it's size please!
bool m_bHasShadowCasters;
Has non-empty list of lights casting shadows in render object data
uint8 m_DissolveRef;
uint32 m_DynLMMask[RT_COMMAND_BUF_COUNT];
float m_fDistance;
Distance to the object.
uint32 m_Id;
SInstanceInfo m_II;
Must be aligned by 16 from beginning of CRenderObject!
int16 m_nCBID;
Constant buffer id.
uint8 m_nLod;
uint32 m_nMaterialLayers;
Which mtl layers active and how much to blend them
uint16 m_nMDV;
Vertex modificator flags.
uint16 m_nRenderQuality;
65535 - full quality, 0 - lowest quality, used by CStatObj
uint32 m_nRTMask;
int16 m_nTextureID;
Custom texture id.
uint8 m_nVisAreaStencilRef;
Per instance vis area stencil reference ID
uint32 m_ObjFlags;
IMaterial * m_pCurrMaterial;
Current material (is this available somewhere ??).
void * m_pRenderNode;
Will define instance id.
uint8 m_RState;
CThreadSafeRendererContainer<SRenderObjData> s_ObjData[RT_COMMAND_BUF_COUNT];
SRenderObjData * s_pIdentityRenderObjData;
~CRenderObject();
void AssignId(int id);
void CloneObject(CRenderObject * srcObj);
void CopyTo(CRenderObject * pObjNew, int nThreadID);
CRenderObject();
void operator delete(void * Ptr);
void operator delete(void * pPtr1, CRenderObject * pPtr2);
void operator delete[](void * Ptr);
Matrix34A & GetMatrix();
void GetMemoryUsage(ICrySizer * pSizer) const;
SRenderObjData * GetObjData(int nProcessID);
int16 GetObjDataId();
CRendElementBase * GetRE(int nProcessID);
inline float GetScaleX() const;
inline float GetScaleZ() const;
inline Vec3 GetTranslation() const;
void Init(int nThreadID);
void* operator new(size_t Size);
ILINE stl::aligned_vector
void* operator new(size_t Size, CRenderObject * pPtr);
void* operator new(size_t Size, const std::nothrow_t & nothrow);
void* operator new[](size_t Size);
void* operator new[](size_t Size, const std::nothrow_t & nothrow);
void SetObjDataId(int16 newObjDataId);