Educational Detour

Back when I was first trying to get a cube on the screen, and for all the other attempts to do the same thing that followed I suppose, there were astonishingly few useful resources for LWJGL education.  Searching Amazon even today results in exactly zero books on the subject.  That meant a rather tricky prospect of attempting to learn OpenGL and converting as you go from C++ to Java with LWJGL.  Needless to say, if one learning curve is tough, having a couple at once is even worse.

Having now taken a bunch of time off and come back to it, some things have changed.  New versions of Java and LWJGL are out.  Vulkan has gone from being a fun theory about the future of graphics to a real thing that people all over are now using.  With this in mind, it seemed like a good idea to search online for tutorials about LWJGL and Vulcan again.  The good news is that they now both exist.  The bad news is that now that they exist, I have to stop what I’m doing with QubeKwest and buckle down to learn them.  Technically I don’t have to stop work on QubeKwest and I could simply attempt to integrate my new knowledge into the game as I go.  This will create a massive distraction however so I have chosen to step to the side and work on the learning as a completely independent handful of projects.  When tackling learning curves it’s often better to simplify.

Vulkan is a new and shiny way of doing graphics things (and computing things, but those are less important to me right now) and is by the same group that made OpenGL.  That means that Vulkan follows a lot of the same principles as OpenGL does.  That’s probably on purpose so that the hordes of people that have been using OpenGL for the last 25+ years can move over to Vulkan relatively seamlessly.

Just like with OpenGL, everything with Vulkan is typically in C++.  That once again meant that I’d be forced to do a bit of learning while translating at the same time.  For that reason, I’ve decided to ignore the existence of Vulkan for the moment (even though I think it’s super cool and really want to learn it) and to instead focus on the LWJGL Tutorial I found which uses OpenGL.  Still sort of more than one learning curve, but it seems like it’ll be the most straightforward approach.  The tutorial is a roughly 400 page book so I’m pretty sure it’ll take me quite a while to go through.

Eventually, once I’ve completed the LWJGL Tutorial, I will probably try to integrate the new knowledge into QubeKwest before taking on Vulkan.  I have a couple of real books about Vulkan and a Vulkan Tutorial I found online to use to tackle that task when it comes.  If the posts end up being a little farther apart for a while it’s because I’m working my way through things that have no solid connection to QubeKwest.  Once I start trying to weave new understandings of things into QubeKwest I’ll resume posting about the progress on that front.