added little codes of texture 2d array, but can't run.
This commit is contained in:
@@ -95,8 +95,6 @@ bool GPUDevice::CommitTexture2D(Texture2D *tex,DeviceBuffer *buf,VkPipelineStage
|
||||
|
||||
BufferImageCopy buffer_image_copy(tex);
|
||||
|
||||
//CopyBufferToImageInfo info(tex,buf->GetBuffer(),&buffer_image_copy);
|
||||
|
||||
return CopyBufferToImage(tex,buf,&buffer_image_copy,destinationStage);
|
||||
}
|
||||
|
||||
|
27
src/SceneGraph/Vulkan/Texture/VKTexture2DArrayLoader.cpp
Normal file
27
src/SceneGraph/Vulkan/Texture/VKTexture2DArrayLoader.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#include"VKTextureLoader.h"
|
||||
#include<hgl/io/FileInputStream.h>
|
||||
#include<hgl/log/LogInfo.h>
|
||||
|
||||
VK_NAMESPACE_BEGIN
|
||||
template<> void VkTextureLoader<Texture2DArray,Texture2DArrayLoader>::OnExtent(VkExtent3D &extent)
|
||||
{
|
||||
extent.width =file_header.width;
|
||||
extent.height =file_header.height;
|
||||
extent.depth =file_header.layers;
|
||||
}
|
||||
|
||||
template<> Texture2DArray *VkTextureLoader<Texture2DArray,Texture2DArrayLoader>::OnCreateTexture(TextureCreateInfo *tci)
|
||||
{
|
||||
return device->CreateTexture2DArray(tci);
|
||||
}
|
||||
|
||||
Texture2DArray *CreateTexture2DArrayFromFile(GPUDevice *device,const OSString &filename,bool auto_mipmaps)
|
||||
{
|
||||
VkTextureLoader<Texture2DArray,Texture2DArrayLoader> loader(device,auto_mipmaps);
|
||||
|
||||
if(!loader.Load(filename))
|
||||
return(nullptr);
|
||||
|
||||
return loader.GetTexture();
|
||||
}
|
||||
VK_NAMESPACE_END
|
@@ -118,6 +118,7 @@ Sampler *RenderResource::CreateSampler(Texture *tex)
|
||||
}
|
||||
|
||||
Texture2D *CreateTexture2DFromFile(GPUDevice *device,const OSString &filename,bool auto_mipmaps);
|
||||
Texture2DArray *CreateTexture2DArrayFromFile(GPUDevice *device,const OSString &filename,bool auto_mipmaps);
|
||||
|
||||
Texture2D *RenderResource::LoadTexture2D(const OSString &filename,bool auto_mipmaps)
|
||||
{
|
||||
|
Reference in New Issue
Block a user