[WIP] Texture support
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "Base/ICloseable.hpp"
|
||||
#include "IShaderOwner.hpp"
|
||||
#include "ManagedResource.hpp"
|
||||
#include "Vulkan/Image.hpp"
|
||||
#include <mutex>
|
||||
#include <functional>
|
||||
|
||||
@@ -20,11 +21,13 @@ namespace openVulkanoCpp
|
||||
class Node;
|
||||
class Geometry;
|
||||
class Material;
|
||||
class Texture;
|
||||
}
|
||||
|
||||
namespace Vulkan
|
||||
{
|
||||
class VulkanGeometry;
|
||||
class VulkanTexture;
|
||||
|
||||
class ResourceManager : virtual public ICloseable, virtual public IShaderOwner
|
||||
{
|
||||
@@ -68,12 +71,20 @@ namespace openVulkanoCpp
|
||||
|
||||
void PrepareNode(Scene::Node* node);
|
||||
|
||||
VulkanTexture* PrepareTexture(Scene::Texture* texture);
|
||||
|
||||
void RemoveShader(VulkanShader* shader) override;
|
||||
|
||||
void CopyDataToImage(vk::DeviceSize size, void* data, openVulkanoCpp::Vulkan::Image* image);
|
||||
|
||||
ManagedBuffer* CreateSharedMemoryBuffer(size_t size);
|
||||
|
||||
void FreeBuffer(ManagedBuffer* buffer);
|
||||
|
||||
[[nodiscard]] Context* GetContext() const { return context; }
|
||||
|
||||
[[nodiscard]] vk::Device GetDevice() const { return device; }
|
||||
|
||||
protected: // Allocation management
|
||||
void DoFreeBuffer(ManagedBuffer* buffer);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user