No more shared pointers

This commit is contained in:
Dynamitos
2023-11-01 23:12:30 +01:00
parent 5a9cb13e74
commit 4746c0f838
69 changed files with 524 additions and 681 deletions
+10 -8
View File
@@ -10,17 +10,18 @@ class Material
public:
Material();
Material(Gfx::PGraphics graphics,
Array<PShaderParameter> parameter,
Gfx::PDescriptorLayout layout,
Array<OShaderParameter> parameter,
Gfx::ODescriptorLayout layout,
uint32 uniformDataSize,
uint32 uniformBinding,
std::string materialName,
Array<PShaderExpression> expressions,
Array<OShaderExpression> expressions,
MaterialNode brdf);
~Material();
Gfx::PDescriptorLayout getDescriptorLayout() const { return layout; }
const Gfx::PDescriptorLayout getDescriptorLayout() const { return layout; }
PMaterialInstance instantiate();
const std::string& getName() { return materialName; }
PMaterialInstance getInstance(uint64 instance) { return instances[instance]; }
const std::string& getName() const { return materialName; }
void save(ArchiveBuffer& buffer) const;
void load(ArchiveBuffer& buffer);
@@ -33,10 +34,11 @@ private:
uint32 uniformDataSize;
uint32 uniformBinding;
uint64 instanceId;
Gfx::PDescriptorLayout layout;
Gfx::ODescriptorLayout layout;
std::string materialName;
Array<PShaderExpression> codeExpressions;
Array<PShaderParameter> parameters;
Array<OShaderExpression> codeExpressions;
Array<OShaderParameter> parameters;
Array<OMaterialInstance> instances;
MaterialNode brdf;
};
DEFINE_REF(Material)