diff --git a/src/Buffer.h b/src/Buffer.h index a7ff8df08..c2403ec75 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -20,6 +20,7 @@ */ #include +#include #include #include "Magnum.h" @@ -266,6 +267,11 @@ class Buffer { setData(_defaultTarget, data, usage); } + /** @overload */ + template inline void setData(const std::array& data, Usage usage) { + setData(_defaultTarget, data, usage); + } + /** * @brief Set buffer data * @param target %Target @@ -307,6 +313,11 @@ class Buffer { setData(target, data.size()*sizeof(T), data.data(), usage); } + /** @overload */ + template inline void setData(Target target, const std::array& data, Usage usage) { + setData(target, data.size()*sizeof(T), data.data(), usage); + } + /** * @brief Set buffer subdata * @param offset Offset @@ -346,6 +357,11 @@ class Buffer { setSubData(_defaultTarget, offset, data); } + /** @overload */ + template inline void setSubData(GLintptr offset, const std::array& data) { + setSubData(_defaultTarget, offset, data); + } + /** * @brief Set buffer subdata * @param target %Target @@ -386,6 +402,11 @@ class Buffer { setSubData(target, offset, data.size()*sizeof(T), data.data()); } + /** @overload */ + template inline void setSubData(Target target, GLintptr offset, const std::array& data) { + setSubData(target, offset, data.size()*sizeof(T), data.data()); + } + private: GLuint buffer; Target _defaultTarget;