When binding, semantics are used in vertOutput; they do not automatically guarantee that fields will be initialized. Quite the opposite; it's our responsibility to do so. The compiler will do its best to ensure that the fields are initialized with the right data:
Binding semantics |
Description |
POSITION, SV_POSITION, HPOS |
The position of a vertex in camera coordinates (clip space, from zero to one for each dimension) |
COLOR, COLOR0, COL0, COL, SV_TARGET |
The front primary color |
COLOR1, COL1 |
The front secondary color |
TEXCOORD0, TEXCOORD1, …, TEXCOORDi, TEXi |
The i-th UV data stored in the vertex |
WPOS |
The position, in pixels, in the window (origin in the lower left corner) |
If, for any reason, ...