我将一个非常大的背景纹理映射到四边形的四边形。纹理的图形没有任何锯齿,其中存在问题。
纹理最终非常模糊。图像尺寸为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);
答案 0 :(得分:4)
也许你需要在创建纹理时禁用mipmap过滤:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);