You may remember that I had image-space outlines a while ago. There's a big problem with such outlines: because they overlay the rendering, they can occlude the precious screen-space of small objects. A better solution might be rim highlights (used in some form by Valve), where the fragment brightens as the normal approaches perpendicularity with the eye vector. For additional contrast, you can use drop-shadows, calculated from the depth-difference of a fragment neighbourhood. It makes sense that receeding fragments should be darker and occluded by brighter advancing fragments.
I already have some form of rim-highlights (could be better though). I plan to swap the existing (but broken) outline code for drop-shadows soon.
Fun fact: the following is valid code. Call me a n00b, but I didn't know you could pass a class template name as a template argument like this.
template struct A{ typedef T type;};template <template class T, typename U> struct B{ typename T::type value;};int main(){ Bint> b;}
(I don't think you're a noob, you just told me to call you one.)
It's been a while so it's good to see your project again even if I cannot comment much on what you're talking about because it's largely over my head and not entirely relevant to what I'm doing ... but no, that never stopped me from reading about stuff. It's fascinating and confusing.
Whenever I find those piles of cash I've been looking for I'd totally hire you to code something once I think of something to code. Yeah.