Skip to content

OpenFrameworks addon to load textures progressively, across several frames, without blocking the app - with our without mipmaps

Notifications You must be signed in to change notification settings

armadillu/ofxProgressiveTextureLoad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ofxProgressiveTextureLoad

Build Status Build status

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

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

MIT

Compatibility

tested on 0F >=0.8.3

Known issues

Version history

About

OpenFrameworks addon to load textures progressively, across several frames, without blocking the app - with our without mipmaps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published