shader
文章平均质量分 70
Aimar_Johnny
这个作者很懒,什么都没留下…
展开
-
unity 获取深度图(drawcall不翻倍)
原文地址:https://blog.csdn.net/SnoopyNa2Co3/article/details/114090245深度图基础深度图里存放了[0,1]范围的非线性分布的深度值,这些深度值来自NDC坐标。在延迟渲染中,深度值默认已经渲染到G-buffer;https://www.jianshu.com/p/80a932d1f11e这里已经有详细说明没优化前深度图获取在C#中设置Camera.main.depthTextureMode = DepthTextureMode转载 2021-07-26 21:42:00 · 2935 阅读 · 0 评论 -
Unity Shader入门精要笔记(十四):渐变纹理
从上一篇我们看到纹理不只是为了定义颜色,还可以存储很多表面属性,这一篇说的渐变纹理就是其中一种,比如用渐变纹理控制漫反射效果。前面光照篇里我们介绍过漫反射,是用法线和光照方向的点积与材质的反射率相乘得到。这里我们可以用渐变纹理更加灵活的控制光照。原创 2017-09-03 22:46:20 · 2566 阅读 · 3 评论 -
Unity Shader入门精要笔记(十五):遮罩纹理
遮罩纹理在游戏里应用很广,前几日我们的美术还让我写了个遮罩纹理的shader,用遮罩纹理的rgb通道分别显示草,石和土地的叠加效果。何为遮罩纹理呢,还拿我刚说的那个举例,为了实现土地上有石头和草的效果,如果简单处理,那就是美术自己画,麻烦不说,而且没办法灵活控制,所以遮罩纹理就大显神威了,草,石头和土地是三张普通纹理,如果我把土地放最下面,上面叠加上草的纹理,草的纹理上扣几个洞,这样下面的土就漏出来了,草上面再叠加上石头纹理,同样石头纹理再扣几个洞,那下面的草和土地也漏出来一部分,这样三者就能呈现出混合的效原创 2017-11-23 23:26:53 · 1839 阅读 · 0 评论 -
Unity Shader入门精要笔记(十六):透明相关概念
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。https://blog.csdn.net/lzhq1982/article/details/82710020 从这节开始说透明,透明有两种表达方式,一种是透明度测试(Alpha Test),一种是透明度混合(Alpha Blending)。前者只有透明和不透明两种效果,不存在半透,后者有半透效果。在说透明前...原创 2018-09-21 00:24:51 · 609 阅读 · 1 评论 -
Unity Shader入门精要笔记(十七):透明度测试
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。https://blog.csdn.net/lzhq1982/article/details/82808525 上一篇我们学习了透明度测试的理论知识,这一篇我们看看实现。通常,我们会在片元着色器中用clip函数来进行透明测试。它的定义如下:函数:void clip(float4 x); void c...原创 2018-09-22 00:49:01 · 563 阅读 · 0 评论 -
Unity Shader入门精要笔记(十八):透明度混合
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。https://blog.csdn.net/lzhq1982/article/details/82861186 前面章节介绍过,透明度混合是实现了真正的半透效果。它会以当前片元透明度作为混合因子,与已经存储在颜色缓冲区中的颜色进行混合,得到新的颜色。同时要关掉深度写入,小心物体的渲染顺序。为了进行混合,我们用...原创 2018-09-29 00:46:10 · 2324 阅读 · 0 评论 -
Unity Shader入门精要笔记(十九):双面渲染的透明效果
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。https://blog.csdn.net/lzhq1982/article/details/83099451 前面文章介绍了透明度测试和透明度混合,基本满足了透明的效果需求,但严格来说,现实中透明除了能看到后面物体的样子,也应该能看到透明物体内部的样子,但前面的方法我们都看不到其内部结构,这是因为默认情况下我们...原创 2018-10-19 00:04:28 · 2622 阅读 · 3 评论 -
unity的gpu instancing技术
原文地址:http://gad.qq.com/program/translateview/7213959译者: 崔嘉艺(milan21)审校:王磊(未来的未来)渲染一大堆的球体。 添加对图形处理器实例化技术的支持。 使用材质属性块。 让实例化技术和LOD组一起工作。这是关于渲染基础的系列教程的第十九部分。在前面的部分里我们涉及了全局光照,体积探测器还有LOD组。这一次,我们将...转载 2019-03-04 15:28:37 · 14000 阅读 · 0 评论 -
gpu instancing animation代替骨骼动画的做法
文章转自:https://blog.csdn.net/yxriyin/article/details/83018985最早是在Unity推出gpuinstancing后,马上有人做了一个顶点动画代替骨骼动画的方案,当时自己也测试了一下,红米2一千人可以跑60帧,确实非常不错。后来发现UWA群里也有人在讨论这个东西的做法,当时M神说可以用烘焙骨骼的方式代替烘焙顶点,这样子烘焙出来的贴图大小只和骨...转载 2019-03-04 16:05:48 · 2772 阅读 · 1 评论 -
针对移动端TBDR架构GPU特性的渲染优化
本文转自https://gameinstitute.qq.com/community/detail/123220真是篇好文章,解释了我一直以来的好多疑惑!TBDR(Tile-Base-Deffered-Rendering)是现代移动端gpu的设计架构,它同传统pc上IR(Immediate-Rendering)架构的gpu在硬件设计上是差别很大的。手游正是运行在这些移动端的TBDR架构上,...转载 2019-04-04 21:12:48 · 908 阅读 · 0 评论 -
Unity Shader-热空气扭曲效果(多种实现方案,包括移动平台)
原文地址:https://blog.csdn.net/puppet_master/article/details/70199330简介千等万等终于等到了《耻辱2》打折,本以为可以爽一发了,然而各种出问题,先是steam下载速度奇慢无比,下了三天晚上好不容易下完的游戏,第一次打开给弹了个3D11CreateDeviceAndSwapChain Failed,折腾半天装了个补丁算是能打开游戏...转载 2019-05-21 17:50:57 · 6214 阅读 · 4 评论 -
Unity Shader入门精要笔记(十三):法线纹理
在说法线纹理之前,我们要先介绍一下凹凸映射。如前面光照篇介绍的内容得知,法线参与光线反射的过程,物体表面法线与光线的角度直接影响漫反射的颜色和强度,所以可以说法线方向可以间接影响我们看到物体的凹凸程度。 正常的法线是垂直于当前的面片的,我们为了展现物体表面的精细程度,可以无限增加面片数,也就是我们常说的高模,可是众所周知,我们的硬件情况尤其是移动设备的硬件情况是不允许太多的三角形片面的存在的,那么有没有办法可以用相对少量的三角形面片实现近似高模的感觉,这就要用凹凸纹理了,凹凸映射的目的是使用一张纹理来修改模原创 2017-07-16 22:00:40 · 6228 阅读 · 1 评论 -
Unity Shader入门精要笔记(九):Unity 的基础光照——漫反射的实现
上一篇讲了Unity光照的概念,理论和公式。这一篇我们可以利用公式,实现简单的漫反射效果。原创 2017-07-10 13:17:04 · 3200 阅读 · 0 评论 -
Unity Shader入门精要笔记(八):Unity 的基础光照——概念与理论
这一篇,我们重点讲光照的概念,理论和公式部分。1、我们是如何看到这个世界的当我们看到这个物体是红色的,实际上是因为它反射了更多的红光波长,而吸收了其他波长。如果是黑色的,实际上是吸收了绝大多数波长。通常,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象:原创 2017-07-07 16:03:07 · 2862 阅读 · 0 评论 -
Unity Shader入门精要笔记(二):Unity Shader基础
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。http://blog.csdn.net/lzhq1982/article/details/733128111、Unity Shader概述1)在Unity中我们需要配合使用材质(material)和Unity Shader才能达到需要的效果。材质是载体,Unity Shader是文本文件,我们在Unit原创 2017-06-20 00:28:27 · 5443 阅读 · 1 评论 -
Unity Shader入门精要笔记(五):其他数学相关介绍
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。http://blog.csdn.net/lzhq1982/article/details/73612170前两篇介绍了Unity Shader的主要数学部分,书上还有些相关的数学介绍,将在这篇做最后的总结。1、法线变换法线(normal),也被称为法矢量。游戏中,模型的顶点携带的信息中,法线就是其中原创 2017-06-29 13:51:05 · 6864 阅读 · 0 评论 -
Unity Shader入门精要笔记(一):渲染流水线
一个渲染流程分为3个阶段:应用阶段(Application Stage),几何阶段(Geometry Stage),光栅化阶段(Rasterizer Stage)。原创 2017-06-16 20:53:58 · 5009 阅读 · 0 评论 -
Unity Shader入门精要笔记(三):Unity Shader数学基础
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。http://blog.csdn.net/lzhq1982/article/details/73523986说实话,我觉得书上数学基础这章是整本书最难的章节,有很多数学不好的人可能大概看看甚至会直接跳过去,这样不好,毕竟shader的各种运算原理离不开数学,明白数学原理会使你对shader的学习事半功倍,...原创 2017-06-22 12:08:17 · 5282 阅读 · 3 评论 -
Unity Shader入门精要笔记(十):Unity 的基础光照——高光反射的实现
上一篇学习了基础漫反射的实现,这一篇我们看看基础高光反射的实现。原创 2017-07-11 14:18:54 · 3301 阅读 · 0 评论 -
Unity Shader入门精要笔记(六):由一个简单的顶点/片元着色器谈起
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。http://blog.csdn.net/lzhq1982/article/details/73747162本系列笔记使用的Unity版本是5.5.2,和书上的区别就是_Object2World已经变成unity_ObjectToWorld,_World2Object也变成了unity_WorldToObje原创 2017-07-02 16:25:42 · 3209 阅读 · 0 评论 -
Unity Shader入门精要笔记(十一):基础单张纹理
纹理最基础的目的就是用一张图片控制模型的外观,使用纹理映射技术,把一张图附在模型表面,逐纹素的控制模型的颜色。美术人员会在建模软件中利用纹理展开技术把纹理映射坐标存储在每个顶点上。纹理映射坐标定义了该顶点在纹理中对应的2D坐标。我们用二维变量(u, v)来表示这些坐标,所以也被称为UV坐标。原创 2017-07-13 10:43:35 · 3635 阅读 · 1 评论 -
Unity Shader入门精要笔记(十二):纹理属性
纹理从广义上讲不是一个普通的图片,我们今后会遇到各种功能性纹理,比如法线纹理,立方体纹理等,我们在Unity中选中一个纹理,属性面板会看到很多属性,比如上一篇的普通纹理原创 2017-07-13 14:06:06 · 5465 阅读 · 0 评论 -
Unity Shader入门精要笔记(四):矩阵与空间变换
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。http://blog.csdn.net/lzhq1982/article/details/73312811上一篇我们学习了一些数学知识,包括矩阵,这一篇我们重点讲矩阵的几何意义:空间变换。1、变换变换(transform),指的是我们把一些数据,如点、方向矢量、甚至是颜色等,通过某种方式进行转换的过原创 2017-06-26 14:14:25 · 11926 阅读 · 1 评论 -
Unity Shader入门精要笔记(七):Unity Shader内置文件、变量和语义
上一篇我们学了一个简单的顶点/片元着色器。复杂的着色器可能需要我们处理法线,光照,阴影等。为了方便开发者的编码,Unity提供了很多内置文件,包含了提前定义的函数、变量和宏等。下面我们逐一讲解。原创 2017-07-05 11:50:39 · 7438 阅读 · 0 评论 -
shader开始之旅
好久没有写过博客了,上一篇还停留在14年初学unity的时候,可惜后来无缘继续unity,又做了几年cocos开发,现在又转回unity了。回头看看以前写过的文章,虽然简单,但还是帮助了很多初学者,甚感欣慰。最重要的是帮助了自己,能快速的回忆起以前的知识点,这就是写博客的魅力吧,记得shader女神的博客上有一句话,是“好记性不如烂笔头”,工作这么多年,学过多少语言,用过多少引擎,看过多少书,写过原创 2017-06-16 20:52:21 · 1161 阅读 · 0 评论