Mobile: Adjust texture filtering and add optional anisotropic support (commented out for now)

This commit is contained in:
nefigah
2017-06-22 18:41:59 +00:00
parent e96d28e811
commit cf6d6fe525

View File

@@ -2,9 +2,13 @@ package forge.assets;
import java.io.File; import java.io.File;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.utils.BufferUtils;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
import java.nio.FloatBuffer;
import forge.Forge; import forge.Forge;
import forge.ImageKeys; import forge.ImageKeys;
@@ -18,7 +22,18 @@ final class ImageLoader extends CacheLoader<String, Texture> {
try { try {
if (Forge.isTextureFilteringEnabled()) { if (Forge.isTextureFilteringEnabled()) {
Texture t = new Texture(fh, true); Texture t = new Texture(fh, true);
t.setFilter(Texture.TextureFilter.MipMapLinearNearest, Texture.TextureFilter.MipMapNearestNearest); t.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
/* // Optional experimental feature: Anisotropic filtering
GL20 gl = Gdx.gl20;
if (gl != null && Gdx.graphics.supportsExtension("GL_EXT_texture_filter_anisotropic")) {
FloatBuffer buffer = BufferUtils.newFloatBuffer(16);
gl.glGetFloatv(GL20.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, buffer);
float maxAniso = buffer.get(0);
t.bind();
gl.glTexParameterf(GL20.GL_TEXTURE_2D, GL20.GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAniso);
} */
return t; return t;
} else { } else {
return new Texture(fh); return new Texture(fh);