상수 float 레지스터(HLSL PS 참조)

4D 부동 소수점 상수에 대한 픽셀 셰이더 입력 레지스터.

def - ps 또는 SetPixelShaderConstantF를 사용하여 설정할 수 있습니다.

셰이더 상수의 동작은 Direct3D 8과 Direct3D 9 사이에서 변경되었습니다.

  • Direct3D 9의 경우 defx로 설정된 상수는 셰이더 상수 공간에 값을 할당합니다. defx로 선언된 상수의 수명은 해당 셰이더의 실행으로만 제한됩니다. 반대로 SetXXXShaderConstantX API를 사용하여 설정한 상수는 전역 공간에서 상수를 초기화합니다. 전역 공간의 상수는 SetxxxShaderConstants가 호출될 때까지 로컬 공간(셰이더에 표시됨)에 복사되지 않습니다.
  • Direct3D 8의 경우 defx로 설정된 상수 또는 API 모두 셰이더 상수 공간에 값을 할당합니다. 셰이더가 실행될 때마다 상수를 설정하는 데 사용된 기술에 관계없이 현재 셰이더에서 상수를 사용합니다.

예제

다음은 셰이더 내에서 두 개의 부동 소수점 상수를 선언하는 예입니다.

def c40, 0.0f,0.0f,0.0f,0.0f;

이러한 상수는 SetPixelShader가 호출될 때마다 로드됩니다.

API로 상수 값을 설정하는 경우 셰이더 선언이 필요하지 않습니다.

레지스터