UnityShader《入门精要》第三章

1.四种Shader

        (1)Standard Surface Shader

        产生一个包含普通光照模型的表面着色器

          (2)   UnlitShader

        产生一个不包含光照的基本的顶点/片元着色器

          (3)   Image Effect Shader

        屏幕后处理效果的模板

          (4)  Compute Shader

        旨在利用GPU的并行性来进行一些于常规渲染流水线无关的计算

2.ShaderLab

        UnityShader:Unity为了开发者提供的高级层的渲染抽象层。

        ShaderLab:UnityShader用的语言。

3.结构

        属性:Name("Displace Name",Type) = DefaulValue

4.SubShader

        至少要一个SubShader。Unity会扫描所有的SubShader语义块,然后选择第一个能够运行的SubShader。如果都不支持,就会使用FallBack中的。

        (1)状态:提供了一系列渲染状态的设置指令。可以在SubShader中设置,会应用到所有Pass,也可以在Pass中设置,只会应用到当前Pass。

        

状态名称        设置指令解释
CullCull Back|Front|Off设置剔除模式:剔除背面|正面|关闭
ZTestZTest Less Greater|LEqual|GEqual|Equal|NotEqual|Always设置深度测试时使用的函数
ZWrite        ZWrite On|Off开启|关闭深度写入
Blend       Blend SrcFactor DstFactor开启并设置混合模式

SubShader标签

标签类型        说明例子
Queue控制渲染顺序,指定物体属于哪一个渲染队列。也可自己定义

Tags{“Queue”=“Transparent”}

RenderType对着色器进行分类                        Tags{“RenderType”=“Qpaque”}
DisablBatching             设置批处理。把在模型空间下进行顶点动画就需要关闭        Tags{“DisablBatching  ”=“True”}
ForceNoShadowCasting控制该物体是否会设置投影Tags{“ForceNoShadowCasting ”=“True”}
IgnoreProjector如果为“True”,则不会受到Projector的影响。一般用于半透明物体Tags{“IgnoreProjector ”=“True”}
CanUseSpriteAtlas当该SubShader是用于精灵时,将其设置为“False”Tags{“CanUseSpriteAtlas ”=“True”}
PreviewType材质面板如何预览该材质 。默认是球Tags{“PreviewType ”=“plane”}

Pass标签

类型        说明例子
LightMode定义该Pass在Unity的渲染流水线中的角色        Tags{“Light Mode”=“ForwardBase”}Tag
RequireOptions       用于指定当满足某些条件才渲染该Pass。Tags{“RequireOptions   ”=“SofftVegetation”}

其他Pass:

        UsePass:复用其他的Pass;

        GrabPass:该Pass负责抓取屏幕并且存储在一张纹理当中,以便后续的使用

5. 着色器

        表面着色器:实质是顶点和片元着色器

        顶点/片元着色器:核心

        固定函数着色器:不可编程管线。

        注意:如果光源比较多,则可以使用表面着色器,但得注意效率。如果光源少,则使用顶点/片元着色器。如果有很多自定义得渲染效果,则要使用顶点/片元着色器。

                

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值