
shader
犀利叔蓝波
这个作者很懒,什么都没留下…
展开
-
三言两语说shader(四)渲染流水线及相关
对一件事物的理解,分真懂和假懂,以及似懂非懂,往往前面走快了,中途就要停下来想一想,不然后面就越来越慢,搞技术,大抵如此了。前几天刷刷看了几个shader,产生一些疑问,比如一个shader完全没有properties可不可以?那些所谓的“语义”到底有什么用?顶点shader的参数从哪里传过来的?等等。都是些基本东西,不过越基本越重要啦。所以今天继续讲原理。先贴两个原创 2016-04-02 09:29:43 · 1074 阅读 · 0 评论 -
三言两语说shader(五)轮廓描边
这也是个常见的shader,可以实现类似动漫《枪之国度》的那种轮廓描边卡通画风。在我手头的项目里用来给怪物加“霸体”效果,所谓霸体意思是怪物此时无法被击倒。用途诸如此类。下面放效果图:原谅我在Asset Store里找了半天最后找到这么个丑陋的模型,不过刚好它不是很精细,很好的暴露出了缺点,模型表面法向量突变(也就是不光滑)的地方描边会断掉。这个shader原创 2016-04-03 14:10:58 · 7633 阅读 · 1 评论 -
三言两语说shader(六)外发光、表面shader
外发光(Rim Light),网上也很多例子。可用来做怪物受击时的身体闪光等。我一开始以为和轮廓描边差不多,实际上样子是类似,原理还是完全不同的。手头工程里有个顶点像素shader的例子,但是我发现Unity Surface Shader Examples里就有Rim Light,所谓简单就是美,直接贴这个官方例子,顺便说说Surface Shader好了。考虑到这次的内容比较原创 2016-04-03 16:13:13 · 4881 阅读 · 1 评论 -
三言两语说shader(一)前言、一些资源
先说明下情况,本人也是刚刚开始学习shader,这次开更要写的一系列文章也都是自学笔记形式,只求交流探讨,不敢擅为人师。本来不想用这个标题的,搞得像什么大师一样,但忆起达叔曾经曰过:“男人不装酷,枉在世上混”,我也就无所畏惧了。所谓游戏,就是一个不断在屏幕上画图的程序。根据模型的位置、贴图、环境光等原始信息,计算出屏幕上应该显示出什么图像,就叫渲染。很久以前这段计算原创 2016-03-25 08:59:12 · 558 阅读 · 0 评论 -
三言两语说shader(二)黑屏效果
我看了下shader这东西要玩深也是要经年积累的,按一般的顺序从漫反射到镜面反射等等那样来的话,太费精力。我这次是要作一个游戏开发技能的系统学习总结,所以shader这块大致的计划是以手头项目为依托,先看懂其中用到的大概三个,包括黑屏和两个轮廓描边,再自主编写一到两个有实际需求的,包括一个黑幕扩散、一个墙体后的人物透视,最后再做一个稍微酷炫些的比如钻石光效之类的,然后就收手转入下一块。计划原创 2016-03-25 21:04:08 · 2478 阅读 · 0 评论 -
三言两语说shader(七)黑幕扩散
按计划继续,目前为止写了三篇对工程已有shader的分析解读,当然实际上我读的shader远不止这三个啦,比如这周就把乐乐同学的blog里的几十篇文章泛泛通读了一遍,主要也是为自己开始构思写一些简单的shader作准备,所谓“思而不学则殆”,不多看些别人的东西自己就想搞创作明显是要吃亏的。所谓“黑幕扩散”,就是一开始屏幕全黑,然后从中心向外逐渐展示出游戏画面。为什么我要做这么一个东原创 2016-04-09 21:18:07 · 2676 阅读 · 1 评论 -
三言两语说shader(八)墙体透明
很抱歉这篇文章要放个空弹。计划写“墙体透明”的原因,也是工程实际需要,摄像机固定侧视主角,但场景是真3D的,所以有时主角会被墙挡住,这时要作一些处理。之前用过一种直接让人物变色显示的方案,但性能损耗严重,具体原因我还没分析。个人觉得让墙体变透明的方案观感效果可能更好。还是一样,什么都自己想办法是不明智的。上网搜了下,文章很多,随便贴两篇:Unity 墙遮挡人物时原创 2016-04-09 22:27:03 · 814 阅读 · 0 评论 -
三言两语说shader(三)矩阵变换
一、话痨接下来两篇打算补点理论姿势,哪里讲错了大家及时指出,多多包涵。说好讲轮廓效果的,怎么又扯起矩阵来了? 是这样的,即便是上一篇中最简单的黑屏效果,里头的顶点处理函数vert_img,其实也包含了一句: o.pos = mul (UNITY_MATRIX_MVP, v.vertex); 这个MVP是unity shaderlab提供的内置矩阵,大体就是从物体本地坐标变换到世界坐标、再到原创 2016-03-29 00:50:35 · 1496 阅读 · 0 评论 -
三言两语说shader(九)钻石
这次的目标是绘制一颗闪闪发光的钻石,追求效果是越接近真实越好。先说说为此我这几天干了些什么。1.看了stalendp blog里那篇《钻石效果》后头的参考文献最有价值的就是ATI在2004年GDC上作的演讲,题目就叫Drawing a Diamond。但是由于只有ppt,所以很难重现工程深入学习。思路大概是预备了一张折射CubeMap,一张带模拟色散的反射CubeMap,最后再原创 2016-04-17 14:36:48 · 7255 阅读 · 0 评论