mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-19 09:12:19 +00:00
Merge pull request #8675 from Robyt3/Graphics-Interface-Cleanup
Remove unused graphics functions, flags and command
This commit is contained in:
commit
00d941a309
|
@ -656,11 +656,6 @@ void CCommandProcessorFragment_OpenGL::TextureUpdate(int Slot, int X, int Y, int
|
||||||
free(pTexData);
|
free(pTexData);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCommandProcessorFragment_OpenGL::Cmd_Texture_Update(const CCommandBuffer::SCommand_Texture_Update *pCommand)
|
|
||||||
{
|
|
||||||
TextureUpdate(pCommand->m_Slot, pCommand->m_X, pCommand->m_Y, pCommand->m_Width, pCommand->m_Height, GL_RGBA, pCommand->m_pData);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CCommandProcessorFragment_OpenGL::DestroyTexture(int Slot)
|
void CCommandProcessorFragment_OpenGL::DestroyTexture(int Slot)
|
||||||
{
|
{
|
||||||
m_pTextureMemoryUsage->store(m_pTextureMemoryUsage->load(std::memory_order_relaxed) - m_vTextures[Slot].m_MemSize, std::memory_order_relaxed);
|
m_pTextureMemoryUsage->store(m_pTextureMemoryUsage->load(std::memory_order_relaxed) - m_vTextures[Slot].m_MemSize, std::memory_order_relaxed);
|
||||||
|
@ -1057,9 +1052,6 @@ ERunCommandReturnTypes CCommandProcessorFragment_OpenGL::RunCommand(const CComma
|
||||||
case CCommandBuffer::CMD_TEXTURE_DESTROY:
|
case CCommandBuffer::CMD_TEXTURE_DESTROY:
|
||||||
Cmd_Texture_Destroy(static_cast<const CCommandBuffer::SCommand_Texture_Destroy *>(pBaseCommand));
|
Cmd_Texture_Destroy(static_cast<const CCommandBuffer::SCommand_Texture_Destroy *>(pBaseCommand));
|
||||||
break;
|
break;
|
||||||
case CCommandBuffer::CMD_TEXTURE_UPDATE:
|
|
||||||
Cmd_Texture_Update(static_cast<const CCommandBuffer::SCommand_Texture_Update *>(pBaseCommand));
|
|
||||||
break;
|
|
||||||
case CCommandBuffer::CMD_TEXT_TEXTURES_CREATE:
|
case CCommandBuffer::CMD_TEXT_TEXTURES_CREATE:
|
||||||
Cmd_TextTextures_Create(static_cast<const CCommandBuffer::SCommand_TextTextures_Create *>(pBaseCommand));
|
Cmd_TextTextures_Create(static_cast<const CCommandBuffer::SCommand_TextTextures_Create *>(pBaseCommand));
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -89,7 +89,6 @@ protected:
|
||||||
|
|
||||||
virtual bool Cmd_Init(const SCommand_Init *pCommand);
|
virtual bool Cmd_Init(const SCommand_Init *pCommand);
|
||||||
virtual void Cmd_Shutdown(const SCommand_Shutdown *pCommand) {}
|
virtual void Cmd_Shutdown(const SCommand_Shutdown *pCommand) {}
|
||||||
virtual void Cmd_Texture_Update(const CCommandBuffer::SCommand_Texture_Update *pCommand);
|
|
||||||
virtual void Cmd_Texture_Destroy(const CCommandBuffer::SCommand_Texture_Destroy *pCommand);
|
virtual void Cmd_Texture_Destroy(const CCommandBuffer::SCommand_Texture_Destroy *pCommand);
|
||||||
virtual void Cmd_Texture_Create(const CCommandBuffer::SCommand_Texture_Create *pCommand);
|
virtual void Cmd_Texture_Create(const CCommandBuffer::SCommand_Texture_Create *pCommand);
|
||||||
virtual void Cmd_TextTexture_Update(const CCommandBuffer::SCommand_TextTexture_Update *pCommand);
|
virtual void Cmd_TextTexture_Update(const CCommandBuffer::SCommand_TextTexture_Update *pCommand);
|
||||||
|
|
|
@ -505,11 +505,6 @@ void CCommandProcessorFragment_OpenGL3_3::TextureUpdate(int Slot, int X, int Y,
|
||||||
free(pTexData);
|
free(pTexData);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCommandProcessorFragment_OpenGL3_3::Cmd_Texture_Update(const CCommandBuffer::SCommand_Texture_Update *pCommand)
|
|
||||||
{
|
|
||||||
TextureUpdate(pCommand->m_Slot, pCommand->m_X, pCommand->m_Y, pCommand->m_Width, pCommand->m_Height, GL_RGBA, pCommand->m_pData);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CCommandProcessorFragment_OpenGL3_3::Cmd_Texture_Destroy(const CCommandBuffer::SCommand_Texture_Destroy *pCommand)
|
void CCommandProcessorFragment_OpenGL3_3::Cmd_Texture_Destroy(const CCommandBuffer::SCommand_Texture_Destroy *pCommand)
|
||||||
{
|
{
|
||||||
int Slot = 0;
|
int Slot = 0;
|
||||||
|
|
|
@ -82,7 +82,6 @@ protected:
|
||||||
|
|
||||||
bool Cmd_Init(const SCommand_Init *pCommand) override;
|
bool Cmd_Init(const SCommand_Init *pCommand) override;
|
||||||
void Cmd_Shutdown(const SCommand_Shutdown *pCommand) override;
|
void Cmd_Shutdown(const SCommand_Shutdown *pCommand) override;
|
||||||
void Cmd_Texture_Update(const CCommandBuffer::SCommand_Texture_Update *pCommand) override;
|
|
||||||
void Cmd_Texture_Destroy(const CCommandBuffer::SCommand_Texture_Destroy *pCommand) override;
|
void Cmd_Texture_Destroy(const CCommandBuffer::SCommand_Texture_Destroy *pCommand) override;
|
||||||
void Cmd_Texture_Create(const CCommandBuffer::SCommand_Texture_Create *pCommand) override;
|
void Cmd_Texture_Create(const CCommandBuffer::SCommand_Texture_Create *pCommand) override;
|
||||||
void Cmd_TextTexture_Update(const CCommandBuffer::SCommand_TextTexture_Update *pCommand) override;
|
void Cmd_TextTexture_Update(const CCommandBuffer::SCommand_TextTexture_Update *pCommand) override;
|
||||||
|
|
|
@ -1263,7 +1263,6 @@ protected:
|
||||||
{
|
{
|
||||||
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXTURE_CREATE)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_Texture_Create(static_cast<const CCommandBuffer::SCommand_Texture_Create *>(pBaseCommand)); }};
|
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXTURE_CREATE)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_Texture_Create(static_cast<const CCommandBuffer::SCommand_Texture_Create *>(pBaseCommand)); }};
|
||||||
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXTURE_DESTROY)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_Texture_Destroy(static_cast<const CCommandBuffer::SCommand_Texture_Destroy *>(pBaseCommand)); }};
|
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXTURE_DESTROY)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_Texture_Destroy(static_cast<const CCommandBuffer::SCommand_Texture_Destroy *>(pBaseCommand)); }};
|
||||||
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXTURE_UPDATE)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_Texture_Update(static_cast<const CCommandBuffer::SCommand_Texture_Update *>(pBaseCommand)); }};
|
|
||||||
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXT_TEXTURES_CREATE)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_TextTextures_Create(static_cast<const CCommandBuffer::SCommand_TextTextures_Create *>(pBaseCommand)); }};
|
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXT_TEXTURES_CREATE)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_TextTextures_Create(static_cast<const CCommandBuffer::SCommand_TextTextures_Create *>(pBaseCommand)); }};
|
||||||
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXT_TEXTURES_DESTROY)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_TextTextures_Destroy(static_cast<const CCommandBuffer::SCommand_TextTextures_Destroy *>(pBaseCommand)); }};
|
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXT_TEXTURES_DESTROY)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_TextTextures_Destroy(static_cast<const CCommandBuffer::SCommand_TextTextures_Destroy *>(pBaseCommand)); }};
|
||||||
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXT_TEXTURE_UPDATE)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_TextTexture_Update(static_cast<const CCommandBuffer::SCommand_TextTexture_Update *>(pBaseCommand)); }};
|
m_aCommandCallbacks[CommandBufferCMDOff(CCommandBuffer::CMD_TEXT_TEXTURE_UPDATE)] = {false, [](SRenderCommandExecuteBuffer &ExecBuffer, const CCommandBuffer::SCommand *pBaseCommand) {}, [this](const CCommandBuffer::SCommand *pBaseCommand, SRenderCommandExecuteBuffer &ExecBuffer) { return Cmd_TextTexture_Update(static_cast<const CCommandBuffer::SCommand_TextTexture_Update *>(pBaseCommand)); }};
|
||||||
|
@ -6631,19 +6630,6 @@ public:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] bool Cmd_Texture_Update(const CCommandBuffer::SCommand_Texture_Update *pCommand)
|
|
||||||
{
|
|
||||||
size_t IndexTex = pCommand->m_Slot;
|
|
||||||
uint8_t *pData = pCommand->m_pData;
|
|
||||||
|
|
||||||
if(!UpdateTexture(IndexTex, VK_FORMAT_B8G8R8A8_UNORM, pData, pCommand->m_X, pCommand->m_Y, pCommand->m_Width, pCommand->m_Height))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
free(pData);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
[[nodiscard]] bool Cmd_Texture_Destroy(const CCommandBuffer::SCommand_Texture_Destroy *pCommand)
|
[[nodiscard]] bool Cmd_Texture_Destroy(const CCommandBuffer::SCommand_Texture_Destroy *pCommand)
|
||||||
{
|
{
|
||||||
size_t ImageIndex = (size_t)pCommand->m_Slot;
|
size_t ImageIndex = (size_t)pCommand->m_Slot;
|
||||||
|
|
|
@ -288,17 +288,16 @@ void CGraphics_Threaded::FreeTextureIndex(CTextureHandle *pIndex)
|
||||||
pIndex->Invalidate();
|
pIndex->Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
int CGraphics_Threaded::UnloadTexture(CTextureHandle *pIndex)
|
void CGraphics_Threaded::UnloadTexture(CTextureHandle *pIndex)
|
||||||
{
|
{
|
||||||
if(pIndex->IsNullTexture() || !pIndex->IsValid())
|
if(pIndex->IsNullTexture() || !pIndex->IsValid())
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
CCommandBuffer::SCommand_Texture_Destroy Cmd;
|
CCommandBuffer::SCommand_Texture_Destroy Cmd;
|
||||||
Cmd.m_Slot = pIndex->Id();
|
Cmd.m_Slot = pIndex->Id();
|
||||||
AddCmd(Cmd);
|
AddCmd(Cmd);
|
||||||
|
|
||||||
FreeTextureIndex(pIndex);
|
FreeTextureIndex(pIndex);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool ConvertToRGBA(uint8_t *pDest, const CImageInfo &SrcImage)
|
static bool ConvertToRGBA(uint8_t *pDest, const CImageInfo &SrcImage)
|
||||||
|
@ -337,25 +336,6 @@ static bool ConvertToRGBA(uint8_t *pDest, const CImageInfo &SrcImage)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int CGraphics_Threaded::LoadTextureRawSub(CTextureHandle TextureId, int x, int y, const CImageInfo &Image)
|
|
||||||
{
|
|
||||||
dbg_assert(TextureId.IsValid(), "Invalid texture handle used with LoadTextureRawSub.");
|
|
||||||
|
|
||||||
CCommandBuffer::SCommand_Texture_Update Cmd;
|
|
||||||
Cmd.m_Slot = TextureId.Id();
|
|
||||||
Cmd.m_X = x;
|
|
||||||
Cmd.m_Y = y;
|
|
||||||
Cmd.m_Width = Image.m_Width;
|
|
||||||
Cmd.m_Height = Image.m_Height;
|
|
||||||
|
|
||||||
uint8_t *pTmpData = static_cast<uint8_t *>(malloc(Image.m_Width * Image.m_Height * CImageInfo::PixelSize(CImageInfo::FORMAT_RGBA)));
|
|
||||||
ConvertToRGBA(pTmpData, Image);
|
|
||||||
Cmd.m_pData = pTmpData;
|
|
||||||
AddCmd(Cmd);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
IGraphics::CTextureHandle CGraphics_Threaded::LoadSpriteTextureImpl(const CImageInfo &FromImageInfo, int x, int y, size_t w, size_t h, const char *pName)
|
IGraphics::CTextureHandle CGraphics_Threaded::LoadSpriteTextureImpl(const CImageInfo &FromImageInfo, int x, int y, size_t w, size_t h, const char *pName)
|
||||||
{
|
{
|
||||||
m_vSpriteHelper.resize(w * h * FromImageInfo.PixelSize());
|
m_vSpriteHelper.resize(w * h * FromImageInfo.PixelSize());
|
||||||
|
@ -434,8 +414,6 @@ static CCommandBuffer::SCommand_Texture_Create LoadTextureCreateCommand(int Text
|
||||||
Cmd.m_Height = Height;
|
Cmd.m_Height = Height;
|
||||||
|
|
||||||
Cmd.m_Flags = 0;
|
Cmd.m_Flags = 0;
|
||||||
if(Flags & IGraphics::TEXLOAD_NOMIPMAPS)
|
|
||||||
Cmd.m_Flags |= CCommandBuffer::TEXFLAG_NOMIPMAPS;
|
|
||||||
if((Flags & IGraphics::TEXLOAD_TO_2D_ARRAY_TEXTURE) != 0)
|
if((Flags & IGraphics::TEXLOAD_TO_2D_ARRAY_TEXTURE) != 0)
|
||||||
Cmd.m_Flags |= CCommandBuffer::TEXFLAG_TO_2D_ARRAY_TEXTURE;
|
Cmd.m_Flags |= CCommandBuffer::TEXFLAG_TO_2D_ARRAY_TEXTURE;
|
||||||
if((Flags & IGraphics::TEXLOAD_TO_3D_TEXTURE) != 0)
|
if((Flags & IGraphics::TEXLOAD_TO_3D_TEXTURE) != 0)
|
||||||
|
@ -514,11 +492,6 @@ IGraphics::CTextureHandle CGraphics_Threaded::LoadTexture(const char *pFilename,
|
||||||
return m_NullTexture;
|
return m_NullTexture;
|
||||||
}
|
}
|
||||||
|
|
||||||
IGraphics::CTextureHandle CGraphics_Threaded::NullTexture() const
|
|
||||||
{
|
|
||||||
return m_NullTexture;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CGraphics_Threaded::LoadTextTextures(size_t Width, size_t Height, CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture, uint8_t *pTextData, uint8_t *pTextOutlineData)
|
bool CGraphics_Threaded::LoadTextTextures(size_t Width, size_t Height, CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture, uint8_t *pTextData, uint8_t *pTextOutlineData)
|
||||||
{
|
{
|
||||||
if(Width == 0 || Height == 0)
|
if(Width == 0 || Height == 0)
|
||||||
|
|
|
@ -93,7 +93,6 @@ public:
|
||||||
// texture commands
|
// texture commands
|
||||||
CMD_TEXTURE_CREATE,
|
CMD_TEXTURE_CREATE,
|
||||||
CMD_TEXTURE_DESTROY,
|
CMD_TEXTURE_DESTROY,
|
||||||
CMD_TEXTURE_UPDATE,
|
|
||||||
CMD_TEXT_TEXTURES_CREATE,
|
CMD_TEXT_TEXTURES_CREATE,
|
||||||
CMD_TEXT_TEXTURES_DESTROY,
|
CMD_TEXT_TEXTURES_DESTROY,
|
||||||
CMD_TEXT_TEXTURE_UPDATE,
|
CMD_TEXT_TEXTURE_UPDATE,
|
||||||
|
@ -532,22 +531,6 @@ public:
|
||||||
uint8_t *m_pData; // will be freed by the command processor
|
uint8_t *m_pData; // will be freed by the command processor
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SCommand_Texture_Update : public SCommand
|
|
||||||
{
|
|
||||||
SCommand_Texture_Update() :
|
|
||||||
SCommand(CMD_TEXTURE_UPDATE) {}
|
|
||||||
|
|
||||||
// texture information
|
|
||||||
int m_Slot;
|
|
||||||
|
|
||||||
int m_X;
|
|
||||||
int m_Y;
|
|
||||||
size_t m_Width;
|
|
||||||
size_t m_Height;
|
|
||||||
// data must be in RGBA format
|
|
||||||
uint8_t *m_pData; // will be freed by the command processor
|
|
||||||
};
|
|
||||||
|
|
||||||
struct SCommand_Texture_Destroy : public SCommand
|
struct SCommand_Texture_Destroy : public SCommand
|
||||||
{
|
{
|
||||||
SCommand_Texture_Destroy() :
|
SCommand_Texture_Destroy() :
|
||||||
|
@ -963,11 +946,9 @@ public:
|
||||||
|
|
||||||
IGraphics::CTextureHandle FindFreeTextureIndex();
|
IGraphics::CTextureHandle FindFreeTextureIndex();
|
||||||
void FreeTextureIndex(CTextureHandle *pIndex);
|
void FreeTextureIndex(CTextureHandle *pIndex);
|
||||||
int UnloadTexture(IGraphics::CTextureHandle *pIndex) override;
|
void UnloadTexture(IGraphics::CTextureHandle *pIndex) override;
|
||||||
IGraphics::CTextureHandle LoadTextureRaw(const CImageInfo &Image, int Flags, const char *pTexName = nullptr) override;
|
IGraphics::CTextureHandle LoadTextureRaw(const CImageInfo &Image, int Flags, const char *pTexName = nullptr) override;
|
||||||
IGraphics::CTextureHandle LoadTextureRawMove(CImageInfo &Image, int Flags, const char *pTexName = nullptr) override;
|
IGraphics::CTextureHandle LoadTextureRawMove(CImageInfo &Image, int Flags, const char *pTexName = nullptr) override;
|
||||||
int LoadTextureRawSub(IGraphics::CTextureHandle TextureId, int x, int y, const CImageInfo &Image) override;
|
|
||||||
IGraphics::CTextureHandle NullTexture() const override;
|
|
||||||
|
|
||||||
bool LoadTextTextures(size_t Width, size_t Height, CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture, uint8_t *pTextData, uint8_t *pTextOutlineData) override;
|
bool LoadTextTextures(size_t Width, size_t Height, CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture, uint8_t *pTextData, uint8_t *pTextOutlineData) override;
|
||||||
bool UnloadTextTextures(CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture) override;
|
bool UnloadTextTextures(CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture) override;
|
||||||
|
|
|
@ -250,11 +250,9 @@ protected:
|
||||||
public:
|
public:
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
TEXLOAD_NOMIPMAPS = 1 << 1,
|
TEXLOAD_TO_3D_TEXTURE = 1 << 0,
|
||||||
TEXLOAD_NO_COMPRESSION = 1 << 2,
|
TEXLOAD_TO_2D_ARRAY_TEXTURE = 1 << 1,
|
||||||
TEXLOAD_TO_3D_TEXTURE = (1 << 3),
|
TEXLOAD_NO_2D_TEXTURE = 1 << 2,
|
||||||
TEXLOAD_TO_2D_ARRAY_TEXTURE = (1 << 4),
|
|
||||||
TEXLOAD_NO_2D_TEXTURE = (1 << 5),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class CTextureHandle
|
class CTextureHandle
|
||||||
|
@ -340,12 +338,10 @@ public:
|
||||||
// destination width must be equal to the subwidth of the source
|
// destination width must be equal to the subwidth of the source
|
||||||
virtual void CopyTextureFromTextureBufferSub(uint8_t *pDestBuffer, size_t DestWidth, size_t DestHeight, const CImageInfo &SourceImage, size_t SrcSubOffsetX, size_t SrcSubOffsetY, size_t SrcSubCopyWidth, size_t SrcSubCopyHeight) = 0;
|
virtual void CopyTextureFromTextureBufferSub(uint8_t *pDestBuffer, size_t DestWidth, size_t DestHeight, const CImageInfo &SourceImage, size_t SrcSubOffsetX, size_t SrcSubOffsetY, size_t SrcSubCopyWidth, size_t SrcSubCopyHeight) = 0;
|
||||||
|
|
||||||
virtual int UnloadTexture(CTextureHandle *pIndex) = 0;
|
virtual void UnloadTexture(CTextureHandle *pIndex) = 0;
|
||||||
virtual CTextureHandle LoadTextureRaw(const CImageInfo &Image, int Flags, const char *pTexName = nullptr) = 0;
|
virtual CTextureHandle LoadTextureRaw(const CImageInfo &Image, int Flags, const char *pTexName = nullptr) = 0;
|
||||||
virtual CTextureHandle LoadTextureRawMove(CImageInfo &Image, int Flags, const char *pTexName = nullptr) = 0;
|
virtual CTextureHandle LoadTextureRawMove(CImageInfo &Image, int Flags, const char *pTexName = nullptr) = 0;
|
||||||
virtual int LoadTextureRawSub(CTextureHandle TextureId, int x, int y, const CImageInfo &Image) = 0;
|
|
||||||
virtual CTextureHandle LoadTexture(const char *pFilename, int StorageType, int Flags = 0) = 0;
|
virtual CTextureHandle LoadTexture(const char *pFilename, int StorageType, int Flags = 0) = 0;
|
||||||
virtual CTextureHandle NullTexture() const = 0;
|
|
||||||
virtual void TextureSet(CTextureHandle Texture) = 0;
|
virtual void TextureSet(CTextureHandle Texture) = 0;
|
||||||
void TextureClear() { TextureSet(CTextureHandle()); }
|
void TextureClear() { TextureSet(CTextureHandle()); }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue