MR.D wrote:There are games out that use 6 texture layers to produce normal maps, specular maps, occlusion maps, color tint maps, and all that eye candy.
Spring uses at least 4 already:
- 1st texture: diffuse color + teamcolor
- 2nd texture: reflectiveness (== specular map basically, though I don't think the specular exponent is actually in any texture in spring), transparency (for features at least), and some other stuff in remaining 2 channels, which I forgot about
- environment map (for reflections)
- shadow map
That said translucency (which I suppose is what you're talking about, since you talk about alpha and stuff and S3O already has transparency, though I never tested it with units, just with features) is A LOT harder to do right, fast, then just throwing 10k polies at the GPU with zbuffering on.
This is because for really correct translucency polygons needs to be sorted on the CPU. (can shortcut by just sorting models or pieces usually (that only gives 100% correct results if all pieces are convex), but that's still pretty expensive compared to rendering a few k more polies)
Also translucent stuff is a pain to render with emerging techniques like deferred shading etc.
That said Spring is in the majority (if not all) of the cases CPU bound and definitely not polygon-count bound or fillrate bound, so the question whether to use polies or transparency wrt efficiency is pretty much a moot point.
Just realize that by using transparency you exclude users who can't have advanced unit shading on (for whatever reason), while their cards probably would have been able to render the extra polygons without slowdown.