Over the past few days I have addressed many issues, from lighting problems to new editor features.
I had two types of lighting issues - the first from the ambient occlusion. I had been using hemispherical ambient occlusion, which has some problems as I implemented it. The idea is that you really only need to cast a hemisphere's worth of normals in order to get a good ambient occlusion result. The problem is : which hemisphere? Relying on vertex normals for this, even interpolated and renormlized per lightmap texel wasn't working well in several cases. I try to get rid of T junctions and other bad geometry issues, but the hemispherical ambient occlusion was the part of the lighting that showed off issues the worst.
So, I decided to cast a sphere of rays instead, and just double the resulting occlusion value, clamping at one. This has the advantage of not being related to the tessellation, but this disadvantage of being much slower ( due to the old hemispherical method walking in a grid pattern, and the sphere needing more than twice as many samples to look similar ). Anyway, it looks better, but takes ages to compute, so I am using the old method for now, but will crank it up on occasion, and before ship.
I also ran into an issue with the gloss map on one of my textures that sent me through a bit of a goose chase, but now it's resolved.
Just tonight I added cameras to the level editor. These will be useful for editing purposes, but also for showing things to the player and for our brief cutscenes.
Today I added editor-only trigger menus - so you can define a trigger near a computer console or switch that specifies the players choices, as well as the command to execute for each.