Fixing synchronization problem between descriptor sets and command buffers

This commit is contained in:
Dynamitos
2020-11-03 01:18:30 +01:00
parent 799ba20d49
commit 65caae9e21
24 changed files with 203 additions and 58 deletions
+5
View File
@@ -105,3 +105,8 @@ void Actor::setRootComponent(PComponent newRoot)
rootComponent = newRoot;
rootComponent->owner = this;
}
Transform Actor::getTransform() const
{
return rootComponent->getTransform();
}
+3
View File
@@ -38,6 +38,9 @@ public:
PComponent getRootComponent();
void setRootComponent(PComponent newRoot);
// Returns a read-only copy of the actors transform
Transform getTransform() const;
protected:
void setParent(PActor parent);
PScene owningScene;
+5 -4
View File
@@ -39,10 +39,11 @@ void Scene::addPrimitiveComponent(PPrimitiveComponent comp)
data.actorWorldPosition = Vector4(comp->getTransform().getPosition(), 1);
data.localToWorld = comp->getRenderMatrix();
data.worldToLocal = glm::inverse(data.localToWorld);
BulkResourceData createInfo;
createInfo.data = reinterpret_cast<uint8*>(&data);
createInfo.owner = Gfx::QueueType::GRAPHICS;
createInfo.size = sizeof(data);
UniformBufferCreateInfo createInfo;
createInfo.resourceData.data = reinterpret_cast<uint8*>(&data);
createInfo.resourceData.owner = Gfx::QueueType::GRAPHICS;
createInfo.resourceData.size = sizeof(data);
createInfo.bDynamic = true;
Gfx::PUniformBuffer uniformBuffer = graphics->createUniformBuffer(createInfo);
for(auto& element : batch.elements)
{