Ответ, кажется, многопоточный.Это работает так с Cinder:
void MyApp::setup()
{
thread(&MyApp::processFrame, this);
}
void MyApp::processFrame()
{
// TODO define mFrameTemp here
// Copy to the texture which we'll actually render
mFrame = mFrameTemp;
}
void MyApp::draw()
{
if (mFrame)
gl::draw(mFrame, mFrame.getBounds());
}