Ioannis Tsakpinis edited this page Dec 11, 2016 · 3 revisions


If you are reading this, you're interested in learning more about LWJGL. You'd be pleased to know that there's not much to learn. LWJGL provides access to native APIs through Java. If you're familiar with the native API, then you'll be familiar with the corresponding LWJGL bindings. If you are not familiar with the native API, then you should be looking at its documentation or tutorials that may be available.

Trying to learn the API via LWJGL is possible (a lot of javadoc is included), but not very productive. The Vulkan bindings for example include full API reference, but that's different from reading the Vulkan specification. A more complete understanding of the native APIs is essential to getting the most out of LWJGL.

LWJGL is a Java library and often Java developers have no experience with native languages. This will not stop you from using LWJGL, but getting familiar with the basics of C would be a very useful investment. It will help you understand the design and semantics of LWJGL, it will make existing resources (native sample code, tutorials, etc) much more accessible and it will help with using the native APIs effectively.


  • Get familiar with C.
  • Get familiar with the native APIs you use.
  • Read the FAQ and Troubleshooting pages.