verus/Verus/src/CGI/TextureRAM.h

28 lines
678 B
C++

#pragma once
namespace verus
{
namespace CGI
{
class TextureRAM : public BaseTexture
{
Vector<BYTE> _vBuffer;
public:
TextureRAM();
virtual ~TextureRAM() override;
virtual void Init(RcTextureDesc desc) override;
virtual void Done() override;
virtual void UpdateSubresource(const void* p, int mipLevel, int arrayLayer, PBaseCommandBuffer pCB) override;
virtual bool ReadbackSubresource(void* p, bool recordCopyCommand, PBaseCommandBuffer pCB) override;
virtual void GenerateMips(PBaseCommandBuffer pCB) override;
const BYTE* GetData() const { VERUS_RT_ASSERT(IsLoaded()); return _vBuffer.data(); }
};
VERUS_TYPEDEFS(TextureRAM);
}
}