//----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- #include "EffekseerRenderer.VertexBufferBase.h" //----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- namespace EffekseerRenderer { //----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- VertexBufferBase::VertexBufferBase(int size, bool isDynamic) : m_isDynamic(isDynamic) , m_size(size) , m_offset(0) , m_resource(nullptr) , m_isLock(false) { } //----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- VertexBufferBase::~VertexBufferBase() { } //----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- void VertexBufferBase::Push(const void* buffer, int size) { assert(m_isLock); memcpy(GetBufferDirect(size), buffer, size); } //----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- int VertexBufferBase::GetMaxSize() const { return m_size; } //----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- int VertexBufferBase::GetSize() const { return m_offset; } //----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- void* VertexBufferBase::GetBufferDirect(int size) { assert(m_isLock); if (m_offset + size > m_size) return nullptr; void* pBuffer = nullptr; // バッファに追記 pBuffer = m_resource + m_offset; m_offset += size; return pBuffer; } //----------------------------------------------------------------------------------- // //----------------------------------------------------------------------------------- } // namespace EffekseerRenderer //----------------------------------------------------------------------------------- // //-----------------------------------------------------------------------------------