5 #include <common/memory/safe_ptr.h>
\r
7 #include <boost/noncopyable.hpp>
\r
9 namespace caspar { namespace core {
\r
11 class shader : boost::noncopyable
\r
14 shader(const std::string& vertex_source_str, const std::string& fragment_source_str);
\r
15 void set(const std::string& name, int value);
\r
16 void set(const std::string& name, float value);
\r
17 void set(const std::string& name, double value);
\r
19 friend class ogl_device;
\r
20 struct implementation;
\r
21 safe_ptr<implementation> impl_;
\r