mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-25 21:31:14 +00:00
40 lines
990 B
C++
40 lines
990 B
C++
|
|
#include "VertexBuffer.h"
|
|
|
|
VertexBuffer::VertexBuffer(int sizeInBytes) : mData(sizeInBytes)
|
|
{
|
|
}
|
|
|
|
void VertexBuffer::SetBufferData(const void* data, int64_t size)
|
|
{
|
|
if (size > 0 && size < (int64_t)mData.size())
|
|
memcpy(mData.data(), data, size);
|
|
}
|
|
|
|
void VertexBuffer::SetBufferSubdata(int64_t destOffset, const void* data, int64_t size)
|
|
{
|
|
if (destOffset >= 0 && size > 0 && size < (int64_t)mData.size() - destOffset)
|
|
memcpy(mData.data() + destOffset, data, size);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
VertexBuffer* VertexBuffer_New(int sizeInBytes)
|
|
{
|
|
return new VertexBuffer(sizeInBytes);
|
|
}
|
|
|
|
void VertexBuffer_Delete(VertexBuffer* buffer)
|
|
{
|
|
delete buffer;
|
|
}
|
|
|
|
void VertexBuffer_SetBufferData(VertexBuffer* handle, void* data, int64_t size)
|
|
{
|
|
handle->SetBufferData(data, size);
|
|
}
|
|
|
|
void VertexBuffer_SetBufferSubdata(VertexBuffer* handle, int64_t destOffset, void* data, int64_t size)
|
|
{
|
|
handle->SetBufferSubdata(destOffset, data, size);
|
|
}
|