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