Shader学习过程4——shader的组织形式

unity当中有3中不同的编写shader的方案

        1、surface shaders  表面着色器 推荐使用。 可以完成百分之90的效果,是在vertex and fragment shaders上做了包装,方便大家使用。

        2、vertex and fragment shaders  顶点 和 片段 着色器。一切皆有可能

        3、fixed function shaders  固定管线shader。局限性比较大,能完成部分效果

unity官方建议我们先阅读有关的shaderlab语法,然后再继续阅读关于表面着色器与顶点片段着色器的内容。固定管线shader只使用了shaderlab语法来编写,其他两种不限与shaderlab语法。比如 glsl hlsl  用这种语言是镶嵌在shaderlab语言当中的一种代码片段。

        Shaderlab基本结构

        shader “name”{

                    [Properties]

                    SubShaders

                    [FallBack]

        }

properties :着色器可以有一个属性列表。任何在着色器种声明的属性都可以显示在unity内部的材质球中。典型的属性是物体的颜色,纹理,或者着色器使用的任意值。如下图


SubShader :就是专门位GPU渲染写的片段程序  至少有一个,可以有多个。显卡只能选择其中一个SubShader来执行,需要多个是因为,当硬件不支持第一个,会去运行第二个,如果第一个呗良好的支持,就不去执行第二个。可以写多个,从难到简,这样就可以在好的机器上运行复杂的。如果一个都不能被执行,就要用到FallBack所指定的着色器,可以指定unity内建的shader

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值