ps_2_0 이상에 대한 한정자
명령 한정자는 대상 레지스터에 기록되기 전에 명령의 결과에 영향을 미칩니다.
이 섹션에는 픽셀 셰이더 버전 2_0 이상에서 구현한 명령 한정자에 대한 참조 정보가 포함되어 있습니다.
이름 | 통사론 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Centroid | _도심 | x | x | x | x | x |
Partial_Precision | _pp | x | x | x | x | x |
채도 | _토 | x | x | x | x | x |
도심
중심 한정자는 다중 샘플링 픽셀 중심이 기본 형식으로 적용되지 않는 경우 기본 범위 내에서 특성 보간을 고정하는 선택적 한정자입니다. 이는 Centroid 샘플링확인할 수 있습니다.
다음과 같이 어셈블리 명령에 중심 한정자를 적용할 수 있습니다.
dcl_texcoord0_centroid v0
다음과 같이 의미 체계에 중심 한정자를 적용할 수도 있습니다.
float4 TexturePointCentroidPS( float4 TexCoord : TEXCOORD0_centroid ) : COLOR0
{
return tex2D( PointSampler, TexCoord );
}
또한 색 의미 체계로 선언된 모든 입력 색 등록(v#)는 자동으로 중심이 적용됩니다. 중심 샘플링된 특성에서 계산된 그라데이션은 정확하지 않습니다.
부분 정밀도
부분 정밀도 명령 한정자(_pp)는 기본 구현에서 지원하는 경우 부분 정밀도가 허용되는 영역을 나타냅니다. 구현은 항상 한정자를 무시하고 영향을 받는 작업을 전체 정밀도로 수행할 수 있습니다.
_pp 한정자는 다음 두 가지 컨텍스트에서 발생할 수 있습니다.
- 텍스처 좌표 선언에서 부분 정밀도 형태로 픽셀 셰이더에 텍스처 좌표를 전달할 수 있습니다. 예를 들어 텍스처 좌표를 사용하여 픽셀 셰이더에 색 데이터를 릴레이할 수 있습니다. 이는 일부 구현에서 전체 정밀도보다 부분 정밀도로 더 빠를 수 있습니다. 이 한정자가 없는 경우 텍스처 좌표는 전체 정밀도로 전달되어야 합니다.
- 텍스처 로드 지침을 포함한 모든 명령에서. 이는 구현이 부분 정밀도로 명령을 실행하고 부분 정밀도 결과를 저장할 수 있음을 나타냅니다. 명시적 한정자가 없는 경우 입력 정밀도에 관계없이 전체 정밀도로 명령을 수행해야 합니다.
예제:
dcl_texcoord0_pp t1
cmp_pp r0, r1, r2, r3
포화
채도 명령 한정자(_sat)는 대상 레지스터에 쓰기 전에 명령 결과를 [0, 1] 범위로 채도(또는 클램프)합니다.
ps , sincos - ps및 tex* 명령 등frc를 제외한 모든 명령과 함께 _sat 명령 한정자를 사용할 수 있습니다.
ps_2_0, ps_2_x 및 ps_2_sw _sat 명령 한정자는 출력 레지스터에 쓰는 명령과 함께 사용할 수 없습니다(출력 색 레지스터 또는 출력 깊이 레지스터). 이 제한은 ps_3_0 이상에는 적용되지 않습니다.
본보기:
dp3_sat r0, v0, c1
관련 항목