OpenGL纹理图像模糊

时间:2011-06-13 19:25:44

标签: opengl textures mipmaps

我正在尝试创建一个代表高程的mipmapped纹理图像。图像必须是940 x 618.我意识到我的纹理必须具有2的幂的宽度和高度。到目前为止,我已经尝试逐步完成所有在正方形中的纹理(例如64 x 64或128 x 128,甚至512 x 512),但图像仍然模糊不清。想知道如何更好地纹理这种尺寸的图像吗?

4 个答案:

答案 0 :(得分:3)

使用1024x1024纹理并将图像放在图像的一部分940x618中。然后使用值940.0 / 1024.0和618.0 / 1024.0作为最大纹理坐标,或缩放TEXTURE_MATRIX。这将为您的像素制作1:1映射。您可能还需要将模型移动半个像素以获得完美拟合,这取决于您的模型设置和视图。

这是我在为Mac制作的屏幕保护程序中使用的技术。 http://memention.com/void/它抓取屏幕内容并将其用作某些3D 效果上的纹理,我真的希望像素非常合适。

答案 1 :(得分:2)

据我所知,现代技术不要求您为尺寸使用2的幂。但要知道,如果这个代码运行的是旧机器,那么你会遇到一些问题。你的机器多大了?

答案 2 :(得分:1)

纹理可能未以1:1映射,并且您具有GL_LINEAR或GL_NEAREST过滤。尝试更高分辨率的纹理,mipmapping和1:1屏幕映射。

答案 3 :(得分:0)

使用940x618大小的纹理(如果这确实是它所应用的表面的大小)并设置纹理的缩小/放大以使用GL_LINEAR。这应该会给你你想要的结果。