We have unified our shader pipelines to use the same rendering path for units under construction and cloaked units as well. This significantly cuts down on the performance overhead of cloaked units, as well as allows for a nicer animation for units under construction.
The construction effect used to use the old engine rendering pipeline meaning that it did not use the custom unit shaders extras like normal mapping.
While this did allow the construction effect to display a wire frame and to use transparency these are no longer usable. This does not look too nice with triangles either, and quads are infeasible.
Transparency is a no-go, as these are drawn in the opaque pass.
The main architectural shift is that instead of an entire separate pipeline and the management of those, we communicate to CUS via unit buffer uniforms.
Construction effect + damage can be applied at the same time
Deferred buffered contain the expected data for post-effects
Two main selection effects, highlight under cursor and highlight selected have been folded into userDefined[2].z Effect is controlled via the Selected Units GL4 widget, which draws the selection platters
The cloak effect has been moved to a cloakTime userDefined[3].x unitbufferuniform. Contains the game frame cloak started/ended.