Opengl es OpenGL ES 3.0中alpha纹理的glTexStorage2D?

Opengl es OpenGL ES 3.0中alpha纹理的glTexStorage2D?,opengl-es,opengl-es-2.0,opengl-es-3.0,Opengl Es,Opengl Es 2.0,Opengl Es 3.0,在OpenGL ES 2.0中,当GL_EXT_texture_存储扩展可用时,我使用glTexStorage2DEXT(GL_texture_2D,1,ALPHA8_EXT,width,height) 为alpha遮罩纹理指定不可变存储。在OpenGL ES 3.0中,glTexStorage2D被合并到核心规范中,因此不需要扩展。但OpenGLES3.0中似乎没有大小合适的内部alpha格式。 如何在新版本的OpenGL中实现这一点?alpha纹理只是一个8位的unorm,因此请使用GL\u

在OpenGL ES 2.0中,当GL_EXT_texture_存储扩展可用时,我使用
glTexStorage2DEXT(GL_texture_2D,1,ALPHA8_EXT,width,height)
为alpha遮罩纹理指定不可变存储。在OpenGL ES 3.0中,glTexStorage2D被合并到核心规范中,因此不需要扩展。但OpenGLES3.0中似乎没有大小合适的内部alpha格式。
如何在新版本的OpenGL中实现这一点?

alpha纹理只是一个8位的unorm,因此请使用
GL\u R8
上传。这将通过着色器中的“红色”通道加载,但我假设您的着色器逻辑可以处理此问题