Didn’t I quit my job so I didn’t have to do these?
Well listing this should make me feel like I’ve been productive. For the past week I’ve been “technical mode” instead of “creative mode”. Some of the things I’ve accomplished (including pictures since that makes it more interesting):
- Added support for depth pre-passes to my rendering engine, and used it for terrain. I was hoping this would improve perf more than it did (in fact on Windows it is slowing things down a little in most scenarios). When water becomes more expensive to render (as it will), this should help more.
- Implemented a more robust draw ordering system. This helps performance more than anything. Turns out my terrain (which is the most expensive thing I draw per-pixel) was being drawn first all this time, and thus not benefiting from depth testing.
- Added the ability to support multiple variations of a tree type for my game (though it requires multiple draw calls).
- Added a Saguaro tree (based on LTrees, see codeplex). Ok, “modelling” a tree was one artistic/creative thing I did.
- Fixed a terrain texture atlas issue on Xbox, and verified things still run as usual on Xbox (and on my Macbook Air).
- Half implemented a water flow system to attempt to render flowing water (like streams). Look for a future post on this. This was by far the most time-consuming thing I did this past week (took a day and a half).
- Added support for multiple vertex streams in my model system (though I am no longer using this).
- Made the terrain editor line tool show where it will draw lines (and fixed bugs with drawing vertical lines).
- Made a rect tool for the terrain editor.
- Added an editable layer for inside/outside stencil blocks (which uses the above rect tool).
- Added ability to zoom out in the terrain editor.
- Converted the terrain editor UI from completely in-game to a side-by-side winforms thing (having it in-game was nice to test my game’s data-binding UI system, but ultimately I need a bunch of common controls that I don’t want to implement for the game).
- Added basic hemispheric ambient lighting (makes things look a little better in the shade).
- Added a full set of 16 flat terrain textures, and some more steep terrain textures.
- Added a texture processor to load textures as Alpha8. Useful for grey-scale textures like the weather systems or perlin noise – they no longer need to use Dxt compression to keep size down (which would lose fidelity).
- Factored fog out of the main render engine into a game-specific component (where it belongs).