HLSL에 있는 개념이다.
관리하는 방식이 달라서인데, 간단하게 설명하자면, OpenGL은 각각의 쉐이더들이 하나의 프로그램에서 돌아가기 때문이다. 반면, Direct3D의 경우 쉐이더 운영이 각각 분리되어 있기 때문에 semantic 처럼 의미를 알 수 있는 설명을 따로 전달해야 하는 것이다.
아래 그림처럼 semantic이 없다.
자세한 내용은 공식 문서를 참고하자.