Is it possible to achieve an transparency effect where fragments with alpha lower than 0.5 are discarded and fragments with alpha higher than 0.5 are rendered rendered opaque? From what I've read,
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GREATER, 0.5);
would be what I'm looking for but unfort...
when you kill them that way, you don't have to pay fragment shader and fillrate cost for them
and when you disable the Z-buffer there is a savings, using depth buffering makes every pixel cost more fillrate
and you might be tempted to think "it's just 2D, it'll be fine" but actually fill rate is usually what gets used up first
and a 2D app has just as many pixels to fill as a 3D app
and, a 2D app is usually in an even worse situation because there's so much alpha blending and so much overdraw (drawing one thing, then drawing something else over top of it)