【Unity Shader】 Fixed function shader(固定管线着色器)

本文介绍了Unity中的固定管线着色器,它是相对于可编程着色器的一种。固定管线利用ShaderLab语言,适用于所有显卡,常用于高级着色器的备用方案。内容包括Shader结构、颜色设置、灯光开关、材质信息和纹理应用等,详细解释了如何通过SetTexture和Combine命令来控制光照和纹理效果。
摘要由CSDN通过智能技术生成
一、介绍

fixed function shader(固定渲染管线shader),是相对于可编程的shader而言的。
所谓固定管线,是说芯片上一组电路已经固定实现了特定的运算功能,程序能做的只是提供场景数据以及微调运算功能的参数。
它适用于所有的显卡,常用于高级Shader在老显卡无法显示时的Fallback。
Unity中的固定管线shader使用ShaderLab语言。

固定渲染的整个渲染过程就好像是在流水线上的每一道工序上面都有几个可选的开关,想实现不同的效果,花式扳开关就好了。

它的灯光公式、贴图方式等是固定的,不能自定义的修改,我们只能控制功能的开和关

二、结构

unity shader通用结构

//shader的名字会显示在unity的inspector中选择shader的菜单里面
Shader "Shader的路径和名称"{
    //属性
    [Properties]

    //可能存在多个subshader。Unity会在所有的subshader列表中选中第一个硬件可以支持的subshader
    SubShader{
        //SubShader的标签
        //[Tags]

        //给该SubShader中所有pass公用的设置
        //[Common State]
        [Common Tags]

        //可能存在多个pass,每个pass都会引起一次渲染
        Pass{
            //该Pass的标签
            [Tags]

            //渲染设置,如颜色混合
            [Render Setup]

            //纹理设置,只有在fixed function shader中才可用
            [Texture Setup]
        }

        //可以有其他的Pass
        [其他的Pass]
    }

    //可以有多个SubShader
    [其他的SubShader]

    //当所有的subshader失败时,使用Fallback指定的shader
    [Fallback]

    //当有自定义shader的设置UI时候用
    [CustomEditor]
}

一个Pass表示一个渲染管线,当存在多个Pass时,即在前一Pass结束后,依据得到的缓存数据和状态开始下一个Pass管线,直到所有Pass管线渲染结束

三、语法</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值