mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 16:18:05 +02:00
Tweak the tv 3d manager to get around apparent GCC bug
This commit is contained in:
parent
b29fbfe693
commit
44238d02ae
2 changed files with 5 additions and 5 deletions
|
@ -122,8 +122,9 @@ void TV3DManager::display(Camera& whichCamera) {
|
||||||
qApp->displaySide(eyeCamera, false, RenderArgs::MONO);
|
qApp->displaySide(eyeCamera, false, RenderArgs::MONO);
|
||||||
qApp->getApplicationOverlay().displayOverlayTextureStereo(whichCamera, _aspect, fov);
|
qApp->getApplicationOverlay().displayOverlayTextureStereo(whichCamera, _aspect, fov);
|
||||||
_activeEye = NULL;
|
_activeEye = NULL;
|
||||||
}, [&]{
|
|
||||||
// render right side view
|
// HACK: the gcc compiler didn't like a pair of lambdas in the forEachEye template
|
||||||
|
// Adjust viewport for next view
|
||||||
portalX = deviceSize.width() / 2;
|
portalX = deviceSize.width() / 2;
|
||||||
});
|
});
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
|
|
|
@ -49,10 +49,9 @@ private:
|
||||||
// while the second is code to be executed between the two eyes.
|
// while the second is code to be executed between the two eyes.
|
||||||
// The use case here is to modify the output viewport coordinates
|
// The use case here is to modify the output viewport coordinates
|
||||||
// for the new eye.
|
// for the new eye.
|
||||||
template<typename F, typename FF>
|
template<typename F>
|
||||||
static void forEachEye(F f, FF ff = []{}) {
|
static void forEachEye(F f) {
|
||||||
f(_leftEye);
|
f(_leftEye);
|
||||||
ff();
|
|
||||||
f(_rightEye);
|
f(_rightEye);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue