1

第一场景

  1. 加载了一个纹理Stick-util.jar,其中图像大小 = 50x50 & 纹理大小 = 64x64
  2. 绑定纹理并绘制一个大小为64x64的 Quad 。并给出一个大小为50x50的图像。

大小为50x50的网格

大小为 50x50 的网格

第二景

  1. 加载图像大小 = 180x50 的另一个纹理,但纹理大小 = 256x64

问题

很明显,slick-util将纹理大小转换为 2 的幂。绑定时,绘制其原始大小。(默认)

但是为什么&如何?第二个纹理的宽高比不等于图像大小。

4

1 回答 1

2

为什么只是因为一些较旧的 GPU 仅支持二次幂纹理。

很难回答,因为它是特定于实现的。它要么使用 texcoords 仅显示来自初始图像的纹理部分,要么使用 alpha=0 的纹素填充额外的纹理空间,这些纹素在绘制时会被拒绝。不过我只是猜测。

于 2012-06-16T18:02:31.290 回答