2023-01-21 18:43:21 +01:00
|
|
|
#include "MaterialInstance.h"
|
|
|
|
|
#include "Material.h"
|
|
|
|
|
#include "Graphics/Graphics.h"
|
|
|
|
|
|
|
|
|
|
using namespace Seele;
|
|
|
|
|
|
2023-10-24 15:01:09 +02:00
|
|
|
MaterialInstance::MaterialInstance(uint64 id, Gfx::PGraphics graphics, PMaterial baseMaterial, Gfx::PDescriptorSet descriptor, Array<PShaderParameter> params, uint32 uniformBinding, uint32 uniformSize)
|
|
|
|
|
: id(id), graphics(graphics), baseMaterial(baseMaterial), descriptor(descriptor), parameters(params), uniformBinding(uniformBinding)
|
2023-01-21 18:43:21 +01:00
|
|
|
{
|
2023-10-24 15:01:09 +02:00
|
|
|
uniformBuffer = graphics->createUniformBuffer(UniformBufferCreateInfo{
|
|
|
|
|
.resourceData = {
|
|
|
|
|
.size = uniformSize,
|
|
|
|
|
},
|
|
|
|
|
.bDynamic = true,
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
uniformData.resize(uniformSize);
|
2023-01-21 18:43:21 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MaterialInstance::~MaterialInstance()
|
|
|
|
|
{
|
|
|
|
|
|
2023-10-24 15:01:09 +02:00
|
|
|
}
|