ULRE/src/SceneGraph/Vulkan/Texture/VKTextureCubeLoader.cpp

31 lines
908 B
C++
Raw Normal View History

2022-01-05 16:07:32 +08:00
#include"VKTextureLoader.h"
#include<hgl/io/FileInputStream.h>
#include<hgl/log/LogInfo.h>
VK_NAMESPACE_BEGIN
template<> void VkTextureLoader<TextureCube,TextureCubeLoader>::OnExtent(VkExtent3D &extent)
{
extent.width =file_header.width;
extent.height =file_header.height;
extent.depth =1;
}
template<> TextureCube *VkTextureLoader<TextureCube,TextureCubeLoader>::OnCreateTexture(TextureCreateInfo *tci)
{
2024-10-29 00:49:47 +08:00
return tex_manager->CreateTextureCube(tci);
2022-01-05 16:07:32 +08:00
}
2024-10-29 00:49:47 +08:00
TextureCube *CreateTextureCubeFromFile(TextureManager *tm,const OSString &filename,bool auto_mipmaps)
2022-01-05 16:07:32 +08:00
{
2024-10-29 00:49:47 +08:00
if(!tm||filename.IsEmpty())
return(nullptr);
VkTextureLoader<TextureCube,TextureCubeLoader> loader(tm,auto_mipmaps);
2022-01-05 16:07:32 +08:00
if(!loader.Load(filename))
return(nullptr);
2024-07-26 03:24:44 +08:00
return loader.CreateTexture(loader.GetFileHeader(),loader.GetTextureFormat(),loader.GetZeroMipmapBytes());
2022-01-05 16:07:32 +08:00
}
VK_NAMESPACE_END