1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(path); BufferedImage bi = ImageIO.read(is); is.close(); byte[] databytes = ((DataBufferByte) bi.getRaster().getDataBuffer()).getData(); ByteBuffer data = ByteBuffer.allocateDirect(databytes.length); data.order(ByteOrder.nativeOrder()); data.put(databytes, 0, databytes.length); data.rewind();
IntBuffer texb = IntBuffer.allocate(1);
binding.genTextures(1, texb); binding.bindTexture(binding.TEXTURE_2D(), texb.get(0)); binding.texParameter(binding.TEXTURE_2D(), binding.TEXTURE_MIN_FILTER(), binding.LINEAR()); binding.texParameter(binding.TEXTURE_2D(), binding.TEXTURE_MAG_FILTER(), binding.LINEAR()); binding.texParameter(binding.TEXTURE_2D(), binding.TEXTURE_WRAP_S(), binding.CLAMP()); binding.texParameter(binding.TEXTURE_2D(), binding.TEXTURE_WRAP_T(), binding.CLAMP()); binding.texEnvi(binding.TEXTURE_ENV(), binding.TEXTURE_ENV_MODE(), binding.MODULATE()); binding.texImage2D(binding.TEXTURE_2D(), 0, binding.RGBA(), bi.getWidth(), bi.getHeight(), 0, binding.RGBA(), binding.UNSIGNED_BYTE(), data); |