Oddly aesthetic bug.
seen from United States

seen from Thailand

seen from Austria
seen from United States
seen from United States

seen from Australia

seen from United States

seen from United States
seen from United States
seen from Austria

seen from Austria

seen from United States

seen from Austria
seen from United States

seen from Austria
seen from Germany

seen from Austria
seen from China
seen from United States

seen from Austria
Oddly aesthetic bug.
Hackweek - Thursday
This day was mostly spent debugging problems, and doing it in a stupid way. I think now the intense hacking is starting to get to me, and I am being inefficient.
I have been having problems that I've blamed on myself and my inability to get the math right - in particular I couldn't get the alpha sort to work as it should, things were behaving oddly.
Finally, I managed to figure out that the problem I was having was really an OpenGL issue: I wasn't handling my VAOs and VBOs correctly, and things got broken in ways that I thought looked like bad math.
I could have figured this out much sooner by using something like vogl or just thinking calmly about what I was seeing. Instead I've been changing things here and there and staring at a gdb prompt.
You'd think I would have learned this lesson by now, but to my defense it's been years since I wrote software in plain C, and years since I last wrote any 3D code at all.
VAOs and VBOs
So, the key insight that solved this for me was when I read that OpenGL 3.2+ core profile no longer allows you to use the default VAO, instead requiring that all VBO draw calls are wrapped in a VAO. When I just started out I created two different concepts, one I called mesh which wrapped a VBO for vertex data and an optional VBO for index data, and one I called renderable which wrapped a VAO. When I then started rendering chunks, I never actually created any renderables, I just created meshes and called glDrawArrays directly.
Unfortunately, this worked. Sort of. Until I started rendering in passes.
Now I have merged these into a single mesh object which holds the VAO and VBOs.
Now I need to go back and fix the controls and collisions...
Lighting fixes.
Hackweek, wednesday
Yesterday I got stuck on collision detection. I have the Christer Ericson book but haven't read it in a long time, and clearly I've forgotten most of it. So today I decided to focus on something simpler, and implement lighting. I've got basic sunlight working now - no propagation yet, and the AO needs to flip some triangles to look good - I get artifacts seen above as described in this article. I'm not implementing that exact lighting algorithm, but the fix of flipping certain triangles should work for me too, I just need to implement it.
Still a long way to go before I have anything more than a lame tech demo...
Debugging collisions.
hackweek11 has begun