Hi,
From the documentation:
Streams regroup the concept of attribute, varying and output in a single concept.
an attribute is a streams that is read in a vertex shader before being written.
an output is a stream that is assigned before being read.
a varying is a stream that is present across the stage of your shader.
I really like this simplification but one thing we seem to lose is the ability to easily tell (i.e. without scanning the source) what variables a particular shader stage uses/passes and what the expected vertex inputs should look like. (Or am I missing something?)
I’m not exactly sure how or if this can be improved, but one random idea would be to at least have shader variables annotated as in/out/inout. Seems like this would improve self-documentation a bit and provide a little extra ‘type safety’.
Does this seem useful to people?
Thanks,
Jason