最近shader学习中,看的视频。

练习的固定管线的shader如下:

ps.在unity5中半透明不好用,其他的还好

 //不区分大小写
//这是固定管线的Shader
Shader "ShaderStudy/FixedShader"
{
Properties//定义属性代码块
{
//shader中使用的变量名(显示在检视面板中的变量名,变量类型)=初始值
_mainColor("Main Color", Color) = (, , , )
_ambientColor("Ambient Color", Color) = (, , , )
_specularColor("Specular Color", Color) = (, , , )
_shininess("Smooth", Range(, )) =
_emission("Emission", Color) = (, , , )
_constantColor("ConstantColor", Color) = (, , , 0.5)
_mainTexture("MainTexture", 2D) = ""{}
_secondTexture("SecondTexture", 2D) = ""{}
} SubShader
{
Tags//标签,表明渲染的顺序
{
"Queue" = "Transparent"
} Pass
{
Blend SrcAlpha OneMinusSrcAlpha//混合源alpha值和1-alpha值,使有关于alpha的改变能够正常实现
// color[_MainColor]//单纯设置颜色,这个颜色不带任何效果,[]里面放的是变量
// color(1,1,1,1)//()里面放的是常量
Material//设置材质
{
diffuse[_mainColor]//漫反射效果,需要打开光照效果才能正常使用,不然是黑的,因为没有光
Ambient[_ambientColor]//环境光效果
Specular[_specularColor]//高光效果
Shininess[_shininess]//高光集中程度,数值越大越集中,越光滑
Emission[_emission]//自发光效果
}
Lighting On//打开光照效果,即能够反射光线
// Lighting Off//关闭光照效果
SeparateSpecular On//高光效果打开
// SeparateSpecular Off//高光效果关闭 SetTexture[_mainTexture]
{
// Combine texture//仅使用texture的颜色信息进行着色
// Combine texture * primary//将texture和之前Material中的颜色计算的结果进行混合
Combine texture * primary double//颜色值相乘混合后会导致颜色偏暗,double将颜色值乘以2,提亮最终结果
// Combine texture * primary quad//颜色值相乘混合后会导致颜色偏暗,quad将所得的颜色值乘以4,提亮最终结果
} //可以设置多个texture,但是,最大支持多少个texture由硬件决定,硬件越好,支持混合的texture数量越多
//一半来讲,2个texture的基本都支持
SetTexture[_secondTexture]
{
ConstantColor[_constantColor]
// Combine texture * primary double//这会覆盖之前的texture的计算
//将texture与之前经过所有计算而得出的颜色值进行混合,alpha值进行混合
Combine texture * previous double, texture * constant
//经过测试,unity5里面半透明不好用,随着主摄像机的模式的变化,会掺杂天空盒或者是背景底色,或重复堆叠自身颜色,直至看不出半透明效果
}
}
}
}

unity的固定管线shader的更多相关文章

  1. 固定管线shader编写:基本属性

    欢迎转载!转载时请注明出处:http://write.blog.csdn.net/postedit/50753008 shader 部分介绍: properties:属性部分 material:材质部 ...

  2. [Unity] Shader(着色器)之固定管线

    在Unity中,固定管线Shader的性能是最好的. 什么是固定管线呢? 固定渲染管线 —— 这是标准的几何&光照(T&L)管线,功能是固定的,它控制着世界.视.投影变换及固定光照控制 ...

  3. UnityShader之固定管线Fixed Function Shader【Shader资料3】

    Fixed function shader简介:  属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的情况.使用的是ShaderLab语言,语法与微软的FX files 或 ...

  4. Shader基础(固定管线着色器)

    在Shader的编码中,要养成不加空格的习惯,否则会有时候出现一些错误 固定管线着色器: 优点:实现简单 缺点:处理的效果比较差 //设置Shader的路径 Shader "MyFixedS ...

  5. GPU的历史:从固定管线到可编程管线再到通用计算平台

    开始的时候GPU不能编程,也叫固定管线的,就是把数据按照固定的通路走完. 和CPU同样作为计算处理器,顺理成章就出来了可编程的GPU,但是那时候想在GPU上编程可不是容易的事,你只能使用GPU汇编来写 ...

  6. Unity内置的shader include files

    Unity内置的shader include files:这些文件都以.cninc结尾, HLSLSupport.cginc:自动包含,一些跨平台编译相关的宏和定义. UnityShaderVaria ...

  7. 【Unity Shaders】Mobile Shader Adjustment—— 什么是高效的Shader

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  8. OpenGL 笔记<1> 固定管线实例 + 双缓存测试实例

    欲以此分类来记录opengl的学习历程,此为第一篇,所以先来一个固定管线的例子,以及对双缓存的测试. 一.配置环境 写之前,先进行配置,然后再讲内容. 注:第一部分涉及的代码均忽略. [环境配置传送门 ...

  9. unity 切圆角矩形 --shader编程

    先上个效果图 制作思路 如上图我们要渲染的就是上图带颜色的部分 步骤: 先获取黄色和蓝绿部分 例如以下图 算法 |U|<(0.5-r)或|V|<(0.5-r) 注意的是模型贴图最大值是1. ...

随机推荐

  1. iOS无限循环滚动scrollview

    经常有园友会问"博主,有没有图片无限滚动的Demo呀?", 正儿八经的图片滚动的Demo我这儿还真没有,今天呢就封装一个可以在项目中直接使用的图片轮播.没看过其他iOS图片无限轮播 ...

  2. C++构造函数2

    一.构造函数分类 普通构造函数,复制(拷贝)构造函数,赋值构造函数, #include <iostream> using namespace std; class A { public: ...

  3. adobe premiere pro cc2015.0已停止工作 解决办法

    adobe premiere pro cc2015.0已停止工作 一直报错 解决办法就是: 删除我的电脑  我的饿文档下的 Adobe下的Premiere Pro文件夹 现象就是怎么重新安装都不管用P ...

  4. .NET开源资源汇总

    1>>  力软信息化系统快速开发框架 2>>  金碟友商网 3>>

  5. AD域-让共享目录只显示用户有权限访问的文件夹

    问题: 在AD域中,我们一般都会用到共享,如果有很多部门,我们可能还会按部门.职位配置权限.比如CSD,IT,PA等,但文件夹一多,用户看着就头大,而且用户没权限访问的文件夹误点击进去还会提示无权限访 ...

  6. 最新 Eclipse IDE下的Spring框架配置及简单实例

    前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...

  7. C语言位域

    转载自 http://tonybai.com/2013/05/21/talk-about-bitfield-in-c-again/ 再谈C语言位域 五 21 bigwhite技术志 bitfield, ...

  8. php.h: No such file or directory

    建立一个php的include路径到/usr/include的软连接就好了 ln -s /usr/include/php-zts/* /usr/include/

  9. Jquery制作--美化下拉框

    平常我们用的原生select下拉框,大部分样式没办法修改,导致在不同的浏览器里面会跟设计图的风格大相径庭.所以为了能让它美化起来,就用JQ模拟了一个下拉框,可以随意定义样式.原生的下拉框也保留在div ...

  10. POJ1002

    转化为七位数字 #include<iostream> #include<map> #include<cstring> #include<cstdio> ...