2016-08-23 4 views
1

나는 libgdx로 게임을 만들고있다. non-pow2 텍스처를 사용하여 도망 갈 수 있습니까? 메뉴에만 사용할 수 있습니다. 나는 성능에 영향을 미치지 않는다고 걱정하며, 안드로이드/아이오스 기기와 호환되지 않을 수도 있다고 걱정한다. 감사!Libgdx | 안드로이드 | 간단한 게임에서 pow2가 아닌 텍스처를 사용하지 않아도 될까요?

+2

예,하지만 밉 매핑 또는 텍스처 배치를 사용할 수 없습니다. – Tenfour04

+0

밉 맵핑을 사용할 수 없다는 Tenfour04의 의견을 덧붙이는 것은 기기 전반의 화면 해상도가 너무 크기 때문에 큰 문제입니다. 2D 메뉴를위한 텍스처 랩핑의 부족은 큰 손실이 아닙니다. – Columbo

답변

1

나는 그것을 위해 두 가지 방법을 알고 :

1) 텍스처 포장에 이미지를 포장 :

https://github.com/libgdx/libgdx/wiki/Texture-packer https://code.google.com/archive/p/libgdx-texturepacker-gui/

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; 
} 
관련 문제