2 #ifndef _YI_TEXTURE_ATLAS_H_ 3 #define _YI_TEXTURE_ATLAS_H_ 10 #include <glm/gtc/type_ptr.hpp> 59 bool CreateNewAtlas(uint32_t unWidth, uint32_t unHeight, uint32_t unPages);
76 const std::shared_ptr<CYIBitmap>
GetBitmap()
const;
79 const std::vector<glm::ivec4> *
GetNodes(uint32_t unPage)
const;
82 virtual std::shared_ptr<CYIAssetTexture>
GetGLTexture()
const;
118 int32_t
Fit(uint32_t unPage, uint32_t unIndex, int32_t nWidth, int32_t nHeight);
119 void Merge(uint32_t unPage);
136 #endif // _YI_TEXTURE_ATLAS_H_ virtual ~CYITextureAtlas()
Definition: YiAssetTextureBase.h:59
std::shared_ptr< CYIBitmap > m_Image
Definition: YiTextureAtlas.h:122
Definition: YiPredef.h:234
Definition: YiTextureAtlas.h:37
void * pReference
Definition: YiTextureAtlas.h:23
const CYIString & GetName() const
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
uint32_t unRefCount
Definition: YiTextureAtlas.h:33
int32_t nWidth
Definition: YiTextureAtlas.h:27
float fUV_T1
Definition: YiTextureAtlas.h:32
Class for a texture atlas.
Definition: YiTextureAtlas.h:53
virtual void SetRegion(ssize_t ID, void *pReference, YI_REGION Region, const uint8_t *data, const int32_t nStride)
YI_TEXTURE_WRAP
Definition: YiAssetTextureBase.h:40
void Merge(uint32_t unPage)
uint32_t m_unLastUpdatedSize
Definition: YiTextureAtlas.h:131
int32_t nStartY
Definition: YiTextureAtlas.h:26
Definition: YiTextureAtlas.h:42
int32_t m_nWidth
Definition: YiTextureAtlas.h:126
virtual YI_TEXTURE_DETAILS * GetTexture(ssize_t ID, void *pReference)
void SetName(const CYIString &name)
uint32_t unPage
Definition: YiTextureAtlas.h:45
void SetTextureFilter(CYIAssetTexture::YI_MIN_MAG_FILTER minificationFilter, CYIAssetTexture::YI_MIN_MAG_FILTER magnificationFilter)
CYIAssetTexture::YI_TEXTURE_CONFIG m_textureConfiguration
Definition: YiTextureAtlas.h:129
const std::shared_ptr< CYIAssetTexture > GetTextureAsset()
Definition: YiTextureAtlas.h:84
uint32_t m_unPages
Definition: YiTextureAtlas.h:128
YI_RECT_REL Area
Definition: YiTextureAtlas.h:44
ssize_t ID
Definition: YiTextureAtlas.h:22
CYIString m_name
Definition: YiTextureAtlas.h:121
YI_MIN_MAG_FILTER
Definition: YiAssetTextureBase.h:30
float fUV_S0
Definition: YiTextureAtlas.h:29
bool RenderAtlasToPng(const CYIString &filePath) const
float fUV_T0
Definition: YiTextureAtlas.h:30
int32_t nHeight
Definition: YiTextureAtlas.h:28
int32_t Fit(uint32_t unPage, uint32_t unIndex, int32_t nWidth, int32_t nHeight)
YI_LOADED_TEXTURES m_Textures
Definition: YiTextureAtlas.h:125
YI_REGION GetRegion(int32_t nWidth, int32_t nHeight)
bool CreateNewAtlas(uint32_t unWidth, uint32_t unHeight, uint32_t unPages)
const std::shared_ptr< CYIBitmap > GetBitmap() const
int32_t nStartX
Definition: YiTextureAtlas.h:25
bool bValid
Definition: YiTextureAtlas.h:46
YI_LOADED_TEXTURES * GetLoadedTextures()
int ssize_t
Definition: YiPredefWin32.h:133
std::vector< glm::ivec4 > m_Nodes[4]
Definition: YiTextureAtlas.h:123
std::shared_ptr< CYIAssetTexture > m_pTextureAsset
Definition: YiTextureAtlas.h:124
float GetAtlasPercentageUsed() const
uint32_t unPage
Definition: YiTextureAtlas.h:24
uint32_t m_unPixelsUsed
Definition: YiTextureAtlas.h:130
std::vector< YI_TEXTURE_DETAILS > Textures
Definition: YiTextureAtlas.h:39
virtual std::shared_ptr< CYIAssetTexture > GetGLTexture() const
float fUV_S1
Definition: YiTextureAtlas.h:31
Definition: YiTextureAtlas.h:20
const std::vector< glm::ivec4 > * GetNodes(uint32_t unPage) const
void SetTextureWrap(CYIAssetTexture::YI_TEXTURE_WRAP wrapS, CYIAssetTexture::YI_TEXTURE_WRAP wrapT)
int32_t m_nHeight
Definition: YiTextureAtlas.h:127