我正在将一个非常大的背景纹理映射到四边形以用于侧滚。纹理的图形没有任何锯齿,这就是问题所在。
纹理最终变得非常模糊。图像尺寸为 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);
最佳答案
也许您需要在创建纹理时禁用 mipmap 过滤:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
关于c++ - OpenGL 模糊 RAW 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585103/