00001 #ifndef __ShaderFactory__ 00002 #define __ShaderFactory__ 00003 00004 #include <osg/Program> 00005 #include <string> 00006 #include <map> 00007 00008 00009 class ShaderFactory{ 00010 public: 00011 ~ShaderFactory(); 00012 00013 static ShaderFactory& instance(); 00014 00015 osg::Program* getShader(const char* name); 00016 00017 protected: 00018 ShaderFactory(); 00019 00020 std::map<std::string, osg::ref_ptr<osg::Program>> _shaders; 00021 }; 00022 00023 #endif