summaryrefslogtreecommitdiff
path: root/include/mbgl/shader/pattern_shader.hpp
blob: 9fabd8e18acc4300e6020931354f825b8a5ec280 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef MBGL_SHADER_SHADER_PATTERN
#define MBGL_SHADER_SHADER_PATTERN

#include <mbgl/shader/shader.hpp>
#include <mbgl/shader/uniform.hpp>

namespace mbgl {

class PatternShader : public Shader {
public:
    PatternShader();

    void bind(char *offset);

    UniformMatrix<4>              u_matrix        = {"u_matrix",        *this};
    Uniform<std::array<float, 2>> u_pattern_tl    = {"u_pattern_tl",    *this};
    Uniform<std::array<float, 2>> u_pattern_br    = {"u_pattern_br",    *this};
    Uniform<float>                u_opacity       = {"u_opacity",       *this};
    Uniform<float>                u_mix           = {"u_mix",           *this};
    Uniform<int32_t>              u_image         = {"u_image",         *this};
    UniformMatrix<3>              u_patternmatrix = {"u_patternmatrix", *this};

private:
    int32_t a_pos = -1;
};

}

#endif