IS3 is also a C++ engine, and currently supports DX9 & GL2. My recent (completed) topics of research have included resolving cross api issues, 2d on 3d, optimised geometry batching & submission, vertex cache optimisation, and I have implemented multi-streaming for further optimisation later on. Nearly all of the usual software tools necessary for accelerated development have been completed including support for nvperfhud5, custom assert macros, memory management for tracking leaks, etc. IS3 has so far got one proprietary binary file format for storing 3d meshes which supports skinned animation and was originally inspired by the unofficial MD4 3d file format.
I've tried to keep supporting libraries in the engine down to the essentials, but the ones most worthy of note are lua for scripting, cegui for gui, expat for xml parsing and zlib for compression.
Ok so now we're more up to speed with where I'm at I guess I can talk about slightly more interesting stuff and finish with my daily development blog entry.
I've most recently finished font output which turned out to be relatively annoying to get perfect. At the same time I was authoring the cegui renderer module for compatibility with my renderer and it took about a fortnight to make it perfect but now it is done I have excellent performance and very high quality 2d output. The project came together for implementing the engine console which is essentially a lua interpreter. Cegui comes with lua bindings and I've redirected lua output to the console so that should come in useful for debugging amongst other stuff.
So today I've started work on a few things. I wrote some standard templates for IS3 source files to try and streamline my workflow a little bit, and I'm going to document the parts of the engine which aren't likely to change in the near future. I've also started work on 2d sprite and vector file formats which are xml files for ease of use.
I intend to spend a fair amount of time working on the 2d graphics components as a lot of great games can be made in 2d and I don't want to let an easy part of the engine be crappy just because I want to jump into gpu shader development.
I'll need to write up the expat parser modules, code up the sprite engine, and the vector engine, then I can think about adding lua bindings for scripting. Should be fun!