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

请参阅

着色器模型 6 概述

着色器模型 6