Java Libgdx | Android |我可以在简单游戏中使用非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

我正在用libgdx做一个游戏。我可以使用非pow2纹理吗?它们将仅用于菜单。我不太担心它会影响性能,更担心它是否与某些android/ios设备不兼容?谢谢

我知道两种方法:

1) 将图像打包到纹理打包器:

2) 将非pow2纹理重写为pow2纹理,如下所示:

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菜单缺少纹理环绕不是一个很大的损失。