#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 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]; }