#ifndef MBGL_SHADER_SDF_SHADER #define MBGL_SHADER_SDF_SHADER #include #include namespace mbgl { class SDFShader : public Shader { public: SDFShader(); virtual void bind(char *offset) = 0; UniformMatrix<4> u_matrix = {"u_matrix", *this}; UniformMatrix<4> u_exmatrix = {"u_exmatrix", *this}; Uniform> u_color = {"u_color", *this}; Uniform> u_texsize = {"u_texsize", *this}; Uniform u_buffer = {"u_buffer", *this}; Uniform u_gamma = {"u_gamma", *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}; protected: int32_t a_pos = -1; int32_t a_offset = -1; int32_t a_data1 = -1; int32_t a_data2 = -1; }; class SDFGlyphShader : public SDFShader { public: void bind(char *offset); }; class SDFIconShader : public SDFShader { public: void bind(char *offset); }; } #endif