Shader第二讲:Fixed Function Shader

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院


                                              Shader第二讲 :Fixed Function Shader

Fixed function shader简介:  属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的情况。使用的是ShaderLab语言,语法与微软的FX files 或者NVIDIA的 CgFX类似。

例一:
显示单一颜色
下面我们来看第一个例子,显示单一颜色,注释写得挺详细了,照着格式写即可。
【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader
  1. //根Shader
  2. Shader "Custom/1_1color" {
  3.    // 属性
  4.     Properties {
  5.         //定义一个颜色
  6.         _Color ("Main Color", Color) = (1,.5,.5,1)
  7.     }
  8.     // 子shader
  9.     SubShader {
  10.         Pass {
  11.             Material {
  12.                 //显示该颜色
  13.                 Diffuse [_Color]
  14.             }
  15.             //打开光照开关,即接受光照
  16.             Lighting On
  17.         }
  18.     }
  19. }

例二:显示一张贴图
【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader 【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader

  1. Shader "Custom/1_2show1texture" {
  2.     Properties {
  3.         _MainTex ("Base (RGB)", 2D) = "white" {}
  4.         _Color("Main color",Color) = (1,1,1,1)
  5.     }
  6.     SubShader {
  7.         Pass
  8.         {
  9.             Material
  10.             {
  11.                 Diffuse[_Color]
  12.             }
  13.             Lighting on
  14.             SetTexture[_MainTex]
  15.             {
  16.                 //combine color部分,alpha部分
  17.                 //      材质 * 顶点颜色
  18.                 Combine texture * primary,texture * constant
  19.             }
  20.         }
  21.     }
  22. }
例三:两张贴图叠加
【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader 【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader

  1. Shader "Custom/1_3merge2texture" {
  2.     Properties {
  3.         _MainTex ("Base (RGB)", 2D) = "white" {}
  4.         _MainTex2 ("Tex2 (RGB)", 2D) = "white" {}
  5.         _Color("Main color",Color) = (1,1,1,1)
  6.     }
  7.     SubShader {
  8.         Pass
  9.         {
  10.             Material
  11.             {
  12.                 Diffuse[_Color]
  13.             }
  14.             Lighting on
  15.             SetTexture[_MainTex]
  16.             {
  17.                 //      第一张材质 * 顶点颜色
  18.                 Combine texture * primary
  19.             }
  20.             SetTexture[_MainTex2]
  21.             {
  22.                 //      第二张材质 * 之前累积(这里即第一张材质)
  23.                 Combine texture * previous
  24.             }
  25.         }
  26.     }
  27. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值