Program Listing for File textureLoader.h
↰ Return to documentation for file (PrismEngine/src/textureLoader.h)
#pragma once
#include "utils.h"
#include <string>
#include <vulkan/vulkan.h>
namespace prism {
namespace PGC {
class TextureLoader
{
public:
static prism::PGC::Texture load(utils::Context* context, std::string texturePath);
static void cleanup(utils::Context* context, PGC::Texture* texture);
private:
static void createTextureImage(utils::Context* context, PGC::Texture* texture);
static void createTextureImageView(utils::Context* context, PGC::Texture* texture);
static void createTextureSampler(utils::Context* context, PGC::Texture* texture);
static void generateMipmaps(utils::Context* context, VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels);
};
}
}