create a new VKTextureCreateInfo.h

This commit is contained in:
2020-10-23 21:21:09 +08:00
parent d38739397e
commit 507c46cc78
8 changed files with 196 additions and 61 deletions

View File

@@ -6,41 +6,11 @@
#include<hgl/graph/VKImageView.h>
#include<hgl/graph/Bitmap.h>
#include<hgl/type/String.h>
#include<hgl/graph/VKTextureCreateInfo.h>
VK_NAMESPACE_BEGIN
BitmapData *LoadBitmapFromFile(const OSString &filename);
struct TextureData
{
GPUMemory * memory =nullptr;
VkImage image =VK_NULL_HANDLE;
VkImageLayout image_layout=VK_IMAGE_LAYOUT_UNDEFINED;
ImageView * image_view =nullptr;
uint32 mip_levels =0;
VkImageTiling tiling =VK_IMAGE_TILING_OPTIMAL;
};//struct TextureData
struct TextureCreateInfo
{
VkExtent3D extent;
VkFormat format;
uint usage;
VkImageAspectFlags aspect;
ImageTiling tiling;
VkImage image;
GPUMemory * memory;
ImageView * image_view;
VkImageLayout image_layout;
public:
TextureCreateInfo()
{
hgl_zero(*this);
}
};//struct TextureCreateInfo
class Texture
{
protected:
@@ -57,7 +27,7 @@ public:
VkImageLayout GetImageLayout () {return data?data->image_layout:VK_IMAGE_LAYOUT_UNDEFINED;}
VkImageView GetVulkanImageView () {return data?data->image_view->operator VkImageView():VK_NULL_HANDLE;}
GPUMemory * GetMemory () {return data?data->memory:nullptr;}
GPUMemory * GetMemory () {return data?data->memory:nullptr;}
ImageView * GetImageView () {return data?data->image_view:nullptr;}
const uint32 GetMipLevels ()const {return data?data->mip_levels:0;}