Add gfx::buffer::load_subdata
This commit is contained in:
parent
1198653891
commit
e959c0ec1d
1 changed files with 36 additions and 0 deletions
|
|
@ -106,6 +106,42 @@ namespace psemek::gfx
|
|||
load(data.data(), data.size(), usage);
|
||||
}
|
||||
|
||||
void load_subdata(std::size_t offset, void const * data, std::size_t size)
|
||||
{
|
||||
bind();
|
||||
gl::BufferSubData(Target, offset, size, data);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void load_subdata(std::size_t offset, T const * data, std::size_t size)
|
||||
{
|
||||
load_subdata(offset * sizeof(T), static_cast<void const *>(data), size * sizeof(T));
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void load_subdata(std::size_t offset, std::vector<T> const & data)
|
||||
{
|
||||
load_subdata(offset, data.data(), data.size());
|
||||
}
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
void load_subdata(std::size_t offset, std::array<T, N> const & data)
|
||||
{
|
||||
load_subdata(offset, data.data(), data.size());
|
||||
}
|
||||
|
||||
template <typename T, std::size_t N>
|
||||
void load_subdata(std::size_t offset, T const (&data)[N])
|
||||
{
|
||||
load_subdata(offset, data, N);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void load_subdata(std::size_t offset, util::span<T> const & data)
|
||||
{
|
||||
load_subdata(offset, data.data(), data.size());
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
std::shared_ptr<T[]> map()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue