1#ifndef VULKAN_TEXTUREIMAGE
2#define VULKAN_TEXTUREIMAGE
4#include <vulkan/vulkan.h>
13 class TextureImage;
class LogicalDevice;
class PhysicalDevice;
class CommandBufferPool;
class TextureSampler;
14 namespace Buffers {
class StagingBuffer; }
Definition: StagingBuffer.h:14
A CommandBufferPool is an object which is used to allocate CommandBuffers.
Definition: CommandBufferPool.h:14
An Image is an object representing what can be passed to the swapchain: the content of the image is w...
Definition: Image.h:19
std::pair< unsigned int, unsigned int > resolution
Definition: Image.h:126
LogicalDevice const * virtualGpu
Definition: Image.h:129
A logical device is an abstraction of the physical GPU which we can mainly use to send commands.
Definition: LogicalDevice.h:15
Represents the GPU (or any other device) that will be used with Vulkan to perform computer graphics.
Definition: PhysicalDevice.h:17
Definition: TextureImage.h:18
void transitionLayout(VkImageLayout newLayout, const CommandBufferPool &commandBufferPool)
Changes the layout of the image.
Definition: TextureImage.cpp:51
TextureImage(const LogicalDevice &virtualGpu, const PhysicalDevice &realGpu, const CommandBufferPool &commandBufferPool, std::pair< unsigned int, unsigned int > resolution, std::string pathToTexture)
Definition: TextureImage.cpp:16
void fillImage(const Buffers::StagingBuffer &imageData, const CommandBufferPool &commandBufferPool)
Fills the image with the data stored in the buffer.
Definition: TextureImage.cpp:66
TextureImage(TextureImage &&)=default
const TextureSampler & getSampler() const
Definition: TextureImage.cpp:87
TextureImage & operator=(const TextureImage &)=delete
TextureImage & operator=(TextureImage &&movedFrom)=default
TextureImage(const TextureImage &)=delete
A TextureSampler is an object which is used to apply filters (anisotropic, interpolation,...
Definition: TextureSampler.h:16
Types of queue families.
Definition: Animations.h:17