Recently I've been working on one very important component of the engine environment - scene viewer. I didn't realize how valuable is to have it until it was pretty much completed. Now the life has changed and I'm enjoying making demos without a single line of code - I'm just exporting from Blender, loading in Viewer - and (viola!) we can see the same wonders but in real-time!
In viewer you can see how is the scene represented by the engine's logic. For example, what attributes does this particular mesh have and what of them are animated. What animations can be played, what material data accessed and so on. You can find a more detailed description in the KRI Viewer wiki
Viewer allows you to see the powerful rendering pipeline flexibility provided by KRI - switching between forward, deferred and other types of rendering on the fly.
What is not obvious is how the creation of Viewer boosted the overall engine development:
- New error reporting functionality has been implemented. It allows the one to skip all non-critical errors and see the detailed information at the same time (without a need for the code!).
- I've polished interfaces for all renders, because now almost all of them are used in the same program.
- I've introduced render groups to encapsulate numerous renders designed to work together.
- Special case of non-quaternion meshes is now partially supported, allowing you to see meshes correctly even if no UV layers supplied (and no quaternions generated).
- Tons of other improvements!