if (maxAnisotropic == -1.0) {
if (maxAnisotropic == -1.0 && GLContext.GL_EXT_texture_filter_anisotropic) {
  public LWJGLTextureState() {    super();    supportsMultiTexture = (GLContext.GL_ARB_multitexture && GLContext.OpenGL13);    if (numTexUnits == 0) {      if (supportsMultiTexture) {        IntBuffer buf = BufferUtils.createIntBuffer(16); //ByteBuffer.allocateDirect(64).order(ByteOrder.nativeOrder()).asIntBuffer();        GL11.glGetInteger(GL13.GL_MAX_TEXTURE_UNITS, buf);        numTexUnits = buf.get(0);      } else {        numTexUnits = 1;      }    }    if (currentTexture == null)      currentTexture = new Texture[numTexUnits];    if (maxAnisotropic == -1.0) {      // Due to LWJGL buffer check, you can't use smaller sized buffers (min_size = 16 for glGetFloat()).      FloatBuffer max_a = BufferUtils.createFloatBuffer(16);      max_a.rewind();      // Grab the maximum anisotropic filter.      GL11.glGetFloat(EXTTextureFilterAnisotropic.                      GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT,                      max_a);      // set max.      maxAnisotropic = max_a.get(0);    }    texture = new Texture[numTexUnits];  }