减少draw call数目——动态批处理
作者:追风剑情 发布于:2017-10-7 19:52 分类:Shader
如果场景中有一些模型共享了同一个材质并满足一些条件,Unity就可以自动把它们进行批处理,从而只需要花费一个draw call就可以渲染所有模型。动态批处理的基本原理是,每一帧把可以进行批处理的模型网格进行合并,再把合并后的模型数据传递给GPU,然后使用同一个材质对其渲染。除了实现方便,动态批处理的另一个好处是,经过批处理的物体仍然可以移动,这是由于在处理...标签: Shader
利用NDC坐标实现画面渐隐效果
作者:追风剑情 发布于:2017-9-15 18:47 分类:Shader
NDC坐标:把裁剪空间中的坐标归一化后得到的坐标。取值范围[-1,1] 示例:让屏幕画面渐隐 工程如图 FadeOut.shader代码 Shader "Custom/FadeOut" { Properties { //材质面板中隐藏_MainTex [PerRendererData] _MainTex ...标签: Shader
空间坐标转换过程
作者:追风剑情 发布于:2017-8-28 11:26 分类:Shader
参考 http://blog.csdn.net/cubesky/article/details/38664143 对象空间(Object Space) 世界空间(World Space or Model Space) 摄像机空间(Camera Space or Eye Space or View Space) 屏幕空间(Screen Space or Clip Spac...标签: Shader
什么是HDR
作者:追风剑情 发布于:2017-8-13 12:27 分类:Shader
在使用基于物理的渲染时,我们经常会听到一个名词就是HDR。HDR是High Dynamic Range的缩写,即高动态范围,与之相对的是低动态范围(Low Dynamic Range, LDR)。那么这个动态范围是指什么呢?通俗来讲,动态范围指的就是最高的和最低的亮度值之间的比值。在真实世界中,一个场景中最亮和最暗区域的范围可以非常大,例如,太阳发出的光可...标签: Shader
逐片元操作阶段流程图
作者:追风剑情 发布于:2017-8-6 15:40 分类:Shader
逐片元操作(Per-Fragment Operations)流程图 只有通过了所有的测试后,新生成的片元才能和颜色缓冲区中已经存在的像素颜色进行混合,最后再写入颜色缓冲区中。 模板测试(Stencil Test)流程图 与之相关的是模板缓冲(Stencil Buffer)。实际上,模板缓冲和我们经常听到的颜色缓冲...标签: Shader
Camera.main.SetReplacementShader()
作者:追风剑情 发布于:2017-8-5 16:39 分类:Shader
替换前 替换后 示例: Unity5.5 using System.Collections.Generic; using UnityEngine; public class TestShader : MonoBehaviour { void Start () { //SetReplacem...标签: Shader
利用模板测试实现遮罩效果
作者:追风剑情 发布于:2017-8-4 17:15 分类:Shader
模板测试 参考 http://blog.csdn.net/u011047171/article/details/46928463 官方文档 https://docs.unity3d.com/Manual/SL-Stencil.html 示例: Unity5.5 一、创建Cube和Quad,如图 二、...标签: Shader
Tags
作者:追风剑情 发布于:2017-8-3 11:48 分类:Shader
参考 http://www.jianshu.com/p/7b9498e58659 SubShader中的Tags SubShader { Tags {"Queue"="Geometry" "RenderType"="Opaque" "ForceNoShadowCasting"="true" "IgnoreProjector"="true"} } ...标签: Shader
顶点光照着色器——VertexLit
作者:追风剑情 发布于:2017-8-2 10:38 分类:Shader
//顶点光照着色器 Shader "Custom/VertexLit" { Properties { _Color ("Main Color", Color) = (1,1,1,0) _SpecColor ("Spec Color", Color) = (1,1,1,1) _Emission ("Emmisive Color", Colo...标签: Shader
标准着色器(Standard Shader)
作者:追风剑情 发布于:2017-7-15 19:42 分类:Shader
位于DefaultResourcesExtra/Standard.shader Unity5的基础着色器——标准着色器为基于物理的着色提供了多种可详细设置的选项 Standard Sharder默认使用的是#pragma target 3.0 DX9着色器模型3.0:衍生指令,纹理LOD采样,10个插值器,允许更多数学/纹...标签: Shader
着色器数据类型与精度
作者:追风剑情 发布于:2017-5-27 15:29 分类:Shader
高精准度float 32位 高精度通常用于世界空间位置,纹理坐标或涉及复数函数(如三角法或幂/取幂)的标量计算。 中等精度half 16位 范围为-60000至+60000,精度约为3位十进制数 半精度对于短矢量,方向,对象空间位置,高动态范围颜色是有用的。 低精度fixed 11位 范围为-2.0至+2.0和1/256精度 固定精度对常规颜色(通常存储在常规纹理中)和...标签: Shader
让Sprite支持描边
作者:追风剑情 发布于:2017-5-25 20:05 分类:Shader
参考:http://blog.csdn.net/bulademian/article/details/57082556 一、修改Sprites-Default.shader Shader "Custom/Sprite-Outline" { Properties { [PerRendererData] _MainTex ("Sprite Texture...标签: Shader
水波效果
作者:追风剑情 发布于:2017-5-22 20:57 分类:Shader
一、创建SinWater.shader Shader "Custom/SinWater" { Properties { _MainTex ("Texture", 2D) = "white" {} //控制波动周期长度 _DistanceFactor ("Distance Factor", float) = 1.0 //控制波动速率(值越大越快) _...标签: Shader
屏幕坐标——挖空效果
作者:追风剑情 发布于:2017-5-13 14:55 分类:Shader
一、创建ScreenCutout.shader Shader "Custom/Screen Cutout" { Properties { _MainTex ("Texture", 2D) = "white" {} _ClipX0 ("Clip x0", float) = 0 _ClipY0 ("Clip y0", float) = 0 _ClipX1...标签: Shader
运动模糊(一)
作者:追风剑情 发布于:2017-5-9 11:47 分类:Shader
一、创建Shader Shader "Custom/MotionBlur" { Properties { _MainTex ("Texture", 2D) = "white" {} //混合图像时使用的混合系数 _BlurAmount ("Blur Amount", Float) = 1.0 } SubShader { Tags { "Ren...标签: Shader
顶点动画——流动的河流
作者:追风剑情 发布于:2017-4-6 8:45 分类:Shader
开发环境Unity5.4 Shader "Custom/Chapter11-Water" { Properties { //河流纹理 _MainTex ("Main Tex", 2D) = "white" {} //控制整体颜色 _Color ("Color Tint", Color) = (1, 1, 1, 1) //控制水流波动的幅度 _Mag...标签: Shader
光的衰减
作者:追风剑情 发布于:2017-1-16 18:51 分类:Shader
光随距离衰减。所以,远离光源的物体会变暗一些。现实世界里,光强度反比于物体和光源距离的平方。 此处i为光强,d为距离。 实践中,上面公式并不方便,我们常用另一个简单的基于辐射衰减距离的模型替代,在辐射衰减距离之外,光线将完全衰减为0。通常,可在光线有效射程内使用线性插值表现光随距离d的衰减: 如上,实际有两个辐射衰减距离。在dmin内...标签: Shader
屏幕空间
作者:追风剑情 发布于:2017-1-3 20:56 分类:Shader
经过投影矩阵的变换后,我们可以进行裁剪操作。当完成了所有的裁剪工作后,就需要进行真正的投影了,也就是说,我们需要把视锥体投影到屏幕空间(screen space)中。经过这一步变换,我们会得到真正的像素位置,而不是虚拟的三维坐标。 屏幕空间是一个二维空间,因此,我们必须把顶点从裁剪空间投影到屏...标签: Shader
裁剪空间
作者:追风剑情 发布于:2016-12-26 22:20 分类:Shader
顶点接下来要从观察空间转换到裁剪空间(clip space,也被称为齐次裁剪空间)中,这个用于转换的矩阵叫做裁剪矩阵(clip matrix),也被称为投影矩阵(projection matrix)。 裁剪空间的目标是能够方便地对渲染图元进行裁剪:完全位于这块空间内部的图元将会被保留,完全位于这块空间外部的...标签: Shader
Bloom效果
作者:追风剑情 发布于:2016-12-24 20:36 分类:Shader
Bloom特效是游戏中常见的一种屏幕效果。这种特效可以模拟真实摄像机的一种图像效果,它让画面中较亮的区域“扩散”到周围的区域中,造成一种朦胧的效果。 Bloom的实现原理非常简单:我们首先根据一个阈值提取出图像中的较亮区域,把它们存储在一张渲染纹理中,再利用高斯模糊对这张渲染纹理进行模糊处理,...标签: Shader
法线变换
作者:追风剑情 发布于:2016-12-23 22:53 分类:Shader
法线(normal),也被称为法矢量(normal vector)。在上面我们已经看到如何使用变换矩阵来变换一个顶点或一个方向矢量,但法线是需要我们特殊处理的一种方向矢量。在游戏中,模型的一个顶点往往会携带额外的信息,而顶点法线就是其中一种信息。当我们变换一个模型的时候,不仅需要变换它的顶点,还需要变换顶点法线,以便在后续处理(如片元着色器)中计算光照等。...标签: Shader
高斯滤波
作者:追风剑情 发布于:2016-11-25 21:35 分类:Shader
前面学习了卷积的概念,并利用卷积实现了一个简单的边缘检测效果。本节学习卷积的另一个常见应用——高斯模糊。模糊的实现有很多方法,例如均值模糊和中值模糊。均值模糊同样使用了卷积操作,它使用的卷积核中的各个元素值都相等,且相加等于1,也就是说,卷积后得到的像素值是其邻域内各个像素值的平均值。而中值模糊则是选择邻域内对所有像素排序后的中值替换掉原颜色。一个更高级的...标签: Shader
日历
最新文章
随机文章
热门文章
分类
存档
- 2024年4月(7)
- 2024年3月(11)
- 2024年2月(24)
- 2024年1月(12)
- 2023年12月(3)
- 2023年11月(9)
- 2023年10月(7)
- 2023年9月(2)
- 2023年8月(7)
- 2023年7月(9)
- 2023年6月(6)
- 2023年5月(7)
- 2023年4月(11)
- 2023年3月(6)
- 2023年2月(11)
- 2023年1月(8)
- 2022年12月(2)
- 2022年11月(4)
- 2022年10月(10)
- 2022年9月(2)
- 2022年8月(13)
- 2022年7月(7)
- 2022年6月(11)
- 2022年5月(18)
- 2022年4月(29)
- 2022年3月(5)
- 2022年2月(6)
- 2022年1月(8)
- 2021年12月(5)
- 2021年11月(3)
- 2021年10月(4)
- 2021年9月(9)
- 2021年8月(14)
- 2021年7月(8)
- 2021年6月(5)
- 2021年5月(2)
- 2021年4月(3)
- 2021年3月(7)
- 2021年2月(2)
- 2021年1月(8)
- 2020年12月(7)
- 2020年11月(2)
- 2020年10月(6)
- 2020年9月(9)
- 2020年8月(10)
- 2020年7月(9)
- 2020年6月(18)
- 2020年5月(4)
- 2020年4月(25)
- 2020年3月(38)
- 2020年1月(21)
- 2019年12月(13)
- 2019年11月(29)
- 2019年10月(44)
- 2019年9月(17)
- 2019年8月(18)
- 2019年7月(25)
- 2019年6月(25)
- 2019年5月(17)
- 2019年4月(10)
- 2019年3月(36)
- 2019年2月(35)
- 2019年1月(28)
- 2018年12月(30)
- 2018年11月(22)
- 2018年10月(4)
- 2018年9月(7)
- 2018年8月(13)
- 2018年7月(13)
- 2018年6月(6)
- 2018年5月(5)
- 2018年4月(13)
- 2018年3月(5)
- 2018年2月(3)
- 2018年1月(8)
- 2017年12月(35)
- 2017年11月(17)
- 2017年10月(16)
- 2017年9月(17)
- 2017年8月(20)
- 2017年7月(34)
- 2017年6月(17)
- 2017年5月(15)
- 2017年4月(32)
- 2017年3月(8)
- 2017年2月(2)
- 2017年1月(5)
- 2016年12月(14)
- 2016年11月(26)
- 2016年10月(12)
- 2016年9月(25)
- 2016年8月(32)
- 2016年7月(14)
- 2016年6月(21)
- 2016年5月(17)
- 2016年4月(13)
- 2016年3月(8)
- 2016年2月(8)
- 2016年1月(18)
- 2015年12月(13)
- 2015年11月(15)
- 2015年10月(12)
- 2015年9月(18)
- 2015年8月(21)
- 2015年7月(35)
- 2015年6月(13)
- 2015年5月(9)
- 2015年4月(4)
- 2015年3月(5)
- 2015年2月(4)
- 2015年1月(13)
- 2014年12月(7)
- 2014年11月(5)
- 2014年10月(4)
- 2014年9月(8)
- 2014年8月(16)
- 2014年7月(26)
- 2014年6月(22)
- 2014年5月(28)
- 2014年4月(15)
友情链接
- Unity官网
- Unity圣典
- Unity在线手册
- Unity中文手册(圣典)
- Unity官方中文论坛
- Unity游戏蛮牛用户文档
- Unity下载存档
- Unity引擎源码下载
- Unity服务
- Unity Ads
- wiki.unity3d
- Visual Studio Code官网
- SenseAR开发文档
- MSDN
- C# 参考
- C# 编程指南
- .NET Framework类库
- .NET 文档
- .NET 开发
- WPF官方文档
- uLua
- xLua
- SharpZipLib
- Protobuf-net
- Protobuf.js
- OpenSSL
- OPEN CASCADE
- JSON
- MessagePack
- C在线工具
- 游戏蛮牛
- GreenVPN
- 聚合数据
- 热云
- 融云
- 腾讯云
- 腾讯开放平台
- 腾讯游戏服务
- 腾讯游戏开发者平台
- 腾讯课堂
- 微信开放平台
- 腾讯实时音视频
- 腾讯即时通信IM
- 微信公众平台技术文档
- 白鹭引擎官网
- 白鹭引擎开放平台
- 白鹭引擎开发文档
- FairyGUI编辑器
- PureMVC-TypeScript
- 讯飞开放平台
- 亲加通讯云
- Cygwin
- Mono开发者联盟
- Scut游戏服务器引擎
- KBEngine游戏服务器引擎
- Photon游戏服务器引擎
- 码云
- SharpSvn
- 腾讯bugly
- 4399原创平台
- 开源中国
- Firebase
- Firebase-Admob-Unity
- google-services-unity
- Firebase SDK for Unity
- Google-Firebase-SDK
- AppsFlyer SDK
- android-repository
- CQASO
- Facebook开发者平台
- gradle下载
- GradleBuildTool下载
- Android Developers
- Google中国开发者
- AndroidDevTools
- Android社区
- Android开发工具
- Google Play Games Services
- Google商店
- Google APIs for Android
- 金钱豹VPN
- TouchSense SDK
- MakeHuman
- Online RSA Key Converter
- Windows UWP应用
- Visual Studio For Unity
- Open CASCADE Technology
- 慕课网
- 阿里云服务器ECS
- 在线免费文字转语音系统
- AI Studio
- 网云穿
- 百度网盘开放平台
- 迅捷画图
- 菜鸟工具
- [CSDN] 程序员研修院
- 华为人脸识别
- 百度AR导航导览SDK
- 海康威视官网
- 海康开放平台
- 海康SDK下载
交流QQ群
-
Flash游戏设计: 86184192
Unity游戏设计: 171855449
游戏设计订阅号