Unity3D Shader 学习笔记(二):ShaderLab的结构和基本属性
(一) ShaderLab:
什么是ShaderLab:
Unity3D支持的Shader种类包括:
1.Surface Shader:表面着色器
2.Vertex & Fragment Shader :顶点片元着色器
3.Fixed Function Shader: 固定功能着色器
ShaderLab的基本结构:
Shader "Custom/test"
{
Properties
{ }
SubShader
{
pass{ } }
fallback
}
UnityShader的一些基本属性(properties)格式:
_Color("颜色",color)=(1,1,1,1)
SubShader的作用:
fallback的作用:
Unity内置的一些常见shader(用于fallback)以及说明:
Unlit:不发光,只是一个纹理。
VertexLit:顶点光照。
Diffuse:漫反射。
NormalMapped:法线贴图,比漫反射更昂贵(expensive):增加了一个或者多个纹理(法线贴图)和几个着色器结构。
Specular:高光,增加了特殊的高光计算。
Normal Mapped Specular:高光法线贴图,比高光更昂贵一点。
Parallax Normal Mapped:视差法线贴图计算
parallax Normal Mapped Specular:视察高光法线贴图
属性的定义和引用:
Shader "Custom/test"
{
Properties
{
_Color("颜色",color)=(1,1,1,1)
_Ambient("环境光",color)=(0.3,0.3,0.3,0.3)
_Specular("高光",color)=(1,1,1,1)
}
SubShader
{
pass{
//color(1,1,1,1)
//color[_Color]
material{
diffuse[_Color]//关键字漫反射
ambient[_Ambient]//关键字环境光
specular[_Specular]//关键字高光
}
lighting on//关键字光照开关
SeparateSpecular on//高光分离
} }
// fallback unlit;
}
Unity3D Shader 学习笔记(二):ShaderLab的结构和基本属性的更多相关文章
- muduo学习笔记(二)Reactor关键结构
目录 muduo学习笔记(二)Reactor关键结构 Reactor简述 什么是Reactor Reactor模型的优缺点 poll简述 poll使用样例 muduo Reactor关键结构 Chan ...
- C#学习笔记二:C#程序结构
从最简单的HelloWorld开始入手,这是一个最低限度的C#程序结构. C# Hello World 示例 一个C#程序主要由以下几部分组成: 命名空间声明 一个类 类方法 类属性 一个Main方法 ...
- Android Studio安卓学习笔记(二)Android项目结构
上一篇代码,我们学习了Android的功能以及如何用Android Studio开发第一个安卓程序.下面就要介绍Android项目结构.为日后学习打基础. 一:Android项目结构 打开MyFris ...
- Unity3D Shader 学习笔记(一):初识Shader
第一节:图形处理器简史 GPU发展简史 GPU英文全称Graphic Procssing Unit. T&L变换和光照流水线 可编程GPU GPU的优点和缺点 第二节:Unity Shader ...
- amazeui学习笔记二(进阶开发1)--项目结构structure
amazeui学习笔记二(进阶开发1)--项目结构structure 一.总结 1.项目结构:是说的amazeui在github上面的项目结构,二次开发amazeui用 二.项目结构structure ...
- Shader学习笔记
Shader学习笔记 例子: Shader "SrfShader1"{ //定义显示在Inspector中的变量,并从Inspector中获取值 Properties{ _Colo ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- java之jvm学习笔记十三(jvm基本结构)
java之jvm学习笔记十三(jvm基本结构) 这一节,主要来学习jvm的基本结构,也就是概述.说是概述,内容很多,而且概念量也很大,不过关于概念方面,你不用担心,我完全有信心,让概念在你的脑子里变成 ...
随机推荐
- Hello World ! 第一篇随笔
Hello World ! 第一篇随笔 /* * Language: C++ * Code Name: Hello World ! * @author Metak */ #include <io ...
- python 控制台单行刷新,多行刷新
先贴出单行刷新实现的进度条: 对于控制台的单行刷新,比较简单,先直接贴出代码: strarrs = ['/','|','\\'] for i in range(15): sys.stdout.writ ...
- python队列
先入先出队列: import queue q = queue.Queue(10) # 10为队列长度 for i in range(5): q.put(i, block=False) # block= ...
- jupyter notebook设置主题背景,字体和扩展插件
windows上安装Anaconda (IPython notebook) Anaconda是一个包与环境的管理器,一个Python发行版,以及一个超过1000多个开源包的集合.它是免费和易于安装的, ...
- Smarty常用函数
1 .include_once语句: 引用文件路径,路径必需正确. eg:include_once("smarty/Smarty.class.php"); 2 $smarty= ...
- 1088. [SCOI2005]扫雷Mine【网格DP】
Description 相信大家都玩过扫雷的游戏.那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了 ,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子 ...
- 【转】使用URL SCHEME启动天猫客户端并跳转到某个商品页面的方法
在项目中遇到了这样一个需求:让用户在手机应用中,点击一个天猫的商品链接(知道商品在PC浏览器里的地址),直接启动天猫的客户端并显示这个商品.以前曾经实现过类似的功能,不过那次是淘宝的商品,天猫和淘宝的 ...
- Hadoop学习之路(十五)MapReduce的多Job串联和全局计数器
MapReduce 多 Job 串联 需求 一个稍复杂点的处理逻辑往往需要多个 MapReduce 程序串联处理,多 job 的串联可以借助 MapReduce 框架的 JobControl 实现 实 ...
- fiddler的inspectors传入的参数乱码
问题描述:如图Q1所示.传入的参数存在中文乱码问题. 本机:win7 系统,解决方法如下 1.windows按钮+R 2.输入regedit +回车+是 3.HKEY_CURRENT_USER\So ...
- 打开一个网站中的不同页面时,相同的js文件会被重复加载吗?
作者:JasonYang链接:https://www.zhihu.com/question/41184156/answer/135195798来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非 ...