Files
HydraV3/HydraEngine/source/buffer/HydraMaterialBufferManager.cpp
T
2026-07-17 15:30:29 +01:00

36 lines
770 B
C++

#include "HydraMaterialBufferManager.h"
void HydraMaterialBufferManager::Intialise()
{
m_material.resize(MAX_MATERIALS);
for(uint32_t mat_idx = 0; mat_idx < MAX_MATERIALS; mat_idx++)
{
m_available_material_ids.push(mat_idx);
}
}
void HydraMaterialBufferManager::Shutdown()
{
}
HydraID HydraMaterialBufferManager::CreateMaterial(const HydraMaterialBuffer &material)
{
std::lock_guard<std::mutex> lock(m_mutex);
if(m_available_material_ids.size() == 0)
{
return INVALID_HYDRA_ID;
}
HydraID mat_id = m_available_material_ids.front();
m_available_material_ids.pop();
m_material[mat_id] = material;
return mat_id;
}
void *HydraMaterialBufferManager::GetMaterialBuffer()
{
return &m_material[0];
}