상수 정수 레지스터(HLSL PS 참조)
상수 정수 레지스터는 loop - ps 및 rep - ps에서만 사용됩니다.
defi - ps 또는 SetPixelShaderConstantI를 사용하여 설정할 수 있습니다.
loop - ps 명령에 대한 인수로 사용되는 경우:
- .x는 반복 횟수입니다. (rep - ps는 이 성분만 사용합니다).
- .y는 루프 카운터의 초기 값입니다.
- .z는 루프 카운터의 증분 단계입니다.
픽셀 셰이더 버전 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
상수 정수 레지스터 | x | x | x |
셰이더 상수의 동작은 Direct3D 8과 Direct3D 9 사이에서 변경되었습니다.
- Direct3D 9의 경우 defx로 설정된 상수는 셰이더 상수 공간에 값을 할당합니다. defx로 선언된 상수의 수명은 해당 셰이더의 실행으로만 제한됩니다. 반대로 SetXXXShaderConstantX API를 사용하여 설정한 상수는 전역 공간에서 상수를 초기화합니다. 전역 공간의 상수는 SetxxxShaderConstants가 호출될 때까지 로컬 공간(셰이더에 표시됨)에 복사되지 않습니다.
- Direct3D 8의 경우 defx로 설정된 상수 또는 API 모두 셰이더 상수 공간에 값을 할당합니다. 셰이더가 실행될 때마다 상수를 설정하는 데 사용된 기술에 관계없이 현재 셰이더에서 상수를 사용합니다.
관련 항목