Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

directx/HLSL what are input and output semantics for?

Tags:

directx

hlsl

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?

like image 511
clamp Avatar asked Mar 24 '11 20:03

clamp


1 Answers

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.

like image 99
ssube Avatar answered Sep 28 '22 07:09

ssube