2020-05-05 01:51:13 +02:00
|
|
|
#include "MaterialInstance.h"
|
|
|
|
|
#include "Material.h"
|
2020-10-03 11:00:10 +02:00
|
|
|
#include "Graphics/WindowManager.h"
|
2020-05-05 01:51:13 +02:00
|
|
|
|
|
|
|
|
using namespace Seele;
|
|
|
|
|
|
|
|
|
|
MaterialInstance::MaterialInstance()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MaterialInstance::MaterialInstance(const std::string& directory, const std::string& name)
|
2020-08-06 00:54:43 +02:00
|
|
|
: MaterialAsset(directory, name)
|
2020-05-05 01:51:13 +02:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2020-06-08 01:44:47 +02:00
|
|
|
MaterialInstance::MaterialInstance(const std::filesystem::path& fullPath)
|
2020-08-06 00:54:43 +02:00
|
|
|
: MaterialAsset(fullPath)
|
2020-06-08 01:44:47 +02:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2020-05-05 01:51:13 +02:00
|
|
|
MaterialInstance::~MaterialInstance()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2020-08-06 00:54:43 +02:00
|
|
|
void MaterialInstance::save()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MaterialInstance::load()
|
|
|
|
|
{
|
2020-10-03 11:00:10 +02:00
|
|
|
baseMaterial = nullptr; // TODO: actually load the file
|
|
|
|
|
BulkResourceData resourceData;
|
|
|
|
|
resourceData.size = baseMaterial->uniformDataSize;
|
|
|
|
|
resourceData.data = nullptr;
|
|
|
|
|
uniformBuffer = WindowManager::getGraphics()->createUniformBuffer(resourceData);
|
|
|
|
|
descriptorSet = baseMaterial->layout->allocatedDescriptorSet();
|
2020-08-06 00:54:43 +02:00
|
|
|
}
|
|
|
|
|
|
2020-10-03 11:00:10 +02:00
|
|
|
const Material* MaterialInstance::getRenderMaterial() const
|
2020-08-06 00:54:43 +02:00
|
|
|
{
|
2020-09-19 14:36:50 +02:00
|
|
|
return baseMaterial;
|
2020-08-06 00:54:43 +02:00
|
|
|
}
|