]> git.sesse.net Git - casparcg/blob - core/mixer/gpu/shader.h
2.0. - Removed alpha-mode.
[casparcg] / core / mixer / gpu / shader.h
1 #pragma once\r
2 \r
3 #include <string>\r
4 \r
5 #include <common/memory/safe_ptr.h>\r
6 \r
7 #include <boost/noncopyable.hpp>\r
8 \r
9 namespace caspar { namespace core {\r
10                 \r
11 class shader : boost::noncopyable\r
12 {\r
13 public:\r
14         shader(const std::string& vertex_source_str, const std::string& fragment_source_str);\r
15         void set(const std::string& name, bool value);\r
16         void set(const std::string& name, int value);\r
17         void set(const std::string& name, float value);\r
18         void set(const std::string& name, double value);\r
19 private:\r
20         friend class ogl_device;\r
21         struct implementation;\r
22         safe_ptr<implementation> impl_;\r
23 \r
24         int id() const;\r
25 };\r
26 \r
27 }}