I have this idea GNAWING at me since 2006, that I can't test by myself because my engine is just short of being ready to test it, for a ***
decade.
(insert appropriate "arrrrgh" face here).
Anyways. Instead of bump mapping and stuff you use *two* classical hand-painted textures that you *blend* based on the angle between view normal and surface normal.
So that viewing surface face-on you see texture 0 and viewing it at sharp angles you see texture 1.
Simple, really, but should allow for interesting effects
The most simple case is when texture 1 is a copy of texture 0 with brightness reduced by 20%.
Then there could be more stuff, emphasizing edges in 1, making cracks darker & deeper in 0, drawing completely different highlights for metal parts - and so on.
I'd test it myself before proposing, but it itches, IT ITCHES SO BAD
And my engine is not compilable
again, I tore down my line info parser because latest Pascal just can't generate dwarf2 without botching it horribly, they abandoned that mammoth crap in favor of stabs and oh god why oh why did I make that subsystem incompatible with the standard RTL modules and rely so much on dwarf2 which it turns out only works for Intel-32, whyyyyy :sniff: a.