签到

05月19日
尚未签到

共有回帖数 0

    王子

    等级:
          Shader第二讲:Fixed Function Shader

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

    例一:显示单一颜色
    下面我们来看第一个例子,显示单一颜色,注释写得挺详细了,照着格式写即可。


    //根Shader
    Shader "Custom/1_1color" {
    // 属性
    Properties {
    //定义一个颜色
    _Color ("Main Color", Color) = (1,.5,.5,1)
    }
    // 子shader
    SubShader {
    Pass {
    Material {
    //显示该颜色
    Diffuse [_Color]
    }
    //打开光照开关,即接受光照
    Lighting On
    }
    }
    }

    例二:显示一张贴图




    Shader "Custom/1_2show1texture" {
    Properties {
    _MainTex ("Base (RGB)", 2D) = "white" {}
    _Color("Main color",Color) = (1,1,1,1)
    }
    SubShader {
    Pass
    {
    Material
    {
    Diffuse[_Color]
    }
    Lighting on
    SetTexture[_MainTex]
    {
    //combine color部分,alpha部分
    //      材质 * 顶点颜色
    Combine texture * primary,texture * constant
    }
    }
    }
    }
    例三:两张贴图叠加


    Shader "Custom/1_3merge2texture" {
    Properties {
    _MainTex ("Base (RGB)", 2D) = "white" {}
    _MainTex2 ("Tex2 (RGB)", 2D) = "white" {}
    _Color("Main color",Color) = (1,1,1,1)
    }
    SubShader {
    Pass
    {
    Material
    {
    Diffuse[_Color]
    }
    Lighting on
    SetTexture[_MainTex]
    {
    //      第一张材质 * 顶点颜色
    Combine texture * primary
    }
    SetTexture[_MainTex2]
    {
    //      第二张材质 * 之前累积(这里即第一张材质)
    Combine texture * previous
    }
    }
    }
    }

    楼主 2015-09-29 10:03 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知