我正在iPad 3上使用OpenGL ES 2.0开发应用程序。我正在尝试从调用GL_UNSIGNED_BYTE
时的glTexImage2D()
切换到GL_FLOAT
type
“,GL_LUMINANCE
作为”internalFormat
“和”format
“参数。 (以前为GL_RGBA
)
问题:线性插值现在已经消失。当你向上扩展时,它是非常像素化的而不是平滑的,就像线性插值一样。我是否需要切换到GL_RGBA
而不是GL_LUMINANCE
?使用GL_LUMINANCE
会自动禁用插值吗?
在我的着色器中,我从:
开始highp vec4 tex = texture2D(Texture, TexCoordOut);
就像我之前使用GL_UNSIGNED_BYTE
时所做的那样。 TexCoordOut
是顶点着色器的插值输出。在切换到亮度和浮动后,为什么不再进行插值?
P.S。我在打电话:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
在glTexImage2D()
之前,但我认为这些调用无论如何都不会在OpenGL ES 2.0下发生任何事情。
答案 0 :(得分:2)
我记得:当使用GL_FLOAT时,GL_LINEAR在OpenGL ES 2.0上不可用,除非支持GL_OES_texture_float_linear扩展,它不在iPad 3及更早版本上。
由于支持GL_OES_texture_half_float_linear扩展,我将不得不考虑使用它。