00001 /* 00002 * Cg shader program D3D9 header 00003 * 00004 * This file is part of the "SoftPixel Engine" (Copyright (c) 2008 by Lukas Hermanns) 00005 * See "SoftPixelEngine.hpp" for license information. 00006 */ 00007 00008 #ifndef __SP_CG_SHADERPROGRAM_D3D9_H__ 00009 #define __SP_CG_SHADERPROGRAM_D3D9_H__ 00010 00011 00012 #include "Base/spStandard.hpp" 00013 00014 #if defined(SP_COMPILE_WITH_CG) && defined(SP_COMPILE_WITH_DIRECT3D9) 00015 00016 00017 #include "Framework/Cg/spCgShaderProgram.hpp" 00018 #include "RenderSystem/spShaderConfigTypes.hpp" 00019 00020 00021 namespace sp 00022 { 00023 namespace video 00024 { 00025 00026 00027 class SP_EXPORT CgShaderProgramD3D9 : public CgShaderProgram 00028 { 00029 00030 public: 00031 00032 CgShaderProgramD3D9(ShaderClass* Table, const EShaderTypes Type, const EShaderVersions Version); 00033 ~CgShaderProgramD3D9(); 00034 00035 private: 00036 00037 /* Functions */ 00038 00039 void bind(); 00040 void unbind(); 00041 00042 bool compileCg( 00043 const io::stringc &SourceCodeString, const io::stringc &EntryPoint, const c8** CompilerOptions = 0 00044 ); 00045 00046 }; 00047 00048 00049 } // /namespace video 00050 00051 } // /namespace sp 00052 00053 00054 #endif 00055 00056 #endif 00057 00058 00059 00060 // ================================================================================