Add VulkanTextureDynamic
This commit is contained in:
@@ -71,34 +71,38 @@ namespace OpenVulkano::Vulkan
|
||||
}
|
||||
}
|
||||
|
||||
void Record(VulkanDrawContext* context, int setId)
|
||||
virtual void Record(VulkanDrawContext* context, int setId)
|
||||
{
|
||||
context->commandBuffer.bindDescriptorSets(vk::PipelineBindPoint::eGraphics, context->GetShader()->pipelineLayout, setId, 1, &m_descriptorSet, 0, nullptr);
|
||||
}
|
||||
};
|
||||
|
||||
/*class VulkanTextureDynamic : VulkanTexture
|
||||
class VulkanTextureDynamic : public VulkanTexture
|
||||
{
|
||||
public:
|
||||
uint32_t lastUpdate = -1;
|
||||
ResourceManager* resourceManager;
|
||||
|
||||
void Init(ResourceManager* resManager, Scene::Texture* texture) override
|
||||
void Init(ResourceManager* resManager, Scene::Texture* texture, vk::DescriptorSetLayout* descriptorSetLayout, const DescriptorSetLayoutBinding& binding) override
|
||||
{
|
||||
resourceManager = resManager;
|
||||
VulkanTexture::Init(resourceManager, texture);
|
||||
lastUpdate = -1;
|
||||
VulkanTexture::Init(resManager, texture, descriptorSetLayout, binding);
|
||||
}
|
||||
|
||||
void Record(VulkanDrawContext* context) override
|
||||
{
|
||||
if(bufferId != lastUpdate && m_texture->updated)
|
||||
if(m_texture->updated)
|
||||
{
|
||||
lastUpdate = bufferId;
|
||||
resourceManager->CopyDataToImage(m_texture->size, m_texture->textureBuffer, this);
|
||||
context->renderer->GetResourceManager().CopyDataToImage(m_texture->size, m_texture->textureBuffer, this);
|
||||
m_texture->updated = false;
|
||||
}
|
||||
VulkanTexture::Record(cmdBuffer, bufferId);
|
||||
VulkanTexture::Record(context);
|
||||
}
|
||||
};*/
|
||||
|
||||
void Record(VulkanDrawContext* context, int setId) override
|
||||
{
|
||||
if(m_texture->updated)
|
||||
{
|
||||
context->renderer->GetResourceManager().CopyDataToImage(m_texture->size, m_texture->textureBuffer, this);
|
||||
m_texture->updated = false;
|
||||
}
|
||||
VulkanTexture::Record(context, setId);
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user