java - 图像与纹理大小 LWJGL

标签 java opengl lwjgl slick2d

第一个场景

  1. 使用 Stick-util.jar 加载纹理,其中图像大小 = 50x50,纹理大小 =64x64
  2. 绑定(bind)纹理并绘制大小为 64x64 的四边形。并给出尺寸50x50的图像。

网格尺寸50x50

Grid of size 50x50

第二个场景

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

问题

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

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

最佳答案

原因很简单,因为一些较旧的 GPU 仅支持 2 的幂纹理。

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

关于java - 图像与纹理大小 LWJGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11064156/

相关文章:

java - 使用 OpenGL 进行 FPS 相机旋转

Java LWJGL 多剪刀测试

java - 如何使用 LWJGL 将 BufferedImage 绘制到屏幕上?

java - 方法不明确

javascript - iMacros 使用 EVAL 删除文本

java - Slick2D 中多边形的定位

opengl - 片段着色器输出的数量

c++ - 在 OpenSceneGraph 中创建一个球体(使用 osg::Geometry)

java - 如何用 Java 制作多组件 Swing 类

java - 启用 Spring AOP 或 AspectJ