Value Processor
学习目标。
Value 处理器是什么?
主要作用是返还导入的贴图里的常数值。

普通 Value Processor 的使用。
现在看下怎么做出 Value Processor 内部的修饰,通过什么过程设置的。
跟着做两个简单的案例。
两张图的值相乘后产出测试值。

输入两个图片,使用 Value Processor 乘上后用单一常数值输出。
生成新的 sbs 文档,制作空的 Graph 。

打开 Node 搜索窗口,搜索 Value ,添加一个 Value Processor 。

看下 Value Processor ,可以知道要以 Input Image 0 输入图片才行。
看英文说明也可以知道,作用是测试输入的滤镜的单一值。
如果很难理解的话,制作一次吧。

先简单添加 Uniform Color,变更为 Gray scale 后连接。

点击 Value Processor Function 的 Edit 键进入编辑窗口。

进入编辑窗口后添加一个 Sample Gray 。
跟 Pixel Processor 一样,为了输入图片必须要有 Sampler 。

然后选择 Set as Output Node 。
这样才会返还现有节点的结果值。

把 Uniform color 完全变更为白色。
跟上图一样 Value Processor 的值是1的话,那到这一步就意味着做对了。
再做点扩展,输入两个值后相乘吧。

复制原版 Uniform Color 后,值变更为 0.5 ,追加连接到 Value Processor 上。
就算没有连接端口也别惊慌,把连接线靠近 Value Processor 就会自动添加并连接。

重新回到函数的编辑窗口,再添加一个 Sampler 。
输入的图是两个,所以当然要添加。

选择添加的 Sampler ,修改输入的图片的 Port 。
上端输入是 Inptu Image 0 。第二次做的下方输入是 Input Image 1 ,这样才是对的。

为了计算乘法,添加 Multipication 。

两个值连到 Multipication ,在选择 Multipication 的状态执行 Set as Output Node 。

产出的是测试好的结果值。
但是很奇怪, 1乘与 0.5 出来的不是 0.5 ,而是 0.498039 。
Uniform Color 的 float 值通过 Sampler 输入的时候,反映出了 Floating point 的特性,这是因为电脑计算结构上的 Floating point 特性才出现的问题,以后再细说吧。

跟上图一样,乘与固定常数值的时候输出的是 0.5 。

以后做自动化材质系统的时候 Value Processor 是很有用的部分,所以要理解好整体结构顺序。
添加外部变数的方法以后再去看吧。