Java Libgdx | Android |我可以在简单游戏中使用非pow2纹理吗?
我正在用libgdx做一个游戏。我可以使用非pow2纹理吗?它们将仅用于菜单。我不太担心它会影响性能,更担心它是否与某些android/ios设备不兼容?谢谢 我知道两种方法: 1) 将图像打包到纹理打包器: 2) 将非pow2纹理重写为pow2纹理,如下所示:Java Libgdx | Android |我可以在简单游戏中使用非pow2纹理吗?,java,android,opengl-es,libgdx,Java,Android,Opengl Es,Libgdx,我正在用libgdx做一个游戏。我可以使用非pow2纹理吗?它们将仅用于菜单。我不太担心它会影响性能,更担心它是否与某些android/ios设备不兼容?谢谢 我知道两种方法: 1) 将图像打包到纹理打包器: 2) 将非pow2纹理重写为pow2纹理,如下所示: public Texture getTexture() { // Gdx.app.log("WWW", "url: " + urlString); Pixmap pixmap = new Pixmap(respon
public Texture getTexture() {
// Gdx.app.log("WWW", "url: " + urlString);
Pixmap pixmap = new Pixmap(responseBytes, 0, responseBytes.length);
final int originalWidth = pixmap.getWidth();
final int originalHeight = pixmap.getHeight();
int width = MathUtils.nextPowerOfTwo(pixmap.getWidth());
int height = MathUtils.nextPowerOfTwo(pixmap.getHeight());
int deltaX = (int) ((width - originalWidth) / 2f);
int deltaY = (int) ((height - originalHeight) / 2f);
final Pixmap potPixmap = new Pixmap(width, height, pixmap.getFormat());
potPixmap.drawPixmap(pixmap, deltaX, deltaY, 0, 0, pixmap.getWidth(), pixmap.getHeight());
pixmap.dispose();
Texture texture = new Texture(potPixmap);
potPixmap.dispose();
return texture;
}
是的,但是你不能使用mip映射或纹理包装。我想补充一下Tenfour04的评论,不能使用mip映射是一件大事,因为不同设备的屏幕分辨率差异太大了。2D菜单缺少纹理环绕不是一个很大的损失。