OpenGL Massive Update

For the last month and half, I’ve been very busy working on The Land Beyond rpg Engine and Alternate Reality the remake.    I’ve taken the time to remove all the deprecated opengl calls.  I first started with the drawing of text.   To draw all the text on the screen it would be hundreds and thousands of opengl calls.

I’ve changed the font system to use VBO, VAO calls.   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 – 4 calls per screen now.   Inside my Menu system and GUI system,  you can give it control characters inside the screen to do line feeds and carriage returns.  This way the mesh now to increase the y by the height of the font.  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.  You can change the colors,  making text flashing and also make text delayed from showing.

There is a version in “The Dungeon” the Chapel,  there are options where the text shows up slowing and over time.  Until all the text shows up, then the game will not allow user input.   This feature is not part of the remake,  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.

It is working out very nicely and the number of opengl calls went from hundreds or thousand to 3 – 5 calls.

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.  The Dungeon is still completely broken, but since “The City” and “The Dungeon” are expansion modules, they are stand alone and are not require to the rest of the game.

Next step, I got instance rendering in the game working using shaders and removing all the old deprecated calls.   The Snow and Rain particles in the 16 bit mode could effect performance.  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.

I’m now ready to get back to debugging.  Now it feels like a huge step back in the debugging process.   During all this,  the changes to convert the game into an RPG Engine and turning openGL support to support modern openGL.  Many things are broken now.   I been going through the entire code and fixing bugs, in areas of the code that were working.  At the end of the day this is a huge step for the better.