summaryrefslogtreecommitdiff
path: root/src/mbgl/gl/vertex_array.cpp
blob: d552a8292e079b7419da45dc0638deb781b24336 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <mbgl/gl/vertex_array.hpp>
#include <mbgl/gl/context.hpp>
#include <mbgl/gl/gl.hpp>

namespace mbgl {
namespace gl {

void VertexArray::bind(Context& context, BufferID indexBuffer, const AttributeBindingArray& bindings) {
    context.bindVertexArray = state->vertexArray;
    state->indexBuffer = indexBuffer;

    state->bindings.reserve(bindings.size());
    for (AttributeLocation location = 0; location < bindings.size(); ++location) {
        if (state->bindings.size() <= location) {
            state->bindings.emplace_back(context, AttributeLocation(location));
        }
        state->bindings[location] = bindings[location];
    }
}

} // namespace gl
} // namespace mbgl