1 #pragma once
2 
3 #include <mbgl/gl/uniform.hpp>
4 #include <mbgl/util/color.hpp>
5 
6 namespace mbgl {
7 namespace uniforms {
8 
9 // Uniforms common to several shaders.
10 
11 MBGL_DEFINE_UNIFORM_MATRIX(double, 4, u_matrix);
12 MBGL_DEFINE_UNIFORM_SCALAR(float, u_opacity);
13 MBGL_DEFINE_UNIFORM_SCALAR(Color, u_color);
14 MBGL_DEFINE_UNIFORM_SCALAR(float, u_blur);
15 
16 MBGL_DEFINE_UNIFORM_SCALAR(float, u_zoom);
17 MBGL_DEFINE_UNIFORM_SCALAR(float, u_collision_y_stretch);
18 MBGL_DEFINE_UNIFORM_SCALAR(float, u_pitch);
19 MBGL_DEFINE_UNIFORM_SCALAR(float, u_bearing);
20 MBGL_DEFINE_UNIFORM_SCALAR(float, u_radius);
21 MBGL_DEFINE_UNIFORM_SCALAR(float, u_stroke_width);
22 MBGL_DEFINE_UNIFORM_SCALAR(Color, u_stroke_color);
23 MBGL_DEFINE_UNIFORM_SCALAR(float, u_stroke_opacity);
24 MBGL_DEFINE_UNIFORM_SCALAR(Color, u_fill_color);
25 MBGL_DEFINE_UNIFORM_SCALAR(Color, u_halo_color);
26 MBGL_DEFINE_UNIFORM_SCALAR(float, u_halo_width);
27 MBGL_DEFINE_UNIFORM_SCALAR(float, u_halo_blur);
28 MBGL_DEFINE_UNIFORM_SCALAR(Color, u_outline_color);
29 MBGL_DEFINE_UNIFORM_SCALAR(float, u_height);
30 MBGL_DEFINE_UNIFORM_SCALAR(float, u_base);
31 MBGL_DEFINE_UNIFORM_SCALAR(float, u_width);
32 MBGL_DEFINE_UNIFORM_SCALAR(float, u_floorwidth);
33 MBGL_DEFINE_UNIFORM_SCALAR(float, u_gapwidth);
34 MBGL_DEFINE_UNIFORM_SCALAR(float, u_offset);
35 MBGL_DEFINE_UNIFORM_SCALAR(Size, u_world);
36 MBGL_DEFINE_UNIFORM_SCALAR(Size, u_texsize);
37 MBGL_DEFINE_UNIFORM_SCALAR(bool, u_pitch_with_map);
38 MBGL_DEFINE_UNIFORM_SCALAR(float, u_camera_to_center_distance);
39 MBGL_DEFINE_UNIFORM_SCALAR(float, u_fade_change);
40 MBGL_DEFINE_UNIFORM_SCALAR(float, u_weight);
41 
42 MBGL_DEFINE_UNIFORM_VECTOR(float, 2, u_extrude_scale);
43 
44 namespace heatmap {
45 MBGL_DEFINE_UNIFORM_SCALAR(float, u_extrude_scale);
46 } // namespace heatmap
47 
48 MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 2, u_pattern_tl_a);
49 MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 2, u_pattern_br_a);
50 MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 2, u_pattern_tl_b);
51 MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 2, u_pattern_br_b);
52 MBGL_DEFINE_UNIFORM_VECTOR(float, 2, u_pattern_size_a);
53 MBGL_DEFINE_UNIFORM_VECTOR(float, 2, u_pattern_size_b);
54 MBGL_DEFINE_UNIFORM_VECTOR(float, 2, u_pixel_coord_upper);
55 MBGL_DEFINE_UNIFORM_VECTOR(float, 2, u_pixel_coord_lower);
56 
57 MBGL_DEFINE_UNIFORM_SCALAR(float, u_mix);
58 MBGL_DEFINE_UNIFORM_SCALAR(gl::TextureUnit, u_image);
59 MBGL_DEFINE_UNIFORM_SCALAR(gl::TextureUnit, u_fadetexture);
60 MBGL_DEFINE_UNIFORM_SCALAR(float,    u_scale_a);
61 MBGL_DEFINE_UNIFORM_SCALAR(float,    u_scale_b);
62 MBGL_DEFINE_UNIFORM_SCALAR(float,    u_tile_units_to_pixels);
63 MBGL_DEFINE_UNIFORM_SCALAR(float,    u_overscale_factor);
64 
65 } // namespace uniforms
66 } // namespace mbgl
67