OpenGL 2.0과 libGDX를 사용할 때 텍스쳐 이미지의 파워는 2가되어야한다는 것을 알고 있습니다. 이 내용은이 페이지 https://github.com/libgdx/libgdx/wiki/Textures,-textureregion-and-spritebatch에 있습니다.LibGDX, OpenGL 2.0 및 텍스처가 2의 제곱이되어야합니까?
내가 이해할 수없는 한 가지는 이것이 항상 사실이 아니라는 것입니다. 스플래시 화면이있는 응용 프로그램을 만들고 있는데 사용하는 텍스처가 아래처럼 클래스 선언 (스크린)에 직접로드됩니다.
private TextureRegion textureRegion = new TextureRegion(
new Texture(Gdx.files.internal("images/splashLogo.png"))
);
이 이미지의 크기는 분명히 2의 배수가 아닙니다. 그러나 모두 괜찮습니다.
내 게임에서 AssetManager를 사용하여 게임에 질감 등을로드하고 있지만 사용하는 텍스처가 128x32, 512x512 등의 크기^2 여야합니다. 그렇지 않으면 작동하지 않습니다.
내 자산 관리자의 예제 텍스처 세트는 아래에 있습니다.
shapes = TextureRegion.split(Assets.assetManager.get("images/shapeSprite.png", Texture.class), 64, 64);
for (TextureRegion[] shapeSet: shapes) {
for (TextureRegion shape: shapeSet) {
shape.flip(false, true);
}
}
텍스처가 512x512이고 그렇지 않은 경우 textureRegion이 표시되지 않습니다.
일부 텍스처의 크기가 2의 제곱이어야하고 일부 텍스처의 크기가 다른 이유는 무엇입니까?
안녕하십니까. Xoppa 님, LibGDX 위키의 'Textures, textureregion and spritebatch'페이지를 정보가 오래된 것으로부터 가져온 정보와 함께 자유롭게 업데이트했습니다. –