#include #include #include #include using namespace mbgl; LineSDFShader::LineSDFShader() : Shader( "line", shaders[LINESDF_SHADER].vertex, shaders[LINESDF_SHADER].fragment ) { if (!valid) { fprintf(stderr, "invalid line shader\n"); return; } a_pos = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_pos")); a_data = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data")); } void LineSDFShader::bind(char *offset) { MBGL_CHECK_ERROR(glEnableVertexAttribArray(a_pos)); MBGL_CHECK_ERROR(glVertexAttribPointer(a_pos, 2, GL_SHORT, false, 8, offset + 0)); MBGL_CHECK_ERROR(glEnableVertexAttribArray(a_data)); MBGL_CHECK_ERROR(glVertexAttribPointer(a_data, 4, GL_BYTE, false, 8, offset + 4)); }