(转)unityshaderLab中fixed function常用指令

ShaderLab中常用的fixedFunction.

SubShader{ 
Tags{"Queue"="Transparent"} //渲染完不透明物体,再渲染当前物体

GrabPass{} //将当前屏幕抓取到_GrabTexture纹理变量中.之后的pass可以使用这张纹理.

Pass{ 
Name "passName" //给pass起名 
Material{ 
//[]取值符号 
Diffuse[_diffuseColor] //反射光,颜色 
Ambient[_ambient] //环境光,颜色 
Specular[_specularColor] //高光颜色 
Shininess[_shininess] //高光强度 
Emission[_emissionColor] //自发光,颜色, 
}

ColorMaterial AmbientAndDiffuse | Emission //使用顶点颜色,计算顶点光照. 
SeparateSpecular On //高光放到pass的最后 
ColorMask RGB //开启rgb通道.注意:值rgba的任意组合,值为0时,关闭所有通道, 
Cull off //剔除规则,back,front,off 
AlphaTest Greater[_Cutoff] //透明测试,greater,GEqual,Less,Lequal,Equal,NotEqual,Always,Never. 
Lighting On //光线 on,off 
SetTexture[_MainTex]{ 
Combine primary * texture double,primary * texture 
/**组合rgb和a. 
rgb部分                 , a部分 
primary:顶点颜色, 
texture:当前纹理颜色, 
previous:上一次当前位置的颜色, 
constant: 使用constantColor[_color]赋值后的颜色值. 
double : 表示2倍,quad : 4倍. 
*/ 

ZWrite off //不写入深度值 
Offset -1,-1 //指定深度缓冲的偏移.只能是 常量 
ZTest Less //深度测试. 
Color(1,1,1,1) //顶点光线关闭后,使用此颜色值 
Blend SrcAlpha OneMinusSrcAlpha //alpha混合 
/** 
Blend off 关闭. 
语法:Blend srcFactor dstFactor 
One: 全部值 
zero: 
srcColor: 当前颜色 
srcAlpha: 
dstColor: 帧缓冲(目标)源颜色 
dstAlpha: 
OneMinusSrcColor:1 - srcColor 
OneMinusSrcAlpha:1 - srcAlpha 
OneMinusDstColor:1 - dstColor 
OneMinusDstAlpha:1 - dstAlpha 
**/ 
Fog{ 
mode exp 
color[_DiffuseColor] 
Density 1 
}

BindChannels{ //发送的顶点数据与gpu 寄存器绑定. 
Bind "Vertex" vertex 
/** 
Bind "source" target 
source: 
vertex,normal,tangent,texcoord,texcoord1,color 
target: 
vertex,normal,tangent,texcoord0,texcoord1,texcoord,color. 
*/ 

Tags{ //控制渲染引擎执行顺序. 
"LightMode" = "always" 


}

时间: 2024-10-13 16:13:24

(转)unityshaderLab中fixed function常用指令的相关文章

走进AngularJs(二) ng模板中常用指令的使用方式

通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板开始入手是个不错方式,因为这部分内容相对简单好理解,而且是视图层的东西,大家都喜欢可以立马看得见的东西嘛.本篇我将搜罗模板中的常用指令一一测试,了解其使用方法,有点像背单词的感觉,会比较枯燥.不过对于初学,这样的枯燥是必须要经历的,开始~ 一.模板中可使用的东西及表达式 模板中可以使用的东西包括以下

Redis中Key相关的常用指令详解

Redis是一个开源的使用ANSI C 语言编写.支持网络.同memcache相比在Redis下可以实现基于内存亦可持久化的日志型.Key-Value 类型的NoSQL数据库,且在Redis中Key的类型也更为丰富.所以较为广泛的在生产环境中使用,在这里就说一说Redis中Key相关的常用指令. 首先,先要说明下在Redis下Key,Redis的key是字符串类型,但是key 中不能包括边界字符(""),由于key 不是binary safe的字符串,所以像"my key&q

VS2013中反汇编常用指令理解

最近复习C语言,对反汇编感兴趣,就用下图举例解释一下我的理解,如有错还请大佬指教. 首先,认识两个常用指令 :   lea ---> 取地址赋值      mov ---> (同类型)赋值 其次理解 dword ptr [] :   dword(double word)即双字,也就是四字节   ptr(point)即指针   []放的是一个地址值,这个地址对应一个四字节数据 举个栗子, dword ptr [p1] 表示 : p1(地址值)对应的四字节数据(内容) 解释完了,现在把各部分汇编指

Vue专题-js常用指令

vue.js官方给自己的定为是数据模板引擎,并给出了一套渲染数据的指令.本文详细介绍了vue.js的常用指令. vue.js常用指令 Vue.js使用方式及文本插值 Vue.js 使用了基于 HTML 的模板语法,最简单的使用vue的方式是渲染数据,渲染数据最常见的形式就是使用"Mustache"语法 (双大括号) 的文本插值. 123456789101112131415161718192021222324252627282930 <!DOCTYPE html><ht

Angular 2 模板语法与常用指令简介

一.模板语法简介 插值表达式 <div>Hello {{name}}</div> 等价于 <div [textContent]="interpolate(['Hello'], [name])"></div> 模板表达式 1.属性绑定 1.1输入属性的值为常量 <show-title title="Some Title"></show-title> 等价于 <show-title [titl

关于C++代码中的#pragma预处理指令

预处理指令是指在编译器编译代码时,提供按条件跳过源文件中的代码段(节).报告错误(错误信息以及行号)和警告条件,以及描绘源代码的不同区域的能力. 总是占用源代码中的单独一行,并且总是以 # 字符和预处理指令名称开头.# 字符的前面以及 # 字符与指令名称之间可以出现空白符. 下面是可用的预处理指令: #define 和 #undef,分别用于定义和取消定义条件编译符号. #if.#elif.#else 和 #endif,用于按条件跳过源代码中的节. #line,用于控制行号(在发布错误和警告信息

Angular中的内置指令和自定义指令

NG中的指令,到底是什么(what)? 为什么会有(why)?以及怎样使用(how)? What: 在NG中,指令扩展HTML功能,为 DOM 元素调用方法.定义行为绑定数据等. Why: 最大程度减少DOM操作,实现数据绑定,与业务逻辑进行交互. How: 指令主要分为两种:内置指令和自定义指令,通过下面的例子,简单记录一下如何去使用. 内置指令 在官方API文档上罗列了很多指令,内置指令可以分为:普通指令 和 事件指令,他们都是作用于HTML之上的,通过添加属性的方式来实现的.简单看一下一些

MongoDb常用指令

MongoDb常用指令记录: 1.Help查看命令提示 db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2.切换/创建数据库 use yourDB;  当创建一个集合(table)的时候会自动创建当前数据库 3.查询所有数据库 show dbs; 4.删除当前使用数据库 db.dropDatabase(); 5.从指定主机上克隆数据库 db.cloneDatabase(“127.0.0.1”); 将指定机器上

MySQL常用指令,java,php程序员,数据库工程师必备。程序员小冰常用资料整理

MySQL常用指令,java,php程序员,数据库工程师必备.程序员小冰常用资料整理 MySQL常用指令(备查) 最常用的显示命令: 1.显示数据库列表. show databases; 2.显示库中的数据表: use mysql; show tables; 3.显示数据表的结构: describe 表名; 4.建库: create database 库名; 5.建表: use 库名: create table 表名 (字段设定列表): 6.删库和删表: drop database 库名; dr