diff options
Diffstat (limited to 'src/mbgl/gl/attribute.cpp')
-rw-r--r-- | src/mbgl/gl/attribute.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/mbgl/gl/attribute.cpp b/src/mbgl/gl/attribute.cpp new file mode 100644 index 0000000000..7432fff590 --- /dev/null +++ b/src/mbgl/gl/attribute.cpp @@ -0,0 +1,29 @@ +#include <mbgl/gl/attribute.hpp> +#include <mbgl/gl/gl.hpp> + +namespace mbgl { +namespace gl { + +AttributeLocation bindAttributeLocation(ProgramID id, AttributeLocation location, const char* name) { + MBGL_CHECK_ERROR(glBindAttribLocation(id, location, name)); + return location; +} + +void bindAttribute(AttributeLocation location, + std::size_t count, + DataType type, + std::size_t vertexSize, + std::size_t vertexOffset, + std::size_t attributeOffset) { + MBGL_CHECK_ERROR(glEnableVertexAttribArray(location)); + MBGL_CHECK_ERROR(glVertexAttribPointer( + location, + static_cast<GLint>(count), + static_cast<GLenum>(type), + GL_FALSE, + static_cast<GLsizei>(vertexSize), + reinterpret_cast<GLvoid*>(attributeOffset + (vertexSize * vertexOffset)))); +} + +} // namespace gl +} // namespace mbgl |