dcl_input_sv(sm4 - asm)
이전 단계에서 제공될 시스템 값을 예상하는 셰이더 입력 레지스터를 선언합니다.
dcl_input_sv vN[.mask], systemValueName[, interpolationMode] |
---|
항목 | Description |
---|---|
vN |
[in] 꼭짓점 데이터 레지스터입니다.
|
systemValueName |
[in] "SV_" 접두사가 없는 문자열(시스템 값 의미 체계 참조)인 시스템 값 이름입니다. |
interpolationMode |
[in] 선택적 항목으로, 래스터화 중에 값이 계산되는 방식에 영향을 미치는 보간 모드입니다. 이 모드는 픽셀 셰이더에서만 사용됩니다. 다음 값 중 하나일 수 있습니다.
|
시스템 값 선언에 대한 성분 마스크는 [xyzw]의 적절한 하위 집합일 수 있습니다. 선언은 겹칠 수 없습니다(각 선언은 xyzw 시퀀스를 따라야 함). 스칼라 시스템 값(예: 클립 거리 및 컬 거리)을 선언할 때 단일 레지스터에서 여러 시스템 값을 선언할 수 있습니다. 그렇게 하는 경우 보간 모드와 같은 다른 한정자가 일치하는지 확인합니다.
이 명령은 다음 셰이더 단계에 적용됩니다.
꼭짓점 셰이더 | 기하 도형 셰이더 | 픽셀 셰이더 |
---|---|---|
x | x | x |
이 명령은 어셈블리에서 셰이더 디버그를 돕기 위해 포함되었습니다. 셰이더 모델 4를 사용하여 어셈블리 언어로 셰이더를 작성할 수 없습니다.
예
다음은 몇 가지 예입니다.
// valid
dcl_input v0.y, linear
dcl_input_sv v0.w, clipDistance
dcl_input_sv v0.z, cullDistance
// invalid declarations
dcl_input v0.y, linear
dcl_input_sv v0.x, clipDistance // the y component was previously declared, this declaration must use
// either the z or w component
dcl_input v0.y, linearNoPerspective // the interpolation mode is linear-no-perspective
dcl_input_sv v0.z, renderTargetArrayIndex, constant // the interpolation modes is constant
// the interpolation modes must match
최소 셰이더 모델
이 함수는 다음 셰이더 모델에서 지원됩니다.
셰이더 모델 | 지원됨 |
---|---|
셰이더 모델 5 | 예 |
셰이더 모델 4.1 | 예 |
셰이더 모델 4 | 예 |
셰이더 모델 3(DirectX HLSL) | 아니요 |
셰이더 모델 2(DirectX HLSL) | 아니요 |
셰이더 모델 1(DirectX HLSL) | 아니요 |