Texture Cache
A LRU texture cache for caching many small textures in a single big texture, which is stored in GPU. This is used to cache textures that are rendered at runtime and change constantly, like glyph text rendering.
This is basically a generic implementation of glyph_brush_draw_cache, excluding the rendering part and letting you to hook your own rendering.
Usage
Create a LruTextureCache and add rects by passing mutable slice of
RectEntry to the method cache_rects. A stored Rect can be queried from
the cache by passing it key to the method get_rect. Rect and RectEntry
can contain arbitrary data that could be useful for rendering from/to the
texture cache.
After passing the slice to cache_rects, it will be reorder so that it start
with every rect that was added to the cache.
use ;
let mut rects = vec!;
let mut cache = new;
let result = cache.cache_rects?;
for rect in rects
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.