Hello. I recently made a game in slick2d, and then hated the limitations so much, that I decided to use lwjgl from scratch. I just do not like using libgdx. Anywho, I remember from my earlier days of lwjgl that for textures, I needed slick2d. That is a little wierd. Wasnt lwjgl made first? So I was wondering, is there an alternative? I just want to use lwjgl without anything else, including slick2d.
You can make your own texture class. Look here and see how LWJGL implements it.
With OpenGl, the only thing you really need to worry about is the texture’s id.
What is wrong with LibGDX? It gives you the same control as LWJGL (glXX functions) but ports to more platforms (Android, iOS, HTML5), includes more utilities (vecmath, texture/audio decoding, GUI, shader/VBO utils, texture packing, freetype fonts, etc), and has a wider community for gamedev.
Anyways – you don’t need Slick2D for loading textures. In fact, I would recommend against it – Slick2D/SlickUtil is old and buggy, and not based on “modern” OpenGL techniques.
If you want to write your own texture loader, see here:
And here:
But like I said; LibGDX is more powerful than LWJGL and usually a far wiser choice.
LWJGL does not have any dependencies on Slick2D, but neither does it have any image decoding functionality. LWJGL is strictly a wrapper around OpenGL, OpenCL, and OpenAL, with some minor nods to partial GLU and GLUT functionality, and some half-baked math libs that are destined for the chopping block in 3.0. As OpenGL has no image decoding, neither does LWJGL.
So yeah, if you want to use “raw” LWJGL and only LWJGL, you have a tough row to hoe, which means reinventing image format decoding at the very least. I second Zhon’s recommendation of Matthias Mann’s excellent PNGDecoder, and despite the TWL in the url, it actually has no dependencies whatsoever on TWL.
Texture loading code: http://pastebin.java-gaming.org/acfa7401563
Creates a texture that clamps to the coordinates 0.0 and 1.0 (instead of repeating), when enlarged uses Nearest-Neighbour filter, and when shrunk uses the Linear filter.