#ifndef IShader_h__ #define IShader_h__ #include "IResource.h" namespace LifeGraphics { enum SHADER_TYPE { ST_VS = 0, ST_PS = 1, ST_GS = 2 }; class IShader : public IResource { public: int Flags; virtual ~IShader() { } //public event ShaderCallback SetConstants; //public delegate void ShaderCallback(IObject obj, IShader shader, int subset, ICamera camera); // public void OnSetConstants(IObject obj, IShader shader, int subset, ICamera camera) //{ //if (SetConstants != null) //SetConstants(obj, shader, subset, camera); // } virtual void* Disassemble() = 0; virtual SHADER_TYPE getShaderType() = 0; virtual char* GetByteCode() = 0; }; } #endif // IShader_h__