做图片网站会侵权吗,各种免费源码共享网站,wordpress 流量数据,中国信誉建设网站在图形渲染中#xff0c;颜色混合#xff08;Color Blending#xff09;是指将多个颜色值组合在一起以生成最终显示的颜色。颜色混合技术广泛用于处理半透明效果、光照效果和后期处理效果。以下是一些常见的颜色混合模式#xff1a;
1. 正常混合#xff08;Normal Blendi…在图形渲染中颜色混合Color Blending是指将多个颜色值组合在一起以生成最终显示的颜色。颜色混合技术广泛用于处理半透明效果、光照效果和后期处理效果。以下是一些常见的颜色混合模式
1. 正常混合Normal Blending
这是最常用的混合模式将源颜色和目标颜色按源颜色的 alpha 值进行线性插值。
公式
2. 加法混合Additive Blending
将源颜色和目标颜色直接相加用于实现光晕、火焰等效果。 3. 乘法混合Multiplicative Blending
将源颜色和目标颜色逐分量相乘用于阴影和深度效果。 4. 叠加混合Overlay Blending
结合乘法和屏幕混合模式根据目标颜色值调整源颜色的混合方式用于增加对比度和细节。 5. 屏幕混合Screen Blending
将源颜色和目标颜色逐分量反转、相乘后再反转用于产生发光和高亮效果。 6. 差值混合Difference Blending
计算源颜色和目标颜色的差值用于创建对比效果。 7. 减法混合Subtractive Blending
将源颜色从目标颜色中减去用于实现暗角和阴影效果。
8. 颜色减淡Color Dodge
将目标颜色除以源颜色的反转用于创建高亮和强调效果。 9. 颜色加深Color Burn
将目标颜色反转后除以源颜色的反转然后反转结果用于增加深度和暗部细节。 10. 亮度Lighten
选择源颜色和目标颜色中的较亮者作为结果颜色。 11. 暗度Darken
选择源颜色和目标颜色中的较暗者作为结果颜色。 示例代码
在 Unity Shader 中可以通过设置混合模式来实现这些颜色混合效果。以下是一个示例代码用于设置加法混合模式
Shader Custom/AdditiveBlend
{Properties{_MainTex (Main Texture, 2D) white {}}SubShader{Tags { RenderTypeTransparent }LOD 200Blend One One // 设置加法混合模式Pass{CGPROGRAM#pragma vertex vert#pragma fragment fragsampler2D _MainTex;struct appdata_t{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata_t v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.uv v.uv;return o;}fixed4 frag (v2f i) : SV_Target{fixed4 col tex2D(_MainTex, i.uv);return col;}ENDCG}}
}在这个示例中Blend One One 表示启用加法混合模式将源颜色和目标颜色相加。通过修改 Blend 参数可以实现其他颜色混合模式。