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

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

namespace mbgl {

class CollisionBoxVertex;

class CollisionBoxShader : public gl::Shader {
public:
    CollisionBoxShader(gl::Context&);

    using VertexType = CollisionBoxVertex;

    gl::Attribute<int16_t, 2> a_pos     = {"a_pos",     *this};
    gl::Attribute<int16_t, 2> a_extrude = {"a_extrude", *this};
    gl::Attribute<uint8_t, 2> a_data    = {"a_data",    *this};

    gl::UniformMatrix<4> u_matrix  = {"u_matrix",  *this};
    gl::Uniform<float>   u_scale   = {"u_scale",   *this};
    gl::Uniform<float>   u_zoom    = {"u_zoom",    *this};
    gl::Uniform<float>   u_maxzoom = {"u_maxzoom", *this};
};

} // namespace mbgl