상수 부동 레지스터(HLSL PS 참조)
4D 부동 소수점 상수에 대한 픽셀 셰이더 입력 레지스터입니다.
ps 또는 SetPixelShaderConstantF def를 사용하여 설정할 수 있습니다.
셰이더 상수의 동작이 Direct3D 8과 Direct3D 9 간에 변경되었습니다.
- Direct3D 9의 경우 defx로 설정된 상수는 셰이더 상수 공간에 값을 할당합니다. defx로 선언된 상수의 수명은 해당 셰이더의 실행으로만 제한됩니다. 반대로 API SetXXXShaderConstantX를 사용하여 설정된 상수는 전역 공간에서 상수들을 초기화합니다. SetxxxShaderConstants가 호출될 때까지 전역 공간의 상수는 로컬 공간(셰이더에 표시됨)에 복사되지 않습니다.
- Direct3D 8의 경우 defx 또는 API로 설정된 상수는 모두 셰이더 상수 공간에 값을 할당합니다. 셰이더가 실행될 때마다 상수는 설정에 사용되는 기술에 관계없이 현재 셰이더에서 사용됩니다.
예제
다음은 셰이더 내에서 두 개의 부동 소수점 상수 선언 예제입니다.
def c40, 0.0f,0.0f,0.0f,0.0f;
이러한 상수는 SetPixelShader호출될때마다 로드됩니다.
API를 사용하여 상수 값을 설정하는 경우 셰이더 선언이 필요하지 않습니다.
관련 항목