본문 바로가기

semantic

DirectX HLSL Semantics 시멘틱(semantics)이란, 파라미터가 어떤 의도를 가지는지 알려주는, 쉐이더의 입력, 출력에 추가적으로 붙는 문자열이다. 시멘틱은 쉐이더 스테이지들 사이에서 전달되는 모든 변수들에 반드시 존재해야 한다. Direct3D 9와 Direct3D 10의 버텍스 쉐이더, 픽셀 쉐이더에서 지원되는 시멘틱은 다음과 같다. Vertex Shader Input Semantics (Input / Description / Type) BINORMAL[n] / Binormal / float4 BLENDINDICES[n] / Blend indices / uint BLENDWEIGHT[n] / Blend weight / float COLOR[n] / Diffuse and specular color / float4 NORMA.. 더보기
Varying Shader Inputs and Semantics (HLSL in Direct3D 9) 가변 입력값(varying input) 파라미터들은, 반드시 시맨틱(semantic)으로 선언되거나, 실행 시점에서 상수임을 알려주는 고정값 입력(uniform input)으로 선언되어야 한다. 만약, 최상위 쉐이더 레벨 입력이 둘 중 하나로 선언되지 않는다면 쉐이더 코드는 컴파일되지 않는다. 입력 시맨틱은, 주어진 입력을 전 단계의 그래픽스 파이프라인 출력과 연결하기 위한 이름이다. 예를 들어, 버텍스 쉐이더에 의해 사용되는 입력 시맨틱 POSITION0은, 버텍스 버퍼로부터의 위치 데이터가 어디로 연결되어야 하는지 정의하기 위한 것이다. 픽셀 쉐이더와 버텍스 쉐이더는 각각의 쉐이더 유닛으로 입력되는 다른 그래픽스 파이프라인 때문에, 서로 다른 입력 시맨틱을 가진다. 버텍스 쉐이더의 입력 시맨틱은 버텍.. 더보기