【发布时间】:2012-11-09 05:54:54
【问题描述】:
我正在 iPad 3 上使用 OpenGL ES 2.0 开发应用程序。我试图在调用 glTexImage2D() 时从 GL_UNSIGNED_BYTE 切换到 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 是顶点着色器的插值输出。为什么在切换到亮度和浮动后不再插值?
附言我在打电话:
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 下无论如何都不起作用。
【问题讨论】:
标签: ios opengl-es opengl-es-2.0 linear-interpolation luminance