diff options
Diffstat (limited to 'src/mbgl/renderer/fill_bucket.cpp')
-rw-r--r-- | src/mbgl/renderer/fill_bucket.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mbgl/renderer/fill_bucket.cpp b/src/mbgl/renderer/fill_bucket.cpp index 1388c6dfb7..48d9ae88aa 100644 --- a/src/mbgl/renderer/fill_bucket.cpp +++ b/src/mbgl/renderer/fill_bucket.cpp @@ -6,6 +6,7 @@ #include <mbgl/shader/plain_shader.hpp> #include <mbgl/shader/pattern_shader.hpp> #include <mbgl/shader/outline_shader.hpp> +#include <mbgl/shader/outlinepattern_shader.hpp> #include <mbgl/gl/gl.hpp> #include <mbgl/platform/log.hpp> @@ -245,3 +246,15 @@ void FillBucket::drawVertices(OutlineShader& shader, gl::GLObjectStore& glObject elements_index += group->elements_length * lineElementsBuffer.itemSize; } } + +void FillBucket::drawVertices(OutlinePatternShader& shader, gl::GLObjectStore& glObjectStore) { + GLbyte* vertex_index = BUFFER_OFFSET(0); + GLbyte* elements_index = BUFFER_OFFSET(0); + for (auto& group : lineGroups) { + assert(group); + group->array[1].bind(shader, vertexBuffer, lineElementsBuffer, vertex_index, glObjectStore); + MBGL_CHECK_ERROR(glDrawElements(GL_LINES, group->elements_length * 2, GL_UNSIGNED_SHORT, elements_index)); + vertex_index += group->vertex_length * vertexBuffer.itemSize; + elements_index += group->elements_length * lineElementsBuffer.itemSize; + } +} |