在Unity Shader中计数内容并输出到脚本

时间:2018-12-14 02:31:54

标签: unity3d unityscript

最近我想在Unity中使用Unity Shader进行一些图像处理。

有一项任务是对像素进行计数。例如,计算图像中所有黑色像素的数量,然后将其输出到脚本。

我知道这可以通过for迭代的脚本来实现。我想知道是否有某种方法可以在着色器中完成这项工作。

2 个答案:

答案 0 :(得分:1)

片段(像素)着色器无法访问其他片段中的任何值,因为它们本质上是并行运行的,因此即使您可以将输出值存储为以下值,也无法访问相同的变量(即,计算像素)纹理。

答案 1 :(得分:0)

计数可以并行。要点是如何传输计数结果。我通过缩减采样来做到这一点。我将图像分成网格,并在每个网格内进行计数。保存每个网格的结果,并使用片段着色器输出。我重复一遍,直到获得1x1纹理。