diff options
Diffstat (limited to 'src/mbgl/shader/linejoin_shader.cpp')
-rw-r--r-- | src/mbgl/shader/linejoin_shader.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/mbgl/shader/linejoin_shader.cpp b/src/mbgl/shader/linejoin_shader.cpp new file mode 100644 index 0000000000..050e180e00 --- /dev/null +++ b/src/mbgl/shader/linejoin_shader.cpp @@ -0,0 +1,27 @@ +#include <mbgl/shader/linejoin_shader.hpp> +#include <mbgl/shader/shaders.hpp> +#include <mbgl/platform/gl.hpp> + +#include <cstdio> + +using namespace mbgl; + +LinejoinShader::LinejoinShader() + : Shader( + "linejoin", + shaders[LINEJOIN_SHADER].vertex, + shaders[LINEJOIN_SHADER].fragment + ) { + if (!valid) { + fprintf(stderr, "invalid line shader\n"); + return; + } + + a_pos = glGetAttribLocation(program, "a_pos"); +} + +void LinejoinShader::bind(char *offset) { + glEnableVertexAttribArray(a_pos); + // Note: We're referring to the vertices in a line array, which are 8 bytes long! + glVertexAttribPointer(a_pos, 2, GL_SHORT, false, 8, offset); +} |