#ifndef MBGL_SHADER_SHADER_ICON #define MBGL_SHADER_SHADER_ICON #include #include namespace mbgl { class IconShader : public Shader { public: IconShader(); void bind(char *offset); UniformMatrix<4> u_matrix = {"u_matrix", *this}; UniformMatrix<4> u_exmatrix = {"u_exmatrix", *this}; Uniform u_angle = {"u_angle", *this}; Uniform u_zoom = {"u_zoom", *this}; Uniform u_flip = {"u_flip", *this}; Uniform u_fadedist = {"u_fadedist", *this}; Uniform u_minfadezoom = {"u_minfadezoom", *this}; Uniform u_maxfadezoom = {"u_maxfadezoom", *this}; Uniform u_fadezoom = {"u_fadezoom", *this}; Uniform u_opacity = {"u_opacity", *this}; Uniform> u_texsize = {"u_texsize", *this}; private: int32_t a_pos = -1; int32_t a_offset = -1; int32_t a_data1 = -1; int32_t a_data2 = -1; }; } #endif