Surface Shader

  surface shader是一种对vertex and fragment shader的一种包装,不能加pass通道,加pass会编译报错



#pragma  surface  surf  standard  fullforwardshadows

pragma :表示是一条编译指令

surface :表示这个Shader是一个表面着色器

surf :函数名,在之后的代码块中,必能找到同名的函数,是最核心的算法

standard :LightModel --> 光照模型,standard是标准光照模型

最后的是[optionalparams],表示可能会有其他的选项

前四个模块必须要有


光照函数 :

      当我们自己在编写光照函数的时候,函数名必须要加上lighting,但是使用光照函数的时候,只使用lighting后面的有效部分即可。

          例 :我们编写光照函数,起名为lightingStandard,当调用这个函数的时候,使用Standard即可。



#pragma  target  3.0

    这句指令代表使用shader model 3.0,不加这条指令,默认使用shader model 2.0;使用shader model 3.0会得到一个更好的光照效果




在CG PROGRAM中,必须对应properties中的所有的属性再重新声明一次

                        Properties                                                             CG

                           Color                                                               fixed4(四阶向量)

                           float(Range)                                                   half             

                           2D                                                                    sampler2D



struct  Input {

        float2  uv_MainTex;  }       // 输入结构体,用于藐视纹理坐标的结构体,必须要以uv开头



透明化 :

      在pragma编译指令处,加上alpha,再在标签中加一个渲染队列 { "Queue" = "Transparent" },即可实现透明化


阴影效果 :

      假如在编译指令中,没有得到一个阴影通道,在 FallBack  "Diffuse"会默认产生一个阴影通道。如果想要产生一个阴影通道,可以在编译指令中加上"addshadow"






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值