![]() |
Rendering Engine 0.2.0
Modular Graphics Rendering Engine | v0.2.0
|
Vulkan-specific implementation of ITextureRenderResources. More...
#include <vulkan_texture_resources.hpp>
Inherits rendering_engine::ITextureRenderResources.
Public Member Functions | |
| VulkanTextureResources (VulkanRenderer *renderer) | |
| Vulkan-specific implementation of ITextureRenderResources. | |
| void | LoadToGPU (const ImageData &data) override |
| Uploads the texture data from CPU to GPU memory using Vulkan. | |
| void | ReleaseFromGPU () override |
| Releases the texture data from GPU memory using Vulkan. | |
| bool | IsTextureLoadedInGPU () override |
| Checks if the texture is currently loaded in GPU memory. | |
| size_t | GetSizeInGPUBytes () const override |
| Returns the size of the texture in GPU memory in bytes. | |
| VkImageView | GetVkImageView () const |
| Returns the Vulkan image view associated with this texture resource. | |
| VkSampler | GetVkSampler () const |
| Returns the Vulkan sampler associated with this texture resource. | |
| Public Member Functions inherited from rendering_engine::ITextureRenderResources | |
| virtual | ~ITextureRenderResources ()=default |
| Virtual destructor. | |
Protected Member Functions | |
| void | CreateTextureImage () |
| void | CreateVulkanImage (uint32_t width, uint32_t height, std::uint32_t mipmapLevels, VkSampleCountFlagBits numSamples, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, VkImage &image, VkDeviceMemory &imageMemory) |
| void | CreateTextureImageView () |
| VkImageView | CreateImageView (VkImage image, VkFormat format, VkImageAspectFlags aspectFlags, std::uint32_t mipmapLevels) |
| void | CreateTextureSampler () |
Protected Attributes | |
| bool | bIsTextureLoadedInGPU |
| VulkanRenderer * | mRenderer |
| const ImageData * | mImageData |
| std::uint32_t | mMipmapLevels |
| VkImage | mTextureImage |
| VkDeviceMemory | mTextureImageMemory |
| VkImageView | mTextureImageView |
| VkSampler | mTextureSampler |
| VkDeviceSize | mGpuMemorySize |
Vulkan-specific implementation of ITextureRenderResources.
This class manages texture memory and resources on the GPU using Vulkan.
Definition at line 41 of file vulkan_texture_resources.hpp.
| rendering_engine::VulkanTextureResources::VulkanTextureResources | ( | VulkanRenderer * | renderer | ) |
Vulkan-specific implementation of ITextureRenderResources.
Definition at line 7 of file vulkan_texture_resources.cpp.
|
protected |
Definition at line 144 of file vulkan_texture_resources.cpp.
|
protected |
Definition at line 47 of file vulkan_texture_resources.cpp.
|
protected |
Definition at line 139 of file vulkan_texture_resources.cpp.
|
protected |
Definition at line 166 of file vulkan_texture_resources.cpp.
|
protected |
Definition at line 92 of file vulkan_texture_resources.cpp.
|
overridevirtual |
Returns the size of the texture in GPU memory in bytes.
Implements rendering_engine::ITextureRenderResources.
Definition at line 41 of file vulkan_texture_resources.cpp.
|
inline |
Returns the Vulkan image view associated with this texture resource.
This image view is typically used for binding the texture to shaders via descriptor sets.
Definition at line 88 of file vulkan_texture_resources.hpp.
|
inline |
Returns the Vulkan sampler associated with this texture resource.
This sampler is used to define how the texture is sampled in shaders (e.g., filtering, addressing modes).
Definition at line 97 of file vulkan_texture_resources.hpp.
|
overridevirtual |
Checks if the texture is currently loaded in GPU memory.
Implements rendering_engine::ITextureRenderResources.
Definition at line 36 of file vulkan_texture_resources.cpp.
|
overridevirtual |
Uploads the texture data from CPU to GPU memory using Vulkan.
| data | The image data to upload. |
Implements rendering_engine::ITextureRenderResources.
Definition at line 15 of file vulkan_texture_resources.cpp.
|
overridevirtual |
Releases the texture data from GPU memory using Vulkan.
Implements rendering_engine::ITextureRenderResources.
Definition at line 26 of file vulkan_texture_resources.cpp.
|
protected |
Definition at line 112 of file vulkan_texture_resources.hpp.
|
protected |
Definition at line 120 of file vulkan_texture_resources.hpp.
|
protected |
Definition at line 114 of file vulkan_texture_resources.hpp.
|
protected |
Definition at line 115 of file vulkan_texture_resources.hpp.
|
protected |
Definition at line 113 of file vulkan_texture_resources.hpp.
|
protected |
Definition at line 116 of file vulkan_texture_resources.hpp.
|
protected |
Definition at line 117 of file vulkan_texture_resources.hpp.
|
protected |
Definition at line 118 of file vulkan_texture_resources.hpp.
|
protected |
Definition at line 119 of file vulkan_texture_resources.hpp.