initial commit
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#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];
|
||||
}
|
||||
Reference in New Issue
Block a user