#pragma once #include #include namespace mbgl { class OutlinePatternShader : public Shader { public: OutlinePatternShader(gl::ObjectStore&, Defines defines = None); void bind(GLbyte *offset) final; UniformMatrix<4> u_matrix = {"u_matrix", *this}; Uniform> u_pattern_tl_a = {"u_pattern_tl_a", *this}; Uniform> u_pattern_br_a = {"u_pattern_br_a", *this}; Uniform> u_pattern_tl_b = {"u_pattern_tl_b", *this}; Uniform> u_pattern_br_b = {"u_pattern_br_b", *this}; Uniform u_opacity = {"u_opacity", *this}; Uniform u_mix = {"u_mix", *this}; Uniform u_scale_a = {"u_scale_a", *this}; Uniform u_scale_b = {"u_scale_b", *this}; Uniform u_tile_units_to_pixels = {"u_tile_units_to_pixels", *this}; Uniform u_image = {"u_image", *this}; Uniform> u_pattern_size_a = {"u_pattern_size_a", *this}; Uniform> u_pattern_size_b = {"u_pattern_size_b", *this}; Uniform> u_pixel_coord_upper = {"u_pixel_coord_upper", *this}; Uniform> u_pixel_coord_lower = {"u_pixel_coord_lower", *this}; Uniform> u_world = {"u_world", *this}; }; } // namespace mbgl