honey devlog 0
Over the past week, I've been working on getting the refactor rolling again, starting with a "hello triangle!" program. I'm not quite there yet, but there has been progress -- I have the shader bindings working! The major holdout right now is building an agnostic system for creating vertex data. The old version of honey had a fairly simple system, with a single vertex struct that stored a vertex's position, normal, tangent, color, bones, and bone weights. This worked, but it is quite opinionated and also requires some fairly significant memory usage -- every object has color and bone data for every vertex, even though relatively few objects will actually use those fields!
I'm redesigning that system. Now it will be possible to construct vertex array objects with arbitrary attributes so that the user has complete control of which objects have or need which attributes. It should also be possible to create and load arbitrary data into the matching vertex buffers. This may well be slower than the old version, where all mesh operations happened squarely within the C layer, but because it only happens when loading, I think the increased flexibility will be a net positive.
Next week, I plan to have some actual triangles rendered to the screen! c: