|
|
|
|
@ -176,6 +176,17 @@ class Buffer {
|
|
|
|
|
setData(_defaultTarget, size, data, usage); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Set buffer data |
|
|
|
|
* @param data Vector with data |
|
|
|
|
* @param usage %Buffer usage |
|
|
|
|
* |
|
|
|
|
* Sets buffer data with default target. |
|
|
|
|
*/ |
|
|
|
|
template<class T> inline void setData(const std::vector<T>& data, Usage usage) { |
|
|
|
|
setData(_defaultTarget, data, usage); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Set buffer data |
|
|
|
|
* @param target %Target |
|
|
|
|
@ -188,6 +199,16 @@ class Buffer {
|
|
|
|
|
glBufferData(static_cast<GLenum>(target), size, data, static_cast<GLenum>(usage)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Set buffer data |
|
|
|
|
* @param target %Target |
|
|
|
|
* @param data Vector with data |
|
|
|
|
* @param usage %Buffer usage |
|
|
|
|
*/ |
|
|
|
|
template<class T> inline void setData(Target target, const std::vector<T>& data, Usage usage) { |
|
|
|
|
setData(target, data.size()*sizeof(T), data.data(), usage); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Set buffer subdata |
|
|
|
|
* @param offset Offset |
|
|
|
|
@ -200,6 +221,17 @@ class Buffer {
|
|
|
|
|
setSubData(_defaultTarget, offset, size, data); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Set buffer subdata |
|
|
|
|
* @param offset Offset |
|
|
|
|
* @param data Vector with data |
|
|
|
|
* |
|
|
|
|
* Sets buffer subdata with default target. |
|
|
|
|
*/ |
|
|
|
|
template<class T> inline void setSubData(GLintptr offset, const std::vector<T>& data) { |
|
|
|
|
setSubData(_defaultTarget, offset, data); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Set buffer subdata |
|
|
|
|
* @param target %Target |
|
|
|
|
@ -212,6 +244,16 @@ class Buffer {
|
|
|
|
|
glBufferSubData(static_cast<GLenum>(target), offset, size, data); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Set buffer subdata |
|
|
|
|
* @param target %Target |
|
|
|
|
* @param offset Offset |
|
|
|
|
* @param data Vector with data |
|
|
|
|
*/ |
|
|
|
|
template<class T> inline void setSubData(Target target, GLintptr offset, const std::vector<T>& data) { |
|
|
|
|
setSubData(target, offset, data.size()*sizeof(T), data.data()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
GLuint buffer; |
|
|
|
|
Target _defaultTarget; |
|
|
|
|
|