#pragma once #include #include #include #include namespace mbgl { class SymbolVertex; class SymbolSDFShader : public gl::Shader { public: SymbolSDFShader(gl::Context&, Defines defines = None); using VertexType = SymbolVertex; gl::Attribute a_pos = { "a_pos", *this }; gl::Attribute a_offset = { "a_offset", *this }; gl::Attribute a_texture_pos = { "a_texture_pos", *this }; gl::Attribute a_data = { "a_data", *this }; gl::UniformMatrix<4> u_matrix = {"u_matrix", *this}; gl::Uniform> u_extrude_scale = {"u_extrude_scale", *this}; gl::Uniform u_color = {"u_color", *this}; gl::Uniform u_opacity = {"u_opacity", *this}; gl::Uniform> u_texsize = {"u_texsize", *this}; gl::Uniform u_buffer = {"u_buffer", *this}; gl::Uniform u_gamma = {"u_gamma", *this}; gl::Uniform u_zoom = {"u_zoom", *this}; gl::Uniform u_pitch = {"u_pitch", *this}; gl::Uniform u_bearing = {"u_bearing", *this}; gl::Uniform u_aspect_ratio = {"u_aspect_ratio", *this}; gl::Uniform u_rotate_with_map = {"u_rotate_with_map", *this}; gl::Uniform u_pitch_with_map = {"u_pitch_with_map", *this}; gl::Uniform u_texture = {"u_texture", *this}; gl::Uniform u_fadetexture = {"u_fadetexture", *this}; }; } // namespace mbgl