12 #ifndef hifi_FboCache_h
13 #define hifi_FboCache_h
15 #include <QOffscreenSurface>
18 #include <QtCore/QSharedPointer>
21 class QOpenGLFramebufferObject;
23 class FboCache :
public QObject {
32 void setSize(
const QSize& newSize);
33 QOpenGLFramebufferObject* getReadyFbo();
37 void lockTexture(
int texture);
38 void releaseTexture(
int texture);
40 const QSize& getSize();
43 QMap<int, QSharedPointer<QOpenGLFramebufferObject>> _fboMap;
44 QMap<int, int> _fboLocks;
45 QQueue<QOpenGLFramebufferObject*> _readyFboQueue;
46 QQueue<QSharedPointer<QOpenGLFramebufferObject>> _destroyFboQueue;