I've started doing the work to add voxels that can allocate and store information for themselves. I've also added support for voxels that have different sorts of collision geometry. Right now we only support Axis-Aligned Bounding Boxes for collision. You can also define custom geometry for each voxel that can be either static and placed in chunk buffer, or dynamic and get generated every frame. The lighting still works like before but the new blocks and shapes have not been implemented correctly. There are also still some bugs and weird behavior with the collision system.
They're Stairs Now
Stairs are now rendering correctly. Their collision information isn't being utilized yet though.
These Are Supposed To Be Stairs
I'm having some problems with getting some custom vertices into the vertex buffer. Also in the middle of added a way for blocks to allocate/store more information than simply the type. I've already implemented a memory arena to handle to the allocations and deallocations (hence the turquoise readout in the top left).