public Texture(String path) {
		BufferedImage img = null;
		
		try {
			img = ImageIO.read(Texture.class.getResourceAsStream(path));
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		tw = img.getWidth();
		th = img.getHeight();
		pixels = img.getRGB(0, 0, tw, th, null, 0, tw);
		
		ByteBuffer pb = BufferUtils.createByteBuffer(tw * th * 3);
		
		for (int i = 0; i < pixels.length; i++) {
			byte rr = (byte)((pixels[i] >> 16) & 0xFF);
			byte gg = (byte)((pixels[i] >> 8) & 0xFF);
			byte bb = (byte)(pixels[i] & 0xFF);
			
			pb.put(rr).put(gg).put(bb);
		}
		
		pb.flip();
		
		glBind = GL11.glGenTextures();
		
		GL11.glBindTexture(GL11.GL_TEXTURE_2D, glBind);
		
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
		GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
		GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGB, tw, th, 0, GL11.GL_RGB, GL11.GL_UNSIGNED_BYTE, pb);
		
		GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
	}