You need to be pretty proficient with Java and programming concepts, as well as basic concepts like images (do you know what RGBA stands for? do you understand what (x, y) represents in screen space?).
You also need to understand some concepts like matrix and vector math. If you don’t know that, don’t fret, because you can actually get quite far without it.
You may just need to accept that, during your learning stage, there will be concepts you won’t fully understand until later.
I am slowly working on a beginner’s intro to LWJGL and the programmable pipeline. The full source code is (relatively) minimal, and should provide a good base for getting started. Or, if you want, you could just use the source as a simple sprite rendering API, and not worry about what’s going on under the hood.
Take a look at the source here:
Further, you can see the wiki where I’m working on a short tutorial series:
Display Creation
Texture Creation
Java NIO Buffers (you will use these to upload texture data to OpenGL)
There is no simple guide that gives you a short answer on how to “draw a sprite” in OpenGL, because it’s not that easy. In modern OpenGL (aka 3.0+), you need to:
- Decode the PNG into RGBA bytes.
- Upload the bytes to OpenGL
- Create a shader that will sample your texture.
- Create a 4x4 matrix for 2D orthographic screen projection.
- Pass the matrix to the vertex shader.
- Specify the vertex attributes which define the two triangles of your sprite mesh.
- Bind the texture and draw the elements.
OpenGL isn’t really for the faint of heart… nor is it for those who want a simple answer.