{"id":303,"date":"2018-01-09T13:39:22","date_gmt":"2018-01-09T13:39:22","guid":{"rendered":"http:\/\/blog.qubekwest.com\/?p=303"},"modified":"2018-01-09T13:39:22","modified_gmt":"2018-01-09T13:39:22","slug":"educational-detour","status":"publish","type":"post","link":"https:\/\/blog.qubekwest.com\/?p=303","title":{"rendered":"Educational Detour"},"content":{"rendered":"<p>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.\u00a0 Searching Amazon even today results in exactly zero books on the subject.\u00a0 That meant a rather tricky prospect of attempting to learn OpenGL and converting as you go from C++ to Java with LWJGL.\u00a0 Needless to say, if one learning curve is tough, having a couple at once is even worse.<\/p>\n<p>Having now taken a bunch of time off and come back to it, some things have changed.\u00a0 New versions of Java and LWJGL are out.\u00a0 Vulkan has gone from being a fun theory about the future of graphics to a real thing that people all over are now using.\u00a0 With this in mind, it seemed like a good idea to search online for tutorials about LWJGL and Vulcan again.\u00a0 The good news is that they now both exist.\u00a0 The bad news is that now that they exist, I have to stop what I&#8217;m doing with QubeKwest and buckle down to learn them.\u00a0 Technically I don&#8217;t have to stop work on QubeKwest and I could simply attempt to integrate my new knowledge into the game as I go.\u00a0 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.\u00a0 When tackling learning curves it&#8217;s often better to simplify.<\/p>\n<p>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.\u00a0 That means that Vulkan follows a lot of the same principles as OpenGL does.\u00a0 That&#8217;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.<\/p>\n<p>Just like with OpenGL, everything with Vulkan is typically in C++.\u00a0 That once again meant that I&#8217;d be forced to do a bit of learning while translating at the same time.\u00a0 For that reason, I&#8217;ve decided to ignore the existence of Vulkan for the moment (even though I think it&#8217;s super cool and really want to learn it) and to instead focus on the <a href=\"https:\/\/www.gitbook.com\/book\/lwjglgamedev\/3d-game-development-with-lwjgl\/details\">LWJGL Tutorial<\/a>\u00a0I found which uses OpenGL.\u00a0 Still sort of more than one learning curve, but it seems like it&#8217;ll be the most straightforward approach.\u00a0 The tutorial is a roughly 400 page book so I&#8217;m pretty sure it&#8217;ll take me quite a while to go through.<\/p>\n<p>Eventually, once I&#8217;ve completed the LWJGL Tutorial, I will probably try to integrate the new knowledge into QubeKwest before taking on Vulkan.\u00a0 I have a couple of real books about Vulkan and a <a href=\"https:\/\/vulkan-tutorial.com\/\">Vulkan Tutorial<\/a> I found online to use to tackle that task when it comes.\u00a0 If the posts end up being a little farther apart for a while it&#8217;s because I&#8217;m working my way through things that have no solid connection to QubeKwest.\u00a0 Once I start trying to weave new understandings of things into QubeKwest I&#8217;ll resume posting about the progress on that front.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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.\u00a0 Searching Amazon even today results in exactly zero books on the subject.\u00a0 That meant a rather tricky prospect &hellip; <a href=\"https:\/\/blog.qubekwest.com\/?p=303\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Educational Detour<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-303","post","type-post","status-publish","format-standard","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/posts\/303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=303"}],"version-history":[{"count":3,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/posts\/303\/revisions"}],"predecessor-version":[{"id":306,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/posts\/303\/revisions\/306"}],"wp:attachment":[{"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}