Added array texture factory method (OGL only right now)

This commit is contained in:
Jack Andersen
2015-11-22 22:49:53 -10:00
parent 99b4f155e3
commit 8682485dea
3 changed files with 42 additions and 0 deletions

View File

@@ -31,6 +31,8 @@ public:
const void* data, size_t sz);
ITextureS* newStaticTexture(size_t width, size_t height, size_t mips, TextureFormat fmt,
std::unique_ptr<uint8_t[]>&& data, size_t sz);
ITextureS* newStaticArrayTexture(size_t width, size_t height, size_t layers, TextureFormat fmt,
const void* data, size_t sz);
ITextureD* newDynamicTexture(size_t width, size_t height, TextureFormat fmt);
ITextureR* newRenderTexture(size_t width, size_t height, size_t samples);

View File

@@ -87,6 +87,7 @@ protected:
enum class TextureFormat
{
RGBA8,
I8,
DXT1,
PVRTC4
};
@@ -180,6 +181,9 @@ struct IGraphicsDataFactory
virtual ITextureS*
newStaticTexture(size_t width, size_t height, size_t mips, TextureFormat fmt,
std::unique_ptr<uint8_t[]>&& data, size_t sz)=0;
virtual ITextureS*
newStaticArrayTexture(size_t width, size_t height, size_t layers, TextureFormat fmt,
const void* data, size_t sz)=0;
virtual ITextureD*
newDynamicTexture(size_t width, size_t height, TextureFormat fmt)=0;
virtual ITextureR*