Hi there, just wondering if anything notable changed in v0.9.2 (compared to 0.9.1) with respect to text drawing. In some parts of my application, I am using gl::drawString() with a ci::Font passed in, and I don’t see anything now (rendering to an FBO). On the other hand, text seems to render fine in other parts of my application, where I’m using a ci::TextLayout to render it to a Texture.
It’s likely something specific to my application, but thought I’d ask just in case… The only change I made was to upgrade Cinder versions (on Windows 10).
Just as a follow-up, it does seem to work if I create a gl::TextureFontRef myself, and call texFont->drawString() rather than gl::drawString(). But same question still applies: did something change with the default drawString()?
Aha! Another follow-up…this “solves” my problem – though not sure what changed from 0.9.1 to 0.9.2 to cause it (a different default?).
The difference is to do with depth testing. My code drew the text properly before, but doesn’t with v0.9.2. It seems this is because the depth buffer is enabled (maybe it wasn’t by default previously? or not in a bound FBO?), or maybe the depth testing function changed (LEQUAL vs LESS or something?). Anyhow, I’m drawing in “2D”, so the depth is the same (first I drawSolidRect(), then drawString() – now the box is drawing but not the text on top).
So with this fix – turn off depth testing – it resumes functioning as before: