3

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

4

4 回答 4

3

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

这是我在为 Mac 制作的屏幕保护程序中使用的技术。http://memention.com/void/它抓取屏幕内容并将其用作某些 3D效果的纹理,我真的想要一个像素完美贴合。

于 2011-06-13T20:43:42.150 回答
2

As far as I know, modern technologies do not require you to use a power of 2 for your dimensions. Just know however, that if this code is run an older machine, you'll have some problems. How old is your machine?

于 2011-06-13T19:29:24.067 回答
1

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

于 2011-06-13T21:22:25.540 回答
0

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

于 2011-06-13T22:18:19.987 回答