Shader
Dongo2
这个作者很懒,什么都没留下…
展开
-
Unity自带Shader(一)(卡通着色)
前言:最近有必要系统的学习下shader了,虽然平时也用着,原理什么的都懂,而且觉得应用层的shader特别简单,真的难的是隐藏在shader后面的算法,这里准备了一个系列,这个系列是对unity 标准库shader的学习,从而对shader有更深的认识,同时也希望能认识更多搞图形学的朋友一起交流。游戏shader中最常见的Toon shader(卡通shader). Toon 效果图 本文sh原创 2017-01-07 15:12:28 · 8275 阅读 · 0 评论 -
Unity Shader (二)裁剪(Culling)
前言:unity当处理完顶点后,就会进入裁剪。为什么是在这个时候呢? 因为下一个阶段我们会进行片段程序(Fragment)的处理,而这个过程实际上是非常消耗的,所以我们这里讲的裁剪+深度测试(下文讲)是对进入片段之前的顶点优化过程,减少片段处理的压力。裁剪(Culling)分类:Cull Back | Front | Off 默认情况下是裁剪的背面,因为背向相机的其实是没必要去处理着色的,所以这里原创 2017-01-10 11:05:09 · 4565 阅读 · 0 评论 -
Unity Shader (三)深度测试(depth test)
前言: 第二篇我说了在片段程序处理之前除了裁剪,还有一个比较重要的概念就是深度测试。深度测试的作用其实是对裁剪的弥补,裁剪讨论的范围是局部坐标的模型本身的优化,而深度测试是在世界空间的对渲染的优化,想象一下,在世界空间中有很多出现在视野中,但是有互相遮挡的情况,其实我们是不需要去处理他的着色的。而要完成这个过程就必须用到两个术语(缺一不可):深度缓存(zwrite) + 颜色缓存(ztest)原创 2017-01-10 15:29:21 · 5261 阅读 · 0 评论 -
Unity Shader (四)Alpha测试(alpha test)
前言:经过片段处理的像素,这个时候理论上要去经过混合运算了,但是为了优化混合,程序还可以使用alpha测试进行像素剔除。AlphaTest的分类Greater/GEqual/Less/LEqual/Equal/NotEqual/Always/Never常用:AlphatTest一般用于具有凹型物体,比如树叶代码Shader "Custom/Alpha Test" { Properties原创 2017-01-10 15:53:10 · 3742 阅读 · 0 评论 -
Unity Shader (五)混合(Blend)
前言:混合是图形已经别渲染到了屏幕,所有的shader都已经执行,所有贴图都已经附上,这个时候执行的操作。比如你想实现一个叠加的效果,让一些碎花叠加到我们道童的腿上,画面是不是很美呢混合分类Blend off(默认关闭混合) Blend SrcFactor DstFactor (ScrFactor 表示的是即将要渲染上去的像素的因子,DstFactor是已经渲染的像素所占的因子) 其他复杂的原创 2017-01-10 16:18:33 · 4404 阅读 · 2 评论