public void setFilter(TextureFilter minFilter, TextureFilter magFilter) { this.minFilter = minFilter; this.magFilter = magFilter; bind(); GL.TexParameter(glTarget, TextureParameterName.TextureMinFilter, TextureHelper.getGLEnumFromTextureFilter(minFilter)); GL.TexParameter(glTarget, TextureParameterName.TextureMagFilter, TextureHelper.getGLEnumFromTextureFilter(magFilter)); }
public void unsafeSetFilter(TextureFilter minFilter, TextureFilter magFilter, bool force) { if (minFilter != null && (force || this.minFilter != minFilter)) { GL.TexParameter(glTarget, TextureParameterName.TextureMinFilter, TextureHelper.getGLEnumFromTextureFilter(minFilter)); this.minFilter = minFilter; } if (magFilter != null && (force || this.magFilter != magFilter)) { GL.TexParameter(glTarget, TextureParameterName.TextureMagFilter, TextureHelper.getGLEnumFromTextureFilter(magFilter)); this.magFilter = magFilter; } }
// todo: gethashcode public int CompareTo(TextureDescriptor o) { if (o == this) { return(0); } var t1 = texture == null ? 0 : texture.glTarget; var 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 : TextureHelper.getGLEnumFromTextureFilter(minFilter)) - (o.minFilter == null ? 0 :TextureHelper.getGLEnumFromTextureFilter(o.minFilter))); } if (magFilter != o.magFilter) { return((magFilter == null ? 0 : TextureHelper.getGLEnumFromTextureFilter(magFilter)) - (o.magFilter == null ? 0 : TextureHelper.getGLEnumFromTextureFilter(o.magFilter))); } if (uWrap != o.uWrap) { return((uWrap == null ? 0 : TextureHelper.getGLEnumFromTextureWrap(uWrap)) - (o.uWrap == null ? 0 : TextureHelper.getGLEnumFromTextureWrap(o.uWrap))); } if (vWrap != o.vWrap) { return((vWrap == null ? 0 : TextureHelper.getGLEnumFromTextureWrap(uWrap)) - (o.vWrap == null ? 0 : TextureHelper.getGLEnumFromTextureWrap(o.vWrap))); } return(0); }