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