Program Listing for File image_resource_file.h¶
↰ Return to documentation for file (rootex/core/resource_files/image_resource_file.h
)
#pragma once
#include "resource_file.h"
#include "renderer/texture.h"
class ImageResourceFile : public ResourceFile
{
Ref<GPUTexture> m_GPUImageTexture;
Ref<CPUTexture> m_CPUImageTexture;
bool m_IsCPUAccess;
explicit ImageResourceFile(const FilePath& path, bool cpuAccess = false);
void loadCPUTexture();
friend class ResourceLoader;
public:
explicit ImageResourceFile(const ImageResourceFile&) = delete;
explicit ImageResourceFile(const ImageResourceFile&&) = delete;
~ImageResourceFile() = default;
void reimport() override;
const Ref<GPUTexture> getGPUTexture() { return m_GPUImageTexture; }
const Ref<CPUTexture> getCPUTexture() { return m_CPUImageTexture; }
unsigned int getWidth() const { return m_GPUImageTexture->getWidth(); }
unsigned int getHeight() const { return m_GPUImageTexture->getHeight(); }
void setCPUAccess(bool cpuAccess);
bool isCPUAccess() { return m_IsCPUAccess; };
void uploadCPUTexturetoGPU();
};