]> git.tdb.fi Git - libs/gl.git/blob - source/effects/effect.cpp
Rearrange soucre files into subdirectories
[libs/gl.git] / source / effects / effect.cpp
1 #include "effect.h"
2 #include "sampler.h"
3
4 namespace Msp {
5 namespace GL {
6
7 WeakPtr<Sampler> Effect::linear_sampler;
8
9 Effect::Effect(Renderable &r):
10         renderable(r)
11 {
12         enabled_passes.insert(Tag());
13 }
14
15 void Effect::enable_for_pass(const Tag &tag)
16 {
17         enabled_passes.insert(tag);
18 }
19
20 void Effect::disable_for_pass(const Tag &tag)
21 {
22         enabled_passes.erase(tag);
23 }
24
25 RefPtr<Sampler> Effect::get_linear_sampler()
26 {
27         RefPtr<Sampler> sampler = linear_sampler;
28         if(!sampler)
29         {
30                 sampler = new Sampler;
31                 sampler->set_filter(LINEAR);
32                 sampler->set_wrap(CLAMP_TO_EDGE);
33                 linear_sampler = sampler;
34         }
35         return sampler;
36 }
37
38 } // namespace GL
39 } // namespace Msp