#include"VKTextureLoader.h" #include #include VK_NAMESPACE_BEGIN template<> void VkTextureLoader::OnExtent(VkExtent3D &extent) { extent.width =file_header.width; extent.height =file_header.height; extent.depth =1; } template<> Texture2D *VkTextureLoader::OnCreateTexture(TextureCreateInfo *tci) { return device->CreateTexture2D(tci); } Texture2D *CreateTexture2DFromFile(GPUDevice *device,const OSString &filename,bool auto_mipmaps) { VkTextureLoader loader(device,auto_mipmaps); if(!loader.Load(filename)) return(nullptr); return loader.CreateTexture(loader.GetFileHeader(),loader.GetTextureFormat(),loader.GetZeroMipmapBytes()); } VK_NAMESPACE_END