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