OpenGL模糊的RAW文件

时间:2011-12-21 04:32:15

标签: c++ opengl textures

我将一个非常大的背景纹理映射到四边形的四边形。纹理的图形没有任何锯齿,其中存在问题。

纹理最终非常模糊。图像尺寸为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);

1 个答案:

答案 0 :(得分:4)

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

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