I made a nice little set of functions to draw message bubbles dynamically. All I need to add to it is some better formatting options for the text inside. Right now my text drawing function is only set up to draw and measure single lines of text.
Converting 3D Coordinates Into Screen Space
Finally got my Matrix4 * Vec3 function working so that I can use my view and projection matrix to get a screen coordinate for a specific point in 3D space. This will be useful for dialogue boxes and clipping faces in front of the player when in 3rd person.
Some More Debug Readouts
I added some more debug readouts in the top left that I can easily enable and disable. Also changed the clear color to white for the time being so we can see which faces are actually being drawn. I've also gone and sped up the rendering a little bit more. We used to drop to about 24FPS is large open areas. Now we can always stay above 30 since our early out in the loop is when the block we are checking is solid. We get a consistent 60 inside cave-like areas which is good.
New Textures and Simple UI Buttons
I added a different texture pack to start from. Still not my own textures but it'll serve as a base point for a while as we slowly start making our own textures. Also added a way to easily add buttons to the UI. I went with a method proposed by Casey Muratori called "Immediate Mode GUI" (https://www.youtube.com/watch?v=Z1qyvQsjK5Y). It was surprisingly easy to implement.
Matrices Are Hard
This is what happens when you accidentally screw up your translation matrices
Shadows Video Demo 1
Made a quick video to show the current state of the shadows and lighting in real time.
Shadows Are Slowly Getting Better Looking
Player Collision Is Working
I made it so every time the player resolves collision with a block it would change the block to glass or cobblestone.
Collision Testing Area
Making a collision testing course to test the movement/collision system