{"id":56,"date":"2019-01-27T21:07:56","date_gmt":"2019-01-27T21:07:56","guid":{"rendered":""},"modified":"2023-11-27T07:09:48","modified_gmt":"2023-11-27T07:09:48","slug":"opengl-massive-update","status":"publish","type":"post","link":"https:\/\/landbeyond.net\/wordpress\/2019\/01\/27\/opengl-massive-update\/","title":{"rendered":"OpenGL Massive Update"},"content":{"rendered":"<p>For the last month and half, I&#8217;ve been very busy working on The Land Beyond rpg Engine and Alternate Reality the remake.\u00a0\u00a0\u00a0 I&#8217;ve taken the time to remove all the deprecated opengl calls.\u00a0 I first started with the drawing of text. \u00a0 To draw all the text on the screen it would be hundreds and thousands of opengl calls.<\/p>\n<p>I&#8217;ve changed the font system to use VBO, VAO calls.\u00a0\u00a0 Now you send it a string that needs to be displayed on the screen, it creates a mesh out of the string so that there are only 2 &#8211; 4 calls per screen now.\u00a0\u00a0 Inside my Menu system and GUI system,\u00a0 you can give it control characters inside the screen to do line feeds and carriage returns.\u00a0 This way the mesh now to increase the y by the height of the font.\u00a0 You can always tell it to center the string and even if the string is 10 lines, it figures out the largest string and centers the rest of the lines based on the largest size.\u00a0 You can change the colors,\u00a0 making text flashing and also make text delayed from showing.<\/p>\n<p>There is a version in &#8220;The Dungeon&#8221; the Chapel,\u00a0 there are options where the text shows up slowing and over time.\u00a0 Until all the text shows up, then the game will not allow user input.\u00a0\u00a0 This feature is not part of the remake,\u00a0 you can check if the current tab is completed and then you can based on that value to handle input or not from the user.<\/p>\n<p>It is working out very nicely and the number of opengl calls went from hundreds or thousand to 3 &#8211; 5 calls.<\/p>\n<p>This new feature broke the entire game and took a better part of a month to get the game back to a good compile feature.\u00a0 The Dungeon is still completely broken, but since &#8220;The City&#8221; and &#8220;The Dungeon&#8221; are expansion modules, they are stand alone and are not require to the rest of the game.<\/p>\n<p>Next step, I got instance rendering in the game working using shaders and removing all the old deprecated calls.\u00a0\u00a0 The Snow and Rain particles in the 16 bit mode could effect performance.\u00a0 I got the instance rendering working and now 30,000+ particles has no effect on the game while before 8,000 was the limit on my computer before it starting affecting the game play.<\/p>\n<p>I&#8217;m now ready to get back to debugging.\u00a0 Now it feels like a huge step back in the debugging process.\u00a0\u00a0 During all this,\u00a0 the changes to convert the game into an RPG Engine and turning openGL support to support modern openGL.\u00a0 Many things are broken now.\u00a0\u00a0 I been going through the entire code and fixing bugs, in areas of the code that were working.\u00a0 At the end of the day this is a huge step for the better.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the last month and half, I&#8217;ve been very busy working on The Land Beyond rpg Engine and Alternate Reality the remake.\u00a0\u00a0\u00a0 I&#8217;ve taken the time to remove all the deprecated opengl calls.\u00a0 I first started with the drawing of text. \u00a0 To draw all the text&hellip;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-56","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/posts\/56","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/comments?post=56"}],"version-history":[{"count":1,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/posts\/56\/revisions"}],"predecessor-version":[{"id":279,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/posts\/56\/revisions\/279"}],"wp:attachment":[{"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/media?parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/categories?post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/landbeyond.net\/wordpress\/wp-json\/wp\/v2\/tags?post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}