【问题标题】:image vs texture size LWJGL图像与纹理大小 LWJGL
【发布时间】:2012-06-16 14:13:48
【问题描述】:

第一场景

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

网格大小50x50

第二个场景

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

问题

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

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

【问题讨论】:

    标签: java opengl lwjgl slick2d


    【解决方案1】:

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

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

    【讨论】:

    • 是的,额外的纹素填充了 alpha=0。 2 的幂的原因是由于 migmap 以及 2 的幂如何帮助 GPU 准确地绘制转换。恕我直言Texture wiki @openGL
    猜你喜欢
    • 2023-03-13
    • 2011-08-11
    • 1970-01-01
    • 2015-07-12
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多