#pragma once #include #include #include namespace mbgl { class LineVertex; class LinePatternShader : public gl::Shader { public: LinePatternShader(gl::Context&, Defines defines = None); using VertexType = LineVertex; gl::Attribute a_pos = { "a_pos", *this }; gl::Attribute a_data = { "a_data", *this }; gl::UniformMatrix<4> u_matrix = {"u_matrix", *this}; gl::Uniform u_linewidth = {"u_linewidth", *this}; gl::Uniform u_gapwidth = {"u_gapwidth", *this}; gl::Uniform u_antialiasing = {"u_antialiasing", *this}; gl::Uniform> u_pattern_size_a = {"u_pattern_size_a", *this}; gl::Uniform> u_pattern_tl_a = {"u_pattern_tl_a", *this}; gl::Uniform> u_pattern_br_a = {"u_pattern_br_a", *this}; gl::Uniform> u_pattern_size_b = {"u_pattern_size_b", *this}; gl::Uniform> u_pattern_tl_b = {"u_pattern_tl_b", *this}; gl::Uniform> u_pattern_br_b = {"u_pattern_br_b", *this}; gl::Uniform u_ratio = {"u_ratio", *this}; gl::Uniform u_point = {"u_point", *this}; gl::Uniform u_blur = {"u_blur", *this}; gl::Uniform u_fade = {"u_fade", *this}; gl::Uniform u_opacity = {"u_opacity", *this}; gl::Uniform u_extra = {"u_extra", *this}; gl::Uniform u_offset = {"u_offset", *this}; gl::Uniform u_image = {"u_image", *this}; gl::UniformMatrix<2> u_antialiasingmatrix = {"u_antialiasingmatrix", *this}; }; } // namespace mbgl