Subshader { [Tags] [CommonState] Passdef [Passdef ...] }
Tags分为SubShader Tags和Pass Tags,Tags放在SubShader顶层或者其内部的单个Pass中,这个时候只在Pass中生效。

Tags:表面着色器可以被若干的标签(tags)所修饰,而硬件将通过判定这些标签来决定什么时候调用该着色器。比如Tags { "RenderType"="Opaque" }告诉了系统应该在渲染非透明物体时调用我们。

CommonState:设定开关硬件的各种状态。根据渲染管线,可以设置硬件状态,对渲染的各阶段进行控制。

CommonState属于SubShader的语法规则。

Color, Material, Lighting:

Color color

Material {Material Block}

Lighting On | Off

SeparateSpecular On | Off

ColorMaterial AmbientAndDiffuse | Emission

Culling & Depth Testing:

Cull Back | Front | Off

ZWrite On | Off

ZTest Less | Greater | LEqual | GEqual | Equal | NotEqual | Always

Offset Factor, Units

Texture Combiners:

SetTexture [TextureName] {Texture Block}

SetTexture [_MainTex] { combine previous * texture, previous + texture } 

Fog:

Fog {Fog Commands}

Mode Off | Global | Linear | Exp | Exp2

Color ColorValue

Density FloatValue

Range FloatValue, FloatValue

Alpha testing:

AlphaTest Off

AlphaTest comparison AlphaValue

Blending:

Blend SrcAlpha OneMinusSrcAlpha // Alpha blending

Blend One One // Additive

Blend OneMinusDstColor One // Soft Additive

Blend DstColor Zero // Multiplicative

Blend DstColor SrcColor // 2x Multiplicative

Unity3D渲染管线

(据此控制各阶段可控部件的状态或者编写顶点/片段着色器)

Passdef:包括regular Pass,Use Pass(引用,复用Pass)和Grab Pass(抓屏)。

regular Pass包括

Name、

Tags(RenderType,Queue等)

Render Setup(

Lighting、Cull、ZTest、ZWrite、Fog、AlphaTest、Blend、Stencil,ColorMask、Offset、Color,Material,SeparateSpecular、ColorMaterial

等)

详细描述参考Unity3D用户手册ShaderLab syntax: SubShader部分。

最新文章

  1. 关于我-dinphy简介
  2. c#资料
  3. GifShot - 创建动态 GIF 的 JavaScript 库
  4. HDU 4770 Lights Against DudelyLights
  5. 学习ios键盘和textfield之间操作体会
  6. hdu 4557 非诚勿扰
  7. ARCI--做事情的重要方法论
  8. jQuery 迭代器
  9. 使用Nginx+CppCMS构建高效Web应用服务器
  10. DB2插入数据 sqlcode302 sqlstate22001错误如何解决?
  11. 深入 JAVA里面关于byte数组和String之间的转换问题
  12. 04-Python入门学习-流程控制
  13. CentOS7 nexus 3 搭建maven或gradle 私有代理服务器
  14. Python os.remove() 删除文件
  15. windows Server 2008 R2 IE增强安全配置正在阻止来自下列网站的内容
  16. ASP.NET CORE中判断是否移动端打开网页
  17. jquery获取和设置值
  18. nginx服务器搭建以及配置
  19. Mockito 中被 Mocked 的对象属性及方法的默认值
  20. Hive四种数据导入方式介绍

热门文章

  1. WordPress用户角色及其权限管理编辑插件:User Role Editor汉化版
  2. CF148D. Bag of mice(概率DP)
  3. 一步步玩pcDuino3--mmc下的裸机流水灯
  4. Kattis - cardhand Card Hand Sorting 【暴力枚举】
  5. SPOJ - PHRASES Relevant Phrases of Annihilation —— 后缀数组 出现于所有字符串中两次且不重叠的最长公共子串
  6. linux应用之yum命令
  7. linux命令学习笔记(52):ifconfig命令
  8. linux命令学习笔记(25):linux文件属性详解
  9. linux 进程学习笔记-运行新进程
  10. Stop logging "internal dummy connection" in Apache