JButton defaultTextureButton = new JButton("Default Texture"); final JCheckBox genMipMaps = new JCheckBox("Generate MipMaps"); final JComboBox minFilterBox = new JComboBox(new DefaultComboBoxModel(TextureFilter.values())); final JComboBox magFilterBox = new JComboBox(new DefaultComboBoxModel(TextureFilter.values()));
writer.write("size: " + page.image.getWidth() + "," + page.image.getHeight() + "\n"); writer.write("format: " + packer.pageFormat.name() + "\n"); writer.write("filter: " + parameters.minFilter.name() + "," + parameters.magFilter.name() + "\n"); writer.write("repeat: none" + "\n"); for (String name : page.rects.keys()) {
JButton defaultTextureButton = new JButton("Default Texture"); final JCheckBox genMipMaps = new JCheckBox("Generate MipMaps"); final JComboBox minFilterBox = new JComboBox(new DefaultComboBoxModel(TextureFilter.values())); final JComboBox magFilterBox = new JComboBox(new DefaultComboBoxModel(TextureFilter.values()));
settings.edgePadding = find(lines, "edgePadding=", defaultSettings.edgePadding); settings.fast = find(lines, "fast=", defaultSettings.fast); settings.filterMag = Texture.TextureFilter.valueOf(find(lines, "filterMag=", defaultSettings.filterMag.toString())); settings.filterMin = Texture.TextureFilter.valueOf(find(lines, "filterMin=", defaultSettings.filterMin.toString()));
writer.write("size: " + page.image.getWidth() + "," + page.image.getHeight() + "\n"); writer.write("format: " + packer.pageFormat.name() + "\n"); writer.write("filter: " + parameters.minFilter.name() + "," + parameters.magFilter.name() + "\n"); writer.write("repeat: none" + "\n"); for (String name : page.rects.keys()) {
patch.getTexture().setFilter(Texture.TextureFilter.valueOf(imageModel.getMinFilter()), Texture.TextureFilter.valueOf(imageModel.getMagFilter())); TextureRegion textureRegion = new TextureRegion(assets.getTexture(getLocalizedString(imageModel.getTextureSrc()))); if(imageModel.getMinFilter() != null && imageModel.getMagFilter() != null) { textureRegion.getTexture().setFilter(Texture.TextureFilter.valueOf(imageModel.getMinFilter()), Texture.TextureFilter.valueOf(imageModel.getMagFilter()));
@Override public int compareTo (TextureDescriptor<T> o) { if (o == this) return 0; int t1 = texture == null ? 0 : texture.glTarget; int t2 = o.texture == null ? 0 : o.texture.glTarget; if (t1 != t2) return t1 - t2; int h1 = texture == null ? 0 : texture.getTextureObjectHandle(); int h2 = o.texture == null ? 0 : o.texture.getTextureObjectHandle(); if (h1 != h2) return h1 - h2; if (minFilter != o.minFilter) return (minFilter == null ? 0 : minFilter.getGLEnum()) - (o.minFilter == null ? 0 : o.minFilter.getGLEnum()); if (magFilter != o.magFilter) return (magFilter == null ? 0 : magFilter.getGLEnum()) - (o.magFilter == null ? 0 : o.magFilter.getGLEnum()); if (uWrap != o.uWrap) return (uWrap == null ? 0 : uWrap.getGLEnum()) - (o.uWrap == null ? 0 : o.uWrap.getGLEnum()); if (vWrap != o.vWrap) return (vWrap == null ? 0 : vWrap.getGLEnum()) - (o.vWrap == null ? 0 : o.vWrap.getGLEnum()); return 0; } }
/** Sets the {@link TextureFilter} for this texture for minification and magnification. Assumes the texture is bound and active! * @param minFilter the minification filter * @param magFilter the magnification filter * @param force True to always set the values, even if they are the same as the current values. */ public void unsafeSetFilter (TextureFilter minFilter, TextureFilter magFilter, boolean force) { if (minFilter != null && (force || this.minFilter != minFilter)) { Gdx.gl.glTexParameteri(glTarget, GL20.GL_TEXTURE_MIN_FILTER, minFilter.getGLEnum()); this.minFilter = minFilter; } if (magFilter != null && (force || this.magFilter != magFilter)) { Gdx.gl.glTexParameteri(glTarget, GL20.GL_TEXTURE_MAG_FILTER, magFilter.getGLEnum()); this.magFilter = magFilter; } }
@Override public int hashCode () { long result = (texture == null ? 0 : texture.glTarget); result = 811 * result + (texture == null ? 0 : texture.getTextureObjectHandle()); result = 811 * result + (minFilter == null ? 0 : minFilter.getGLEnum()); result = 811 * result + (magFilter == null ? 0 : magFilter.getGLEnum()); result = 811 * result + (uWrap == null ? 0 : uWrap.getGLEnum()); result = 811 * result + (vWrap == null ? 0 : vWrap.getGLEnum()); return (int)(result ^ (result >> 32)); }
/** Sets the {@link TextureFilter} for this texture for minification and magnification. This will bind this texture! * @param minFilter the minification filter * @param magFilter the magnification filter */ public void setFilter (TextureFilter minFilter, TextureFilter magFilter) { this.minFilter = minFilter; this.magFilter = magFilter; bind(); Gdx.gl.glTexParameteri(glTarget, GL20.GL_TEXTURE_MIN_FILTER, minFilter.getGLEnum()); Gdx.gl.glTexParameteri(glTarget, GL20.GL_TEXTURE_MAG_FILTER, magFilter.getGLEnum()); }
JButton defaultTextureButton = new JButton("Default Texture"); final JCheckBox genMipMaps = new JCheckBox("Generate MipMaps"); final JComboBox minFilterBox = new JComboBox(new DefaultComboBoxModel(TextureFilter.values())); final JComboBox magFilterBox = new JComboBox(new DefaultComboBoxModel(TextureFilter.values()));
writer.write("size: " + page.image.getWidth() + "," + page.image.getHeight() + "\n"); writer.write("format: " + packer.pageFormat.name() + "\n"); writer.write("filter: " + parameters.minFilter.name() + "," + parameters.magFilter.name() + "\n"); writer.write("repeat: none" + "\n"); for (String name : page.rects.keys()) {
private void createUI () { skin = new Skin(Gdx.files.internal("data/uiskin.json")); ui = new Stage(); String[] filters = new String[TextureFilter.values().length]; int idx = 0; for (TextureFilter filter : TextureFilter.values()) { filters[idx++] = filter.toString(); } hwMipMap = new CheckBox("Hardware Mips", skin); minFilter = new SelectBox(skin); minFilter.setItems(filters); magFilter = new SelectBox(skin.get(SelectBoxStyle.class)); magFilter.setItems("Nearest", "Linear"); Table table = new Table(); table.setSize(ui.getWidth(), 30); table.setY(ui.getHeight() - 30); table.add(hwMipMap).spaceRight(5); table.add(new Label("Min Filter", skin)).spaceRight(5); table.add(minFilter).spaceRight(5); table.add(new Label("Mag Filter", skin)).spaceRight(5); table.add(magFilter); ui.addActor(table); }
@Override public int compareTo (TextureDescriptor<T> o) { if (o == this) return 0; int t1 = texture == null ? 0 : texture.glTarget; int t2 = o.texture == null ? 0 : o.texture.glTarget; if (t1 != t2) return t1 - t2; int h1 = texture == null ? 0 : texture.getTextureObjectHandle(); int h2 = o.texture == null ? 0 : o.texture.getTextureObjectHandle(); if (h1 != h2) return h1 - h2; if (minFilter != o.minFilter) return (minFilter == null ? 0 : minFilter.getGLEnum()) - (o.minFilter == null ? 0 : o.minFilter.getGLEnum()); if (magFilter != o.magFilter) return (magFilter == null ? 0 : magFilter.getGLEnum()) - (o.magFilter == null ? 0 : o.magFilter.getGLEnum()); if (uWrap != o.uWrap) return (uWrap == null ? 0 : uWrap.getGLEnum()) - (o.uWrap == null ? 0 : o.uWrap.getGLEnum()); if (vWrap != o.vWrap) return (vWrap == null ? 0 : vWrap.getGLEnum()) - (o.vWrap == null ? 0 : o.vWrap.getGLEnum()); return 0; } }
@Override public int compareTo (TextureDescriptor<T> o) { if (o == this) return 0; int t1 = texture == null ? 0 : texture.glTarget; int t2 = o.texture == null ? 0 : o.texture.glTarget; if (t1 != t2) return t1 - t2; int h1 = texture == null ? 0 : texture.getTextureObjectHandle(); int h2 = o.texture == null ? 0 : o.texture.getTextureObjectHandle(); if (h1 != h2) return h1 - h2; if (minFilter != o.minFilter) return (minFilter == null ? 0 : minFilter.getGLEnum()) - (o.minFilter == null ? 0 : o.minFilter.getGLEnum()); if (magFilter != o.magFilter) return (magFilter == null ? 0 : magFilter.getGLEnum()) - (o.magFilter == null ? 0 : o.magFilter.getGLEnum()); if (uWrap != o.uWrap) return (uWrap == null ? 0 : uWrap.getGLEnum()) - (o.uWrap == null ? 0 : o.uWrap.getGLEnum()); if (vWrap != o.vWrap) return (vWrap == null ? 0 : vWrap.getGLEnum()) - (o.vWrap == null ? 0 : o.vWrap.getGLEnum()); return 0; } }
@Override public void render () { Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); Gdx.gl.glEnable(GL20.GL_TEXTURE_2D); camera.update(); currTexture = hwMipMap.isChecked() ? textureHW : textureSW; currTexture.bind(); currTexture.setFilter(TextureFilter.valueOf(minFilter.getSelected()), TextureFilter.valueOf(magFilter.getSelected())); shader.begin(); shader.setUniformMatrix("u_projTrans", camera.combined); shader.setUniformi("s_texture", 0); mesh.render(shader, GL20.GL_TRIANGLE_FAN); shader.end(); ui.act(); ui.draw(); }