Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/armadillu/ofxProgressiveTextureLoad
OpenFrameworks addon to load textures progressively, across several frames, without blocking the app - with our without mipmaps
https://github.com/armadillu/ofxProgressiveTextureLoad
Last synced: 5 days ago
JSON representation
OpenFrameworks addon to load textures progressively, across several frames, without blocking the app - with our without mipmaps
- Host: GitHub
- URL: https://github.com/armadillu/ofxProgressiveTextureLoad
- Owner: armadillu
- Created: 2014-09-17T15:25:42.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2020-12-01T21:50:29.000Z (almost 4 years ago)
- Last Synced: 2024-08-01T17:18:41.432Z (3 months ago)
- Language: C++
- Homepage:
- Size: 35.3 MB
- Stars: 12
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# ofxProgressiveTextureLoad
[![Build Status](https://travis-ci.org/armadillu/ofxProgressiveTextureLoad.svg?branch=master)](https://travis-ci.org/armadillu/ofxProgressiveTextureLoad)
[![Build status](https://ci.appveyor.com/api/projects/status/2kx6dm9iykkmr7m2/branch/master?svg=true)](https://ci.appveyor.com/project/armadillu/ofxprogressivetextureload/branch/master)OpenFrameworks add-on to load grayscale, RGB and RGBA textures (with mipmaps) without blocking the app, load them to CPU on a background thread, resize to fit power or two requirements for mipmaps, resize and prepare all mipmaps levels, and progressively upload that data to the GPU across several frames.
Useful to load very large images... All this while keeping interactive frame rates.
You get notified when the texture is drawable (so that you can start drawing a low res version of it) and you will also get notified when its fully loaded.
also loads textures with no mipmaps.
There's a helper class to help handle a scenario where several simultaneous requests might happen, allowing only N of them to be loaded at the same time.
See the examples for more info.
[demo video](http://youtu.be/aQISt4ruskA)
Requires ofxOpenCV for image resizing, example uses ofxHistoryPlot and ofxTimeMeasurements to track performance, but they are not necessary.
## Notes
On Windows, if using an Nvidia GPU, make sure you go to the Nvidia Driver Settings >> Manage 3D Settings and set "Threaded Optimization" to OFF. Otherwise performance will be greatly reduced.
License
-------
MITCompatibility
------------
tested on 0F >=0.8.3Known issues
------------Version history
------------