For a normalmap for things with flat facets, that aren't making use of heavy welding, you can just do it as a grayscale bumpmap and run it through nVidia's tool. That's how you do stuff like walls in FPS games, and it'd work just fine in Spring, too, for stuff that's basically flat.Is there something I missed?
It won't look as good for rounded things, or really complex stuff crossing a lot of seams, though, because you'll see where it's projecting at a funky angle at the intersections of the facets.
I specifically designed the stuff in P.U.R.E. to make use of this, because I thought Trepan was going to release it months and months ago, which is one of the reasons I picked that strategy for the models. Without the normal maps to give it bumps and define all the greebles, I'm not satisfied with the results, which is why I brought this up again, seeing how I'm getting closer to the next big release.
Not that doing stuff like tessellating the model heavily, for rounded stuff, wouldn't be very cool and useful, but meh, Spring's rounding shader, which basically just does that automagically, is doing something very similar, I think, but I dunno, I haven't read the code yet, and most of JC's hardcore stuff I find very hard going still, as my knowledge of how all this works is still very incomplete.
Adding a normalmap interpretation to the blue channel would be possible, and probably the easiest way to put this into Spring's hardcoded side... however...
1. I'd rather have this as a Widget, if that's really possible, so that players choose whether or not it runs, or it could auto-disable itself if GLSL isn't available, use an older rendering mode, etc.
2. They'd have to be converted to normal maps anyhow, according to what I've read thus far. So, we'd lose the ability to custom-tweak them when converting to DXT5-Twist (I think that's the right term), which would be bad, since it'd leave us at the mercy of however the shader chose to interpret the map.
If you haven't played with making normal maps with nVidia's texture export tool, try it out, it's not really rocket science, but you can make a lot of adjustments to the mips, sharpening steps, etc.- it'd be very bad to lose all of that, imo, because between not controlling the process, and being at the mercy of the shader code's re-interpretation of the grayscale, I think the results would probably look bad sometimes.