最近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. JavaScript系列文章:从let和const谈起

    注册博客园账号也有好些年了,有事没事经常来逛逛,感觉博客园的同学们一直都很活跃,相比国内其他社区来讲,这里的技术氛围很浓,非常适合学习和交流,所以博主我也决定在这里驻扎了,在这里,博主希望能坚持写一些 ...

  2. MDK5 STM32编译问题汇总

    MDK5 STM32编译问题汇总 WIN8.KEIL-MDK-5 编译时,出现弹窗"The ARM C/C++ Compiler 已停止工作",关闭弹窗后,编译输出的窗口中出现如下 ...

  3. BZOJ2588: Spoj 10628. Count on a tree

    传送门 刚开始看错题以为是dfs序瞎搞.. 后来看清题了开始想用树剖瞎搞... 感觉要滚粗啊.. 对于每个点到根的路径建立线段树,暴力建MLE没跑,上主席树,然后$(x,y)$的路径就可以先求出来$L ...

  4. 逆向工程学习第四天--Windows栈溢出保护机制(GS)原理及绕过测试

    GS简介: Windows的缓冲区安全监测机制(GS)可以有效的阻止经典的BOF攻击,因为GS会在函数调用前往函数栈帧内压入一个随机数(canary),然后等函数返回前,会对canary进行核查,判断 ...

  5. 基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度

    http://www.cnblogs.com/bobositlife/p/aspnet-mvc-csharp-quartz-net-timer-task-scheduler.html 在之前的文章&l ...

  6. [c#基础]关于try...catch最常见的笔试题

    引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...

  7. 感悟:搞了整整一天,拯救一个Ubuntu系统

    最开始,我在windows平台上,准备打开计算机组成原理的实验工程,突然来了一个想法:每次要用windows的时候,都要切换系统(win8以上的系统必须在关闭快速开机的状态下才能正常在Linux平台下 ...

  8. OpenSSL windows 下编译

    源码下载:https://www.openssl.org/source/  目前最新的1.0.2c 编译工具:ActiveState Perl from http://www.activestate. ...

  9. WinForm下增加声音提示

    在WinForm平台下播放声音,一般有两种方式:第一种是调用系统自带声音: [代码] 申明定义: [DllImport("kernel32.dll")] public static ...

  10. html5 第一天

    html4与html5的琐碎比较,不全,第一次写,望多多包涵. 一 兼容性:html5在老版本的浏览器上也可以运行 二 实用性:HYML5都是封装的简单使用功能 三非革命性的发展 Html5向前兼容, ...