struct IShader { };
IShader.h
virtual ~IShader();
virtual int AddRef() = 0;
virtual void ClearFlags2(int Flags) = 0;
virtual ITexture * GetBaseTexture(int * nPass, int * nTU) = 0;
virtual ECull GetCull() = 0;
virtual int GetFlags() const = 0;
virtual int GetFlags2() const = 0;
virtual uint64 GetGenerationMask() = 0;
virtual SShaderGen* GetGenerationParams() = 0;
virtual int GetID() = 0;
virtual void GetMemoryUsage(ICrySizer * pSizer) const = 0;
virtual const char * GetName() = 0;
virtual const char * GetName() const = 0;
virtual DynArrayRef<SShaderParam>& GetPublicParams() = 0;
virtual TArray<CRendElementBase *> * GetREs(int nTech) = 0;
virtual EShaderType GetShaderType() = 0;
virtual int GetTechniqueID(int nTechnique, int nRegisteredTechnique) = 0;
virtual int GetTexId() = 0;
virtual SShaderTexSlots* GetUsedTextureSlots(int nTechnique) = 0;
virtual unsigned int GetUsedTextureTypes() = 0;
virtual EVertexFormat GetVertexFormat() = 0;
virtual uint32 GetVertexModificator() = 0;
virtual int Release() = 0;
virtual int ReleaseForce() = 0;
virtual bool Reload(int nFlags, const char * szShaderName) = 0;
virtual void SetFlags2(int Flags) = 0;
virtual int Size(int Flags) = 0;