Unity 固定渲染管线 SetTexture combine实例

Unity 固定渲染管线 SetTexture combine实例

固定渲染管线介绍

说明

  • SetTexture combine提供一种使用纹理并且进行混合的方式
  • 后面的Block中可以定义颜色和进行数学运算

重点

  • combine指将2张纹理进行混合的方法
  • 混合计算方法
    • *,+,one-,lerp
  • alpha混合
  • 加入颜色constantColor

效果图

在这里插入图片描述

代码

Shader "Practice/FixedFunctionShader" {
    Properties {
        _Tex1 ("Texture1", 2D) = "white" {}
        _Tex2 ("Texture2", 2D) = "white" {}
        _Tex3 ("Texture2", 2D) = "white" {}
        _Color("Color",Color)=(1,1,1,1)
    }
    SubShader {
        Tags{
            "RenderType"="Transparent"
            "Queue"="Transparent"
        }
        Blend SrcAlpha OneMinusSrcAlpha
        Pass {
			Lighting Off
            //设置纹理,无block
            SetTexture [_Tex1]

            //设置纹理,空block
            // SetTexture [_Tex1]{}
            
            //设置纹理,数学运算
            // SetTexture [_Tex1] {
                // combine one-texture, texture
                // combine texture, one-texture
                // combine previous
            // }

            //混合方式,Alpha混合控制
            SetTexture [_Tex2] {
                // combine one-texture double, previous
                // combine one-texture, one-texture
                // combine one-texture, previous * texture
                // combine texture, previous * texture
                // combine one-texture, previous
                // combine texture quad, previous
                combine previous + texture
                // combine texture lerp (texture) previous
            }

            //三张纹理进行混合的方法
            SetTexture [_Tex3]{
                // constantColor (1,1,1,1)
                constantColor [_Color]
                // combine previous + texture,texture
                // combine texture lerp(texture) previous, texture lerp(texture) previous
                // combine texture lerp(texture) previous, constant
                // combine texture lerp(texture) previous, previous + texture
                combine constant lerp(texture) previous, previous + texture
            }

        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值