struct SShaderParam { char m_Name[32]; EParamType m_Type; UParamVal m_Value; string m_Script; uint8 m_eSemantic; };
IShader.h
In order to facilitate the memory allocation tracking, we're using here this class; if you don't like it, please write a substitute for all string within the project and use them everywhere.
uint8 m_eSemantic;
char m_Name[32];
string m_Script;
EParamType m_Type;
UParamVal m_Value;
inline ~SShaderParam();
inline SShaderParam& operator =(const SShaderParam& src);
inline void Construct();
inline void Destroy();
void GetMemoryUsage(ICrySizer* pSizer) const;
static bool GetValue(const char* szName, DynArrayRef<SShaderParam> * Params, float * v, int nID);
static bool GetValue(uint8 eSemantic, DynArrayRef<SShaderParam> * Params, float * v, int nID);
static bool SetParam(const char* name, DynArrayRef<SShaderParam> * Params, UParamVal& pr);
size_t Size();
inline SShaderParam();
inline SShaderParam(const SShaderParam& src);