![]() |
Public API Reference |
![]() |
Cache for caching precreated textures. More...
#include <csplugincommon/rendermanager/texturecache.h>
Public Types | |
enum | { tcacheExactSizeMatch = 1, tcachePowerOfTwo = 2 } |
Options for querying textures. More... | |
Public Member Functions | |
void | AdvanceFrame (csTicks currentTime) |
Do per-frame house keeping - MUST be called every frame/ RenderView() execution. | |
void | Clear () |
Remove all textures in the cache. | |
const char * | GetClass () const |
Return class of textures created by a cache. | |
int | GetFlags () const |
Return flags of textures created by a cache. | |
const char * | GetFormat () const |
Return format of textures created by a cache. | |
iTextureHandle * | QueryUnusedTexture (int width, int height, int &real_w, int &real_h) |
Get a texture with size that is at least width x height (or exactly that size if the tcacheExactSizeMatch option is set). | |
iTextureHandle * | QueryUnusedTexture (int width, int height) |
Get a texture with size that is at least width x height (or exactly that size if the tcacheExactSizeMatch option is set). | |
void | SetClass (const char *texClass) |
Set class of textures created by a cache. | |
void | SetFlags (int flags) |
Set flags of textures created by a cache. | |
void | SetFormat (const char *format) |
Set format of textures created by a cache. | |
void | SetG3D (iGraphics3D *g3d) |
Set iGraphics3D to use. | |
TextureCacheT (csImageType imgtype, const char *format, int textureFlags, const char *texClass, uint options, const ReuseCondition &reuse=CS::Utility::ResourceCache::ReuseConditionAfterTime< uint >(), const PurgeCondition &purge=CS::Utility::ResourceCache::PurgeConditionAfterTime< uint >(10000)) | |
Construct texture cache. |
Cache for caching precreated textures.
When a texture is needed somewhere, the texture cache will either return an existing textures which can be used, if available, or create a new texture. Texture format, flags and size requirements can be user-controlled. Before first use, SetG3D() has to be called.
The template arguments ReuseCondition controls when a texture can be reused, PurgeCondition controls when it's purged (ie completely freed). The requirements are the same as for GenericResourceCache.
Definition at line 118 of file texturecache.h.
anonymous enum |
Options for querying textures.
tcacheExactSizeMatch |
The sizes of returned textures should exactly fit the requested size. If not set, a larger texture may be returned. |
tcachePowerOfTwo |
The textures created should have power of two dimensions. This flag is stronger than tcacheExactSizeMatch: returned textures will always have power of two dimensions, even though it may mean non-exact sizes. |
Definition at line 122 of file texturecache.h.
CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::TextureCacheT | ( | csImageType | imgtype, |
const char * | format, | ||
int | textureFlags, | ||
const char * | texClass, | ||
uint | options, | ||
const ReuseCondition & | reuse = CS::Utility::ResourceCache::ReuseConditionAfterTime<uint> () , |
||
const PurgeCondition & | purge = CS::Utility::ResourceCache::PurgeConditionAfterTime<uint> (10000) |
||
) | [inline] |
Construct texture cache.
imgtype | Image type of textures to create. |
format | Format of textures to create. |
textureFlags | Flags of textures to create. |
texClass | Class of textures to create. |
options | Options for cache behaviour when querying textures. Can be tcacheExactSizeMatch, tcachePowerOfTwo. |
reuse | Options for the reuse condition to use. |
purge | Options for the purge condition to use. |
Definition at line 150 of file texturecache.h.
void CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::AdvanceFrame | ( | csTicks | currentTime | ) | [inline] |
Do per-frame house keeping - MUST be called every frame/ RenderView() execution.
Definition at line 182 of file texturecache.h.
void CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::Clear | ( | ) | [inline] |
Remove all textures in the cache.
Definition at line 173 of file texturecache.h.
const char* CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::GetClass | ( | ) | const [inline] |
Return class of textures created by a cache.
Definition at line 241 of file texturecache.h.
int CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::GetFlags | ( | ) | const [inline] |
Return flags of textures created by a cache.
Definition at line 239 of file texturecache.h.
const char* CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::GetFormat | ( | ) | const [inline] |
Return format of textures created by a cache.
Definition at line 237 of file texturecache.h.
iTextureHandle* CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::QueryUnusedTexture | ( | int | width, |
int | height, | ||
int & | real_w, | ||
int & | real_h | ||
) | [inline] |
Get a texture with size that is at least width x height (or exactly that size if the tcacheExactSizeMatch option is set).
The real size of the texture acquired is stored in real_w and real_h.
Definition at line 193 of file texturecache.h.
iTextureHandle* CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::QueryUnusedTexture | ( | int | width, |
int | height | ||
) | [inline] |
Get a texture with size that is at least width x height (or exactly that size if the tcacheExactSizeMatch option is set).
Definition at line 230 of file texturecache.h.
void CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::SetClass | ( | const char * | texClass | ) | [inline] |
Set class of textures created by a cache.
Definition at line 265 of file texturecache.h.
void CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::SetFlags | ( | int | flags | ) | [inline] |
Set flags of textures created by a cache.
Definition at line 256 of file texturecache.h.
void CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::SetFormat | ( | const char * | format | ) | [inline] |
Set format of textures created by a cache.
Definition at line 247 of file texturecache.h.
void CS::RenderManager::TextureCacheT< ReuseCondition, PurgeCondition >::SetG3D | ( | iGraphics3D * | g3d | ) | [inline] |
Set iGraphics3D to use.
Definition at line 165 of file texturecache.h.