• HLSL에 있는 개념이다.

    • GPU에서 해당 정점 데이터를 어떻게 사용할지 알려주는 방법이다.
      • 즉, 정점 처리용인지, 텍스쳐용인지, 인스턴스용인지, 기하쉐이더용인지 등등의 쓰임을 설명한다.
        • 즉, 각각의 특성들마다 특별한 연산들을 적용한다.
      • 이를 통해 GPU에서는 해당 시멘틱에 따라 레스터라이저를 수행할지, 어떤 레지스터를 사용할지 등으로 사용된다.
    • OpenGL의 GLSL에는 Semantic이 필요 없다.
      • 관리하는 방식이 달라서인데, 간단하게 설명하자면, OpenGL은 각각의 쉐이더들이 하나의 프로그램에서 돌아가기 때문이다. 반면, Direct3D의 경우 쉐이더 운영이 각각 분리되어 있기 때문에 semantic 처럼 의미를 알 수 있는 설명을 따로 전달해야 하는 것이다.

      • 아래 그림처럼 semantic이 없다.

        Untitled

  • 자세한 내용은 공식 문서를 참고하자.

    • https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-semantics