i was wondering what those input and output semantics in HLSL are for? i.e. why do i have to write that TEXCOORD0;
struct VS_OUTPUT
{
float2 tc : TEXCOORD0;
};
when the type and the name are already given?
Semantics let the shader know where to read or write data from. They correspond to parts of the vertex structure or certain values.
In your example above, the value of tc
comes from the first texture coordinate component.
For info on semantics and what they mean, check here: http://msdn.microsoft.com/en-us/library/bb509647(v=vs.85).aspx
In the vertex shader, the data will be coming from the FVF or vertex declaration.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With