If the original and resulting position are the same, you effectively rotated around your objects center. There is nothing you can change about that, but there’s a simple trick to rotate around an arbitrary point in space: you translate the center of your object to the origin, then rotate, and then translate it back to whatever position you want it to be located at. (0, 0, 0, 1), of the current coordinate system. Regarding your problem at hand, for now, it should suffice to know that matrix rotation leads to rotation of a position around the origin, i.e. LWJGL is just a wrapper usable with Java (since OpenGL implementations are usually implemented in C and LWJGL needs to interface with the C library through the JNI).Īt that age, aren’t you supposed to go to school? (Don’t know where you’re coming from.) The interface doesn’t change how the encapsulated GL calls operate. I actually work more with lwjgl rather than opengl, though the calls/code are the same. However, if you want to really do 3D programming, there is absolutely no way around the appropriate math portions. That’s fine if you’re trying to figure out what a specific funtion does. I often copy it from elsewhere and change bits around to learn what certain pieces do Read it, understand it and be amazed at how awesome math is. If you’re not solid in 3D math, don’t slip anything. It’s good learning material and when I look up the most common stuff, this is the book I go to. Even though you’re 13, if you’re into this stuff, I recommend reading Lengyel’s book, “Mathematics for 3D Game Programming and Computer Graphics”.