Example usage for org.lwjgl.opengl GL11 glTexParameterf

List of usage examples for org.lwjgl.opengl GL11 glTexParameterf

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL11 glTexParameterf.

Prototype

public static void glTexParameterf(@NativeType("GLenum") int target, @NativeType("GLenum") int pname,
        @NativeType("GLfloat") float param) 

Source Link

Document

Float version of #glTexParameteri TexParameteri .

Usage

From source file:kuake2.render.lwjgl.Image.java

License:Open Source License

boolean GL_Upload32(int[] data, int width, int height, boolean mipmap) {
    int samples;//  w  ww  . ja  v a2 s. c  om
    int scaled_width, scaled_height;
    int i, c;
    int comp;

    Arrays.fill(scaled, 0);
    // Arrays.fill(paletted_texture, (byte)0);
    paletted_texture.clear();
    for (int j = 0; j < 256 * 256; j++)
        paletted_texture.put(j, (byte) 0);

    uploaded_paletted = false;

    for (scaled_width = 1; scaled_width < width; scaled_width <<= 1)
        ;
    if (gl_round_down.value > 0.0f && scaled_width > width && mipmap)
        scaled_width >>= 1;
    for (scaled_height = 1; scaled_height < height; scaled_height <<= 1)
        ;
    if (gl_round_down.value > 0.0f && scaled_height > height && mipmap)
        scaled_height >>= 1;

    // let people sample down the world textures for speed
    if (mipmap) {
        scaled_width >>= (int) gl_picmip.value;
        scaled_height >>= (int) gl_picmip.value;
    }

    // don't ever bother with >256 textures
    if (scaled_width > 256)
        scaled_width = 256;
    if (scaled_height > 256)
        scaled_height = 256;

    if (scaled_width < 1)
        scaled_width = 1;
    if (scaled_height < 1)
        scaled_height = 1;

    upload_width = scaled_width;
    upload_height = scaled_height;

    if (scaled_width * scaled_height > 256 * 256)
        Com.Error(Defines.ERR_DROP, "GL_Upload32: too big");

    // scan the texture for any non-255 alpha
    c = width * height;
    samples = gl_solid_format;

    for (i = 0; i < c; i++) {
        if ((data[i] & 0xff000000) != 0xff000000) {
            samples = gl_alpha_format;
            break;
        }
    }

    if (samples == gl_solid_format)
        comp = gl_tex_solid_format;
    else if (samples == gl_alpha_format)
        comp = gl_tex_alpha_format;
    else {
        VID.Printf(Defines.PRINT_ALL, "Unknown number of texture components " + samples + '\n');
        comp = samples;
    }

    // simulates a goto
    try {
        if (scaled_width == width && scaled_height == height) {
            if (!mipmap) {
                if (qglColorTableEXT && gl_ext_palettedtexture.value != 0.0f && samples == gl_solid_format) {
                    uploaded_paletted = true;
                    GL_BuildPalettedTexture(paletted_texture, data, scaled_width, scaled_height);
                    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL_COLOR_INDEX8_EXT, scaled_width, scaled_height,
                            0, GL11.GL_COLOR_INDEX, GL11.GL_UNSIGNED_BYTE, paletted_texture);
                } else {
                    tex.rewind();
                    tex.put(data);
                    tex.rewind();
                    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, comp, scaled_width, scaled_height, 0, GL11.GL_RGBA,
                            GL11.GL_UNSIGNED_BYTE, tex);
                }
                //goto done;
                throw gotoDone;
            }
            //memcpy (scaled, data, width*height*4); were bytes
            System.arraycopy(data, 0, scaled, 0, width * height);
        } else
            GL_ResampleTexture(data, width, height, scaled, scaled_width, scaled_height);

        GL_LightScaleTexture(scaled, scaled_width, scaled_height, !mipmap);

        if (qglColorTableEXT && gl_ext_palettedtexture.value != 0.0f && (samples == gl_solid_format)) {
            uploaded_paletted = true;
            GL_BuildPalettedTexture(paletted_texture, scaled, scaled_width, scaled_height);
            GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL_COLOR_INDEX8_EXT, scaled_width, scaled_height, 0,
                    GL11.GL_COLOR_INDEX, GL11.GL_UNSIGNED_BYTE, paletted_texture);
        } else {
            tex.rewind();
            tex.put(scaled);
            tex.rewind();
            GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, comp, scaled_width, scaled_height, 0, GL11.GL_RGBA,
                    GL11.GL_UNSIGNED_BYTE, tex);
        }

        if (mipmap) {
            int miplevel;
            miplevel = 0;
            while (scaled_width > 1 || scaled_height > 1) {
                GL_MipMap(scaled, scaled_width, scaled_height);
                scaled_width >>= 1;
                scaled_height >>= 1;
                if (scaled_width < 1)
                    scaled_width = 1;
                if (scaled_height < 1)
                    scaled_height = 1;

                miplevel++;
                if (qglColorTableEXT && gl_ext_palettedtexture.value != 0.0f && samples == gl_solid_format) {
                    uploaded_paletted = true;
                    GL_BuildPalettedTexture(paletted_texture, scaled, scaled_width, scaled_height);
                    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, miplevel, GL_COLOR_INDEX8_EXT, scaled_width,
                            scaled_height, 0, GL11.GL_COLOR_INDEX, GL11.GL_UNSIGNED_BYTE, paletted_texture);
                } else {
                    tex.rewind();
                    tex.put(scaled);
                    tex.rewind();
                    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, miplevel, comp, scaled_width, scaled_height, 0,
                            GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, tex);
                }
            }
        }
        // label done:
    } catch (Throwable e) {
        // replaces label done
    }

    if (mipmap) {
        GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, gl_filter_min);
        GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, gl_filter_max);
    } else {
        GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, gl_filter_max);
        GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, gl_filter_max);
    }

    return (samples == gl_alpha_format);
}

From source file:kuake2.render.lwjgl.Image.java

License:Open Source License

boolean GL_Upload8(byte[] data, int width, int height, boolean mipmap, boolean is_sky) {

    Arrays.fill(trans, 0);//from   w  w w  . j  a  v a2s  .co m

    int s = width * height;

    if (s > trans.length)
        Com.Error(Defines.ERR_DROP, "GL_Upload8: too large");

    if (qglColorTableEXT && gl_ext_palettedtexture.value != 0.0f && is_sky) {
        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL_COLOR_INDEX8_EXT, width, height, 0, GL11.GL_COLOR_INDEX,
                GL11.GL_UNSIGNED_BYTE, ByteBuffer.wrap(data));

        GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, gl_filter_max);
        GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, gl_filter_max);

        // TODO check this
        return false;
    } else {
        int p;
        for (int i = 0; i < s; i++) {
            p = data[i] & 0xff;
            trans[i] = d_8to24table[p];

            if (p == 255) { // transparent, so scan around for another color
                // to avoid alpha fringes
                // FIXME: do a full flood fill so mips work...
                if (i > width && (data[i - width] & 0xff) != 255)
                    p = data[i - width] & 0xff;
                else if (i < s - width && (data[i + width] & 0xff) != 255)
                    p = data[i + width] & 0xff;
                else if (i > 0 && (data[i - 1] & 0xff) != 255)
                    p = data[i - 1] & 0xff;
                else if (i < s - 1 && (data[i + 1] & 0xff) != 255)
                    p = data[i + 1] & 0xff;
                else
                    p = 0;
                // copy rgb components

                // ((byte *)&trans[i])[0] = ((byte *)&d_8to24table[p])[0];
                // ((byte *)&trans[i])[1] = ((byte *)&d_8to24table[p])[1];
                // ((byte *)&trans[i])[2] = ((byte *)&d_8to24table[p])[2];

                trans[i] = d_8to24table[p] & 0x00FFFFFF; // only rgb
            }
        }

        return GL_Upload32(trans, width, height, mipmap);
    }
}

From source file:kuake2.render.lwjgl.Misc.java

License:Open Source License

void GL_SetDefaultState() {
    GL11.glClearColor(1f, 0f, 0.5f, 0.5f); // original quake2
    //GL11.glClearColor(0, 0, 0, 0); // replaced with black
    GL11.glCullFace(GL11.GL_FRONT);// w  ww  .  ja v  a 2 s. c o  m
    GL11.glEnable(GL11.GL_TEXTURE_2D);

    GL11.glEnable(GL11.GL_ALPHA_TEST);
    GL11.glAlphaFunc(GL11.GL_GREATER, 0.666f);

    GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glDisable(GL11.GL_CULL_FACE);
    GL11.glDisable(GL11.GL_BLEND);

    GL11.glColor4f(1, 1, 1, 1);

    GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
    GL11.glShadeModel(GL11.GL_FLAT);

    GL_TextureMode(gl_texturemode.string);
    GL_TextureAlphaMode(gl_texturealphamode.string);
    GL_TextureSolidMode(gl_texturesolidmode.string);

    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, gl_filter_min);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, gl_filter_max);

    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_REPEAT);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_REPEAT);

    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

    GL_TexEnv(GL11.GL_REPLACE);

    if (qglPointParameterfEXT) {
        // float[] attenuations = { gl_particle_att_a.value, gl_particle_att_b.value, gl_particle_att_c.value };
        FloatBuffer att_buffer = BufferUtils.createFloatBuffer(4);
        att_buffer.put(0, gl_particle_att_a.value);
        att_buffer.put(1, gl_particle_att_b.value);
        att_buffer.put(2, gl_particle_att_c.value);

        GL11.glEnable(GL11.GL_POINT_SMOOTH);
        EXTPointParameters.glPointParameterfEXT(EXTPointParameters.GL_POINT_SIZE_MIN_EXT,
                gl_particle_min_size.value);
        EXTPointParameters.glPointParameterfEXT(EXTPointParameters.GL_POINT_SIZE_MAX_EXT,
                gl_particle_max_size.value);
        EXTPointParameters.glPointParameterEXT(EXTPointParameters.GL_DISTANCE_ATTENUATION_EXT, att_buffer);
    }

    if (qglColorTableEXT && gl_ext_palettedtexture.value != 0.0f) {
        GL11.glEnable(EXTSharedTexturePalette.GL_SHARED_TEXTURE_PALETTE_EXT);

        GL_SetTexturePalette(d_8to24table);
    }

    GL_UpdateSwapInterval();

    /*
     * vertex array extension
     */
    GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
    ARBMultitexture.glClientActiveTextureARB(GL_TEXTURE0);
    GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY);
}

From source file:kuake2.render.lwjgl.Surf.java

License:Open Source License

/**
 * LM_UploadBlock//  ww  w  .  j a  v  a2s  .  co  m
 *
 * @param dynamic
 */
void LM_UploadBlock(boolean dynamic) {
    int texture = (dynamic) ? 0 : gl_lms.current_lightmap_texture;

    GL_Bind(gl_state.lightmap_textures + texture);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);

    gl_lms.lightmap_buffer.rewind();
    if (dynamic) {
        int height = 0;
        for (int i = 0; i < BLOCK_WIDTH; i++) {
            if (gl_lms.allocated[i] > height)
                height = gl_lms.allocated[i];
        }

        GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, 0, 0, BLOCK_WIDTH, height, GL_LIGHTMAP_FORMAT,
                GL11.GL_UNSIGNED_BYTE, gl_lms.lightmap_buffer);
    } else {
        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, gl_lms.internal_format, BLOCK_WIDTH, BLOCK_HEIGHT, 0,
                GL_LIGHTMAP_FORMAT, GL11.GL_UNSIGNED_BYTE, gl_lms.lightmap_buffer);
        if (++gl_lms.current_lightmap_texture == MAX_LIGHTMAPS)
            Com.Error(Defines.ERR_DROP, "LM_UploadBlock() - MAX_LIGHTMAPS exceeded\n");

        //debugLightmap(gl_lms.lightmap_buffer, 128, 128, 4);
    }
}

From source file:kuake2.render.lwjgl.Surf.java

License:Open Source License

/**
 * GL_BeginBuildingLightmaps//w w  w  .jav a  2s.  c  o  m
 */
void GL_BeginBuildingLightmaps(model_t m) {
    // static lightstyle_t   lightstyles[MAX_LIGHTSTYLES];
    int i;

    // init lightstyles
    if (lightstyles == null) {
        lightstyles = new lightstyle_t[Defines.MAX_LIGHTSTYLES];
        for (i = 0; i < lightstyles.length; i++) {
            lightstyles[i] = new lightstyle_t();
        }
    }

    // memset( gl_lms.allocated, 0, sizeof(gl_lms.allocated) );
    Arrays.fill(gl_lms.allocated, 0);

    r_framecount = 1; // no dlightcache

    GL_EnableMultitexture(true);
    GL_SelectTexture(GL_TEXTURE1);

    /*
    ** setup the base lightstyles so the lightmaps won't have to be regenerated
    ** the first time they're seen
    */
    for (i = 0; i < Defines.MAX_LIGHTSTYLES; i++) {
        lightstyles[i].rgb[0] = 1;
        lightstyles[i].rgb[1] = 1;
        lightstyles[i].rgb[2] = 1;
        lightstyles[i].white = 3;
    }
    r_newrefdef.lightstyles = lightstyles;

    if (gl_state.lightmap_textures == 0) {
        gl_state.lightmap_textures = TEXNUM_LIGHTMAPS;
    }

    gl_lms.current_lightmap_texture = 1;

    /*
    ** if mono lightmaps are enabled and we want to use alpha
    ** blending (a,1-a) then we're likely running on a 3DLabs
    ** Permedia2.  In a perfect world we'd use a GL_ALPHA lightmap
    ** in order to conserve space and maximize bandwidth, however
    ** this isn't a perfect world.
    **
    ** So we have to use alpha lightmaps, but stored in GL_RGBA format,
    ** which means we only get 1/16th the color resolution we should when
    ** using alpha lightmaps.  If we find another board that supports
    ** only alpha lightmaps but that can at least support the GL_ALPHA
    ** format then we should change this code to use real alpha maps.
    */

    char format = gl_monolightmap.string.toUpperCase().charAt(0);

    if (format == 'A') {
        gl_lms.internal_format = gl_tex_alpha_format;
    }
    /*
    ** try to do hacked colored lighting with a blended texture
    */
    else if (format == 'C') {
        gl_lms.internal_format = gl_tex_alpha_format;
    } else if (format == 'I') {
        gl_lms.internal_format = GL11.GL_INTENSITY8;
    } else if (format == 'L') {
        gl_lms.internal_format = GL11.GL_LUMINANCE8;
    } else {
        gl_lms.internal_format = gl_tex_solid_format;
    }

    /*
    ** initialize the dynamic lightmap texture
    */
    GL_Bind(gl_state.lightmap_textures + 0);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, gl_lms.internal_format, BLOCK_WIDTH, BLOCK_HEIGHT, 0,
            GL_LIGHTMAP_FORMAT, GL11.GL_UNSIGNED_BYTE, dummy);
}

From source file:loon.core.graphics.opengl.LWjglGL10.java

License:Apache License

public final void glTexParameterf(int target, int pname, float param) {
    if (GLEx.verMinor < 2 && param == GL12.GL_CLAMP_TO_EDGE) {
        param = GL11.GL_CLAMP;/* w  ww .ja  v a  2s. c  o  m*/
    }
    GL11.glTexParameterf(target, pname, param);
}

From source file:lwjake2.render.lwjgl.Surf.java

License:Open Source License

/**
 * GL_BeginBuildingLightmaps//from ww w  . jav a  2 s.  co  m
 */
void GL_BeginBuildingLightmaps(model_t m) {
    // static lightstyle_t   lightstyles[MAX_LIGHTSTYLES];
    int i;

    // init lightstyles
    if (lightstyles == null) {
        lightstyles = new lightstyle_t[Defines.MAX_LIGHTSTYLES];
        for (i = 0; i < lightstyles.length; i++) {
            lightstyles[i] = new lightstyle_t();
        }
    }

    // memset( gl_lms.allocated, 0, sizeof(gl_lms.allocated) );
    Arrays.fill(gl_lms.allocated, 0);

    r_framecount = 1; // no dlightcache

    GL_EnableMultitexture(true);
    GL_SelectTexture(GL_TEXTURE1);

    /*
    ** setup the base lightstyles so the lightmaps won't have to be regenerated
    ** the first time they're seen
    */
    for (i = 0; i < Defines.MAX_LIGHTSTYLES; i++) {
        lightstyles[i].rgb[0] = 1;
        lightstyles[i].rgb[1] = 1;
        lightstyles[i].rgb[2] = 1;
        lightstyles[i].white = 3;
    }
    r_newrefdef.lightstyles = lightstyles;

    if (gl_state.lightmap_textures == 0) {
        gl_state.lightmap_textures = TEXNUM_LIGHTMAPS;
    }

    gl_lms.current_lightmap_texture = 1;

    /*
    ** if mono lightmaps are enabled and we want to use alpha
    ** blending (a,1-a) then we're likely running on a 3DLabs
    ** Permedia2.  In a perfect world we'd use a GL_ALPHA lightmap
    ** in order to conserve space and maximize bandwidth, however 
    ** this isn't a perfect world.
    **
    ** So we have to use alpha lightmaps, but stored in GL_RGBA format,
    ** which means we only get 1/16th the color resolution we should when
    ** using alpha lightmaps.  If we find another board that supports
    ** only alpha lightmaps but that can at least support the GL_ALPHA
    ** format then we should change this code to use real alpha maps.
    */

    char format = gl_monolightmap.string.toUpperCase().charAt(0);

    if (format == 'A') {
        gl_lms.internal_format = gl_tex_alpha_format;
    }
    /*
    ** try to do hacked colored lighting with a blended texture
    */
    else if (format == 'C') {
        gl_lms.internal_format = gl_tex_alpha_format;
    } else if (format == 'I') {
        gl_lms.internal_format = GL11.GL_INTENSITY8;
    } else if (format == 'L') {
        gl_lms.internal_format = GL11.GL_LUMINANCE8;
    } else {
        gl_lms.internal_format = gl_tex_solid_format;
    }

    /*
    ** initialize the dynamic lightmap texture
    */
    GL_Bind(gl_state.lightmap_textures + 0);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, gl_lms.internal_format, BLOCK_WIDTH, BLOCK_HEIGHT, 0,
            GL_LIGHTMAP_FORMAT, GL11.GL_UNSIGNED_BYTE, dummy);
}

From source file:me.thehutch.fusion.engine.render.opengl.gl20.OpenGL20Texture.java

License:Open Source License

@Override
public void setAnisotropicFiltering(float value) {
    ensureCreated("Texture must be created to set the anisotropic filtering.");
    // Check if the driver is capable of anisotropic filtering
    if (value > 0.0f && GLContext.getCapabilities().GL_EXT_texture_filter_anisotropic) {
        final float maxFiltering = GL11.glGetFloat(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT);
        GL11.glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT,
                FastMaths.clamp(value, 0.0f, maxFiltering));
    }//  w w w. ja va  2  s.  com
}

From source file:myfirstgame.Window.java

public void init(int width, int height) {

    Window.width = width;// ww w  .j  a v a 2  s. c om
    Window.height = height;

    try { //Look for a displaymode with matching width and height that supports fullscreen, set it to the displaymode we want to use.
        DisplayMode displayMode = null;
        DisplayMode[] modes = Display.getAvailableDisplayModes();

        for (int i = 0; i < modes.length; i++) {
            if (modes[i].getWidth() == width && modes[i].getHeight() == height
                    && modes[i].isFullscreenCapable()) {
                displayMode = modes[i];
            }
        }
        Display.setDisplayMode(displayMode);
        Display.setFullscreen(true);
        Display.create();

    } catch (Exception e) {
        e.printStackTrace();
        System.exit(0);
    }

    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glLoadIdentity();
    GL11.glOrtho(0, 800, 0, 600, 1, -1);
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);

    try {
        Mouse.create();
        Keyboard.create();
    } catch (LWJGLException ex) {
        Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
    }
    //Mouse.setGrabbed(true);
}

From source file:name.martingeisse.swtlib.canvas.OpenGlImageBlockCanvas.java

License:Open Source License

@Override
protected void drawBlock(final int x, final int y) {
    palette.safeBind(getBlock(x, y));/*ww w  . j  av  a  2s.  c  o m*/
    GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);

    // glBegin/glEnd must be called per block because of changing textures
    GL11.glBegin(GL11.GL_QUADS);
    GL11.glTexCoord2f(0.0f, 0.0f);
    GL11.glVertex2i(x, y);
    GL11.glTexCoord2f(1.0f, 0.0f);
    GL11.glVertex2i(x + 1, y);
    GL11.glTexCoord2f(1.0f, 1.0f);
    GL11.glVertex2i(x + 1, y + 1);
    GL11.glTexCoord2f(0.0f, 1.0f);
    GL11.glVertex2i(x, y + 1);
    GL11.glEnd();

}