您的位置:首页 > 移动开发 > Unity3D

unity3d shader学习(2)-unity shader的结构

2016-10-10 21:31 501 查看
一下内容主要来自冯乐乐的《unity shader 入门精要》,学习笔记,这里斗胆作为原创发表。

这篇主要学习shader三大模块的基础:Properties、SubShader、Fallback。

1、Properties

首先上一直图片



然后,下面是示例的代码

Properties {
_Int("int",int)=2
_Float("float",float)=1.5
_Range("Range",Range(0.0,5.0))=3.0
_Color("Color",Color)=(1,1,1,1)
_2D("2D",2D)=""{}
_Cube("Cube",Cube)="white"{}
_3D("3D",3D)="black"{}
}


然后是SubShader的:





SubShader的语义块的定义如下:

SubShader
{
//可选的
[Tags]
//可选的
[RenderSetup]

Pass
{
}
//ohter pass
}


Pass以及可选的状态[RenderSetup]和标签[Tags],每个Pass定义了一次完整的渲染流程,但是如果Pass的数目过多,会造成渲染流程的下降

然后就是Pass的语义块:



Pass
{
[Name]
[Tags]
[RenderSetup]
//....
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: