summaryrefslogtreecommitdiff
path: root/src/mbgl/shader/icon_shader.hpp
blob: c4f24c91f73de904999af18da87ebb240a4a86a9 (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
#pragma once

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

namespace mbgl {

class IconShader : public Shader {
public:
    IconShader(gl::Context&, Defines defines = None);

    void bind(int8_t* offset) final;

    UniformMatrix<4>              u_matrix          = {"u_matrix",          *this};
    Uniform<std::array<float, 2>> u_extrude_scale   = {"u_extrude_scale",   *this};
    Uniform<float>                u_zoom            = {"u_zoom",            *this};
    Uniform<float>                u_opacity         = {"u_opacity",         *this};
    Uniform<std::array<float, 2>> u_texsize         = {"u_texsize",         *this};
    Uniform<int32_t>              u_rotate_with_map = {"u_rotate_with_map", *this};
    Uniform<int32_t>              u_texture         = {"u_texture",         *this};
    Uniform<int32_t>              u_fadetexture     = {"u_fadetexture",     *this};
};

} // namespace mbgl