我试图找出OpenGL实现支持实际的纹理格式。我知道有一个函数glGetInternalformat(),但它只在GL4.3 +中有用,在GLES3.1及之前几乎没用。所以我试图创建一个小纹理,使用glTexStorage2D()为它分配存储并检查错误代码。然而,似乎在OpenGL ES3.1上,该函数对我测试的所有格式都成功,但后来当我尝试将实际数据上传到纹理时,glTexSubImage2D()失败。这种情况至少发生在所有16位规范化整数格式中(确实没有按照ES3.1规范的要求列出)。 那么有没有更好,更健壮的方式来查询纹理格式支持?