【问题标题】:Linear interpolation with GL_FLOAT and GL_LUMINANCE?使用 GL_FLOAT 和 GL_LUMINANCE 进行线性插值?
【发布时间】: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


    【解决方案1】:

    我只记得:当使用 GL_FLOAT 时,GL_LINEAR 在 OpenGL ES 2.0 上不可用,除非支持 GL_OES_texture_float_linear 扩展,而 iPad 3 和更早版本不支持此扩展。

    由于支持 GL_OES_texture_half_float_linear 扩展,我将不得不考虑使用它。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多