Fixing synchronization problem between descriptor sets and command buffers
This commit is contained in:
@@ -105,3 +105,8 @@ void Actor::setRootComponent(PComponent newRoot)
|
||||
rootComponent = newRoot;
|
||||
rootComponent->owner = this;
|
||||
}
|
||||
|
||||
Transform Actor::getTransform() const
|
||||
{
|
||||
return rootComponent->getTransform();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user