gpuCache/gpuCacheMaterialBakers.h
#ifndef _gpuCacheMaterialBakers_h_
#define _gpuCacheMaterialBakers_h_
#include "gpuCacheMaterial.h"
#include <boost/noncopyable.hpp>
#include <memory>
#include <unordered_map>
namespace GPUCache {
class MaterialBaker : boost::noncopyable
{
public:
MaterialBaker();
virtual ~MaterialBaker();
MaterialGraphMap::Ptr get();
private:
class MaterialGraphBaker;
typedef std::shared_ptr<MaterialGraphBaker> MaterialGraphBakerPtr;
typedef std::unordered_map<MString,MaterialGraphBakerPtr,MStringHash> MaterialGraphBakers;
MaterialGraphBakers fMaterialGraphBakers;
typedef std::unordered_map<MString,MaterialGraph::Ptr,MStringHash> NamedMaterialGraphs;
NamedMaterialGraphs fExistingGraphs;
};
}
#endif