WavePrefixProduct 함수
이 레인보다 작은 인덱스를 가진 이 웨이브의 활성 레인에 있는 모든 값의 곱을 반환합니다.
구문
<type> WavePrefixProduct(
<type> value
);
매개 변수
value
곱할 값입니다.
반환 값
모든 값의 곱입니다.
설명
이 루틴의 작업 순서는 보장할 수 없습니다. 따라서 실질적으로 [precise] 플래그는 무시됩니다.
접두사 곱에 현재 레인 값을 곱하여 후위 곱을 계산할 수 있습니다.
인덱스가 가장 낮은 활성 레인은 접두사 곱으로 항상 1을 받습니다.
이 함수는 셰이더 모델 6.0부터 모든 셰이더 단계에서 지원됩니다.
예제
uint numToMultiply = 2;
uint prefixProduct = WavePrefixProduct( numToMultiply );
웨이브 크기가 8이고 레인 0과 4를 제외한 모든 레인이 활성 상태인 컴퓨터에서는 WavePrefixProduct에서 다음 값이 반환됩니다.
레인 인덱스 | 상태 | prefixProduct |
---|---|---|
0 | 비활성 | 해당 없음 |
1 | 활성 | = 1 |
2 | 활성 | = 1*2 |
3 | 활성 | = 1*2*2 |
4 | 비활성 | 해당 없음 |
5 | 활성 | = 1*2*2*2 |
6 | 활성 | = 1*2*2*2*2 |
7 | 활성 | = 1*2*2*2*2*2 |