Share via


원본 레지스터 Swizzling(HLSL VS 참조)

명령이 실행되기 전에 원본 레지스터의 데이터가 임시 레지스터에 복사됩니다. Swizzling은 임의의 원본 레지스터 성분을 임의의 임시 레지스터 성분으로 복사하는 기능을 말합니다. Swizzling은 원본 레지스터 데이터에 영향을 주지 않습니다.

성분 Swizzling

다음 표에 표시된 대로 원본 레지스터 데이터의 개별 성분에 swizzling 적용할 수 있습니다(여기서 r은 유효한 꼭짓점 셰이더 입력 레지스터 - vs_1_1 중 하나임).

성분 한정자 설명
r.[xyzw][xyzw][xyzw][xyzw] 원본 swizzle

 

  • 네 가지 성분은 모두 항상 복사됩니다. 4개 미만의 성분이 지정되면 마지막 성분이 반복됩니다(xy는 .xyyy를 의미함). 성분을 지정하지 않으면 x가 반복됩니다(.xxxx).
  • 성분은 임의의 순서로 나타날 수 있습니다. v0.ywx는 v0.ywxx가 됩니다.
  • rgba 성분은 xyzw(x의 경우 r, b의 경우 g 등)에 대해 각각 사용할 수 있습니다.
  • 이러한 명령은 원본 레지스터 단일 성분 swizzle(exp, expp, log, logp, pow, rcp, rsq)을 구현합니다. 이러한 명령의 결과는 4개의 모든 대상 레지스터 성분에 복사됩니다.

Swizzling은 m3x2 - vs, m3x3 - vs, m4x3 - vsm4x4 - vs 명령에서 사용할 수 없습니다.

꼭짓점 셰이더 레지스터 한정자