我正在尝试编写着色器。我确实想念一个算法。
目标是定义一个值并使该纹理在该vertex.y值处最强。
示例: 顶点值的范围为0到1。 现在我定义一个值i = 0.5。 我现在想要的是在y = 0.5时顶点的完整纹理颜色,并且纹理淡出越多顶点.y变为0或1,因此在0和1时纹理的强度为0.
这就是我现在所拥有的,并不多,weight0的公式显然是错误的,因为它只适用于一个方向。
fixed4 frag (v2f i) : SV_Target {
float y = i.height; // vertex y value between 0 and 1
float weight0 = 1 - abs ( y - _center0); //weight, should be strongest at _center0
float4 tex0 = tex2D(_tex0, i.uv);
float4 finalColor = tex0 * weight0;
return finalColor;
}
那么,我如何计算它在_center0处最强的权重0并在两个方向上都下降。 也许这很明显,但我似乎无法想出一些有用的东西。
感谢。