.. _program_listing_file_Src_GraphicsEngineVulkan_scene_Texture.hpp: Program Listing for File Texture.hpp ==================================== |exhale_lsh| :ref:`Return to documentation for file ` (``Src/GraphicsEngineVulkan/scene/Texture.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include #include "vulkan_base/VulkanBuffer.hpp" #include "vulkan_base/VulkanBufferManager.hpp" #include "vulkan_base/VulkanImage.hpp" #include "vulkan_base/VulkanImageView.hpp" namespace Kataglyphis { class Texture { public: Texture(); void createFromFile(VulkanDevice *device, VkCommandPool commandPool, const std::string &fileName); void setImage(VkImage image); void setImageView(VkImageView imageView); uint32_t getMipLevel() { return mip_levels; }; VulkanImage &getVulkanImage() { return vulkanImage; }; VulkanImageView &getVulkanImageView() { return vulkanImageView; }; VkImage &getImage() { return vulkanImage.getImage(); }; VkImageView &getImageView() { return vulkanImageView.getImageView(); }; void createImage(VulkanDevice *device, uint32_t width, uint32_t height, uint32_t mip_levels, VkFormat format, VkImageTiling tiling, VkImageUsageFlags use_flags, VkMemoryPropertyFlags prop_flags); void createImageView(VulkanDevice *device, VkFormat format, VkImageAspectFlags aspect_flags, uint32_t mip_levels); void cleanUp(); ~Texture(); private: uint32_t mip_levels = 0; stbi_uc *loadTextureData(const std::string &file_name, int *width, int *height, VkDeviceSize *image_size); void generateMipMaps(VkPhysicalDevice physical_device, VkDevice device, VkCommandPool command_pool, VkQueue queue, VkImage image, VkFormat image_format, int32_t width, int32_t height, uint32_t mip_levels); Kataglyphis::VulkanRendererInternals::CommandBufferManager commandBufferManager; VulkanBufferManager vulkanBufferManager; VulkanImage vulkanImage; VulkanImageView vulkanImageView; }; }// namespace Kataglyphis