fix issue with uninitialised modelview matrix if fbo did not begin() with setupScreen==true

by default an ofFbo begins with setupScreen==true, which means it's setupscreen method will be called when the fbo begins. This method will also initialise the modelview matrix uniforms for the default shader for that fbo.

if the ofFbo is started with begin(false) the modelview matrix values will remain un-initialised. This can lead to difficult to debug issues, since as soon as the internal matrix stack gets touched through any matrix operation, anything will look like normal.

This issue will only appear if you do the following:

myFbo.begin(false);
ofPushMatrix();
// the following line will not draw as expected, since modelView Matrix not yet submitted to shader
ofDrawGridPlane(1000, 20, false);
ofTranslate(10,10,10);
// from here on, anything draws as expected.
ofRotate(0,1,0,0);
ofDrawSphere();
ofPopMatrix();

This PR fixes this issue by submitting the matrix stack initially, when we set the fbo as our current render target.

This PR might have a positive impact on #2593

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>
Merge pull request #2692 from tgfrerer/fix-fbo-initial-matrix-upload

fix critical ModelViewMatrix issue when ofFbo::begin(setupScreen==false)