It occured to me recently that VS3 may be able to save the result of shader processing for further passes -- allowing for example to do skinning only once, and use the result for several lighting passes.
The reason I suspect this is mainly the ProcessVertices function, that in DX9 allows, only when used with VS3, to provide an output vertex declaration into which the results will be saved. VS3 no longer has specific outputs (oPos...) but defines them like inputs, so it's possible to define a normal as an output, for example.
But I'm wondering if it's a must have part of VS3 or an option (or if I'm missing the mark completely).
The reason I suspect this is mainly the ProcessVertices function, that in DX9 allows, only when used with VS3, to provide an output vertex declaration into which the results will be saved. VS3 no longer has specific outputs (oPos...) but defines them like inputs, so it's possible to define a normal as an output, for example.
But I'm wondering if it's a must have part of VS3 or an option (or if I'm missing the mark completely).