I want to use an 8-bit texture as a mask. I upload the texture in GL_ALPHA format. How should I sample it? texture2D() returns a vec4 - does every component of the vec4 contain the sampled value, or only the last (.a) component?
Only the alpha component. This is how the texture formats get expanded to vec4:
GL_ALPHA (0, 0, 0, A) GL_RGB (R, G, B, 1) GL_RGBA (R, G, B, A) GL_LUMINANCE (L, L, L, 1) GL_LUMINANCE_ALPHA (L, L, L, A)
Just what I was looking for, thanks.
PS: Is this documented in the spec at all? I had a look but couldn’t find it?
Yes, it’s table 3.12 in the full spec.
Full spec you say…
:oops: I’ve been using the difference spec for all this time! Thank you, I think you’ve probably saved me from months more of frustration. I no longer have to flick between the desktop OpenGL 2.0 spec and the ES 2.0 diff spec!