@ -237,6 +237,19 @@ class Buffer {
setData ( _defaultTarget , size , data , usage ) ;
}
/**
* @ brief Set buffer data
* @ param data Fixed - size array with data
* @ param usage % Buffer usage
*
* Sets buffer data with default target . More convenient for setting
* data from fixed - size arrays than
* setData ( GLsizeiptr , const GLvoid * , Usage ) .
*/
template < size_t size , class T > inline void setData ( const T ( & data ) [ size ] , Usage usage ) {
setData ( _defaultTarget , data , usage ) ;
}
/**
* @ brief Set buffer data
* @ param data Vector with data
@ -260,6 +273,19 @@ class Buffer {
glBufferData ( static_cast < GLenum > ( target ) , size , data , static_cast < GLenum > ( usage ) ) ;
}
/**
* @ brief Set buffer data
* @ param target % Target
* @ param data Fixed - size array with data
* @ param usage % Buffer usage
*
* More convenient for setting data from fixed - size arrays than
* setData ( Target , GLsizeiptr , const GLvoid * , Usage ) .
*/
template < size_t size , class T > inline void setData ( Target target , const T ( & data ) [ size ] , Usage usage ) {
setData ( target , size * sizeof ( T ) , data , usage ) ;
}
/**
* @ brief Set buffer data
* @ param target % Target
@ -282,6 +308,19 @@ class Buffer {
setSubData ( _defaultTarget , offset , size , data ) ;
}
/**
* @ brief Set buffer subdata
* @ param offset Offset
* @ param data Fixed - size array with data
*
* Sets buffer subdata with default target . More convenient for
* setting data from fixed - size arrays than
* setSubData ( GLintptr , GLsizeiptr , const GLvoid * ) .
*/
template < size_t size , class T > inline void setSubData ( GLintptr offset , const T ( & data ) [ size ] ) {
setSubData ( _defaultTarget , offset , data ) ;
}
/**
* @ brief Set buffer subdata
* @ param offset Offset
@ -305,6 +344,19 @@ class Buffer {
glBufferSubData ( static_cast < GLenum > ( target ) , offset , size , data ) ;
}
/**
* @ brief Set buffer subdata
* @ param target % Target
* @ param offset Offset
* @ param data Fixed - size array with data
*
* More convenient for setting data from fixed - size arrays than
* setSubData ( Target , GLintptr , GLsizeiptr , const GLvoid * ) .
*/
template < size_t size , class T > inline void setSubData ( Target target , GLintptr offset , const T ( & data ) [ size ] ) {
setSubData ( target , offset , size * sizeof ( T ) , data ) ;
}
/**
* @ brief Set buffer subdata
* @ param target % Target