00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KEOS_SHADER_H
00022 #define KEOS_SHADER_H
00023
00024 #include "KeosPrerequisites.h"
00025 #include "KeosShaderBase.h"
00026
00027 namespace Keos
00028 {
00029
00033 class KEOS_EXPORT CShader
00034 {
00035 public :
00036
00040 void LoadFromFile(const String& strFilename);
00041
00044 void Unload();
00045
00049 const IShaderBase* GetShader() const;
00050
00055 void SetParameter(const String& strName, float fValue);
00056
00061 void SetParameter(const String& strName, const TVector2F& Value);
00062
00063
00068 void SetParameter(const String& strName, const TVector3F& Value);
00069
00074 void SetParameter(const String& strName, const TVector4F& Value);
00075
00076
00081 void SetParameter(const String& strName, const CMatrix4& Value);
00082
00087 void SetParameter(const String& strName, const CColor& Value);
00088
00089 private :
00090
00092 CSmartPtr<IShaderBase, CCOMRefCounted> m_Shader;
00093 };
00094
00095 }
00096
00097
00098 #endif // KEOS_SHADER_H