【问题标题】:OpenGL blurry RAW fileOpenGL模糊RAW文件
【发布时间】:2011-12-21 19:00:47
【问题描述】:

我正在将一个非常大的背景纹理映射到一个四边形的侧滚轴。纹理的图形没有任何锯齿,这就是问题所在。

纹理最终变得非常模糊。图像尺寸为 800 x 600。尺寸必须是 2 的幂吗?如果是这样,我是否会坚持以 1024 x 1024 制作更大的图像并将多余的图像留在屏幕外?

我在正交模式下做所有事情。这是纹理对四边形的应用。

glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D, *texture); 

    glBegin(GL_QUADS);
        glNormal3f(0.0f, 0.0f, 1.0f);
        glTexCoord2f(0.0f, 1.0f); glVertex3f(pos_x, pos_y, depth);
        glTexCoord2f(1.0f, 1.0f); glVertex3f(pos_x + size_x, pos_y, depth);
        glTexCoord2f(1.0f, 0.0f); glVertex3f(pos_x + size_x, pos_y + size_y, depth);
        glTexCoord2f(0.0f, 0.0f); glVertex3f(pos_x, pos_y + size_y, depth);
    glEnd();

    glDisable(GL_TEXTURE_2D);
    glDisable(GL_COLOR_MATERIAL);

【问题讨论】:

  • 请告诉我们你是如何将你的纹理输出到屏幕上的。你使用什么视角,如何将纹理映射到多边形?也许一些相关的代码引用

标签: c++ opengl textures


【解决方案1】:

也许您需要在创建纹理时禁用 mipmap 过滤:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2020-05-21
    • 2015-04-23
    • 2012-08-04
    • 1970-01-01
    • 2016-07-08
    • 2012-08-14
    相关资源
    最近更新 更多