WavePrefixSum 函数
返回活动通道中索引小于此索引的所有值的总和。
语法
<type> WavePrefixSum(
<type> value
);
参数
value
要求和的值。
返回值
值的总和。
备注
无法保证此例程上的操作顺序。 因此,实际上,忽略其中[精确]标志。
可以通过将前缀和添加到当前通道的值来计算后缀总和。
请注意,索引最低的活动通道将始终收到前缀和的 0。
在所有着色器阶段中,着色器模型 6.0 都支持此函数。
示例
uint numToSum = 2;
uint prefixSum = WavePrefixSum( numToSum );
在波形大小为 8 且所有通道处于活动状态(通道 0 和 4 除外)的计算机上,将从 WavePrefixSum 返回以下值。
通道索引 | status | prefixSum |
---|---|---|
0 | 非活跃 | 不适用 |
1 | 活动 | = 0 |
2 | 活动 | = 0+2 |
3 | 活动 | = 0+2+2 |
4 | 非活跃 | 不适用 |
5 | 活动 | = 0+2+2+2+2 |
6 | 活动 | = 0+2+2+2+2 |
7 | 活动 | = 0+2+2+2+2+2 |