I'm working on a font rendering library and the char textures just effect the alpha component with the character color being sent via a uniform variable. Since the alpha component of the texture is 8 bits and other components are unused, it makes sense to just create and send an 8-bit texture. The problem is that I am sticking with the 3.3 core profile and that means that I no longer have access to the GL_ALPHA and other 8-bit texture formats. I thought about packing four pixels into one 32-bit components, but I cannot think of a way to unpack this in the shader.
Am I stuck sending 32-bit when I need only 8 or am I missing something?