37 static VulkanTexture * GetDummyTexture();
38 static void SetDummyTexture(VulkanTexture * texture);
42 vc::Error LoadImage(
unsigned char * pixels,
int width,
int height,
int channels)
override;
43 vc::Error LoadImageRGBA(
unsigned char * pixels,
int width,
int height,
int channels)
override;
44 vc::Error LoadImage(uint16_t * pixels,
int width,
int height,
int channels)
override;
45 vc::Error _InitDepthBuffer(
int width,
int height)
override;
46 vc::Error _CreateAttachment(
int width,
int height,
int imageCount, vc::ShaderVertexFormat format)
override;
47 vc::Error _CreateReadWriteTexture(
int width,
int height, vc::ShaderVertexFormat format,
int mipLevels,
int arrayLayers)
override;
48 vc::Error _CreateShadowMaps(
int dimension)
override;
49 vc::Error _CreateShadowCubeMaps(
int dimension)
override;
50 vc::Error _SaveImageToFile(
const char* path)
override;
52 vc::Error _SetMemoryAccess(
const vc::TextureMemoryAccess access)
override;
57 VulkanGUITexture() =
default;
58 ~VulkanGUITexture()
override =
default;
60 vc::Error _LoadTextureToGUI(
vc::TextureImpl* impl,
void** ptrToGuiTextureId)
override;
61 vc::Error _UnloadTextureFromGUI(
void* guiTextureId)
override;
63 GUITexture * _NewGuiTextureInstance()
override;
65 int GetHeight()
const override;
66 int GetWidth()
const override;
67 void SetDimensions(
int width,
int height)
override;
69 bool HasTexture()
const override {
return _resource && GetImage().GetVkImage() != VK_NULL_HANDLE; }
72 inline Image & GetImage() {
return _resource->As<VulkanTextureResource>()->image; }
73 inline const ImageView & GetImageView(
int index = 0)
const {
return _resource->As<VulkanTextureResource>()->imageViews[index]; }
74 inline ImageView & GetImageView(
int index = 0) {
return _resource->As<VulkanTextureResource>()->imageViews[index]; }
75 inline ImageView & CreateImageView()
const {
return _resource->As<VulkanTextureResource>()->imageViews.emplace_back(); }
void _ResetResource() override
Resets the resource, should be implemented by the final class, i.e. VulkanTextureResource.
Definition Texture.cc:49