glTexStorage2D 用于 OpenGL ES 3.0 中的 alpha 纹理?

glTexStorage2D for alpha texture in OpenGL ES 3.0?

在 OpenGL ES 2.0 中,当 GL_EXT_texture_storage 扩展可用时,我使用 glTexStorage2DEXT(GL_TEXTURE_2D, 1, ALPHA8_EXT, width, height) 为 alpha 遮罩纹理指定不可变存储。在 OpenGL ES 3.0 中,glTexStorage2D 已纳入核心规范,因此无需扩展。但看起来 OpenGL ES 3.0 中没有大小的内部 alpha 格式。 如何在新版本的 OpenGL 中执行此操作?

alpha 纹理只是一个 8 位 unorm,因此请使用 GL_R8 上传。这将通过着色器中的 "red" 通道加载,但我认为您的着色器逻辑可以处理。