Games202(1`前3章和作业0)
Games202_Real-Time High Ouality Rendering 实时高质量渲染 第一章_课程总览 本次总共有14节课程,和6个作业: 实时软阴影 shadow mapping阴影贴图和解决失真 PCF阴影抗锯齿 PCSS软阴影 VSSM软阴影 SDF shadows有向距离场软阴影 ...
Games202_Real-Time High Ouality Rendering 实时高质量渲染 第一章_课程总览 本次总共有14节课程,和6个作业: 实时软阴影 shadow mapping阴影贴图和解决失真 PCF阴影抗锯齿 PCSS软阴影 VSSM软阴影 SDF shadows有向距离场软阴影 ...
其他知识回顾 渲染流水线 图形学使用比如openGL和写普通业务逻辑最大的不同在于,它在一个相对较高的抽象层次上操作——渲染流水线(而unity引擎又对渲染流水线做了更高的封装,让程序员只关心shader部分) 渲染流水线的任务在于根据抽象的3维场景生成一张2维图像,这个工作通常是由CPU和GPU共同完成的 Real-Time Rendering一书中将一个流水线分成3个阶段:应用阶...
基于物理的渲染 PBR光照模型 为了更加真实的渲染效果,使用基于物理的渲染技术 (Physically Based Rendering), 一个PBR光照模型,是否基于物理的,可以根据三个特性来判断:它是否满足能量守恒 (energy conservation)表面反射的不能超过入射的光能,微平面理论(表面实际是由许多人哏看不到的微面元组成的),基于物理的BRDF 光线从发光物发射出...
表面着色器 SurfaceShader是在顶点/片元着色器之上又添加了一层抽象,开发者更容易理解的方式,我们只需要简单的指定,要填充的颜色,法线,光照模型等,其他的全部交给unity自动完成(例如生成真正的顶点/片元着色器) 其中CG代码片段必须直接写在SubShader中,一个表面着色器中最重要的部分是两个结构体以及它的编译指令。 两个结构体是表面着色器中不同函数(shader)之间...
性能优化 影响性能的因素有如下几点: 对应的性能优化技术: 性能分析工具 统计窗口:Game 视图右上方的Stats 按钮,它包括了3个方面的统计信息:音频( Audio)、图像 (Graphics) 和网络 (Network),其中图像方面包含 性能分析器:Window->Analysis-> Profiler ,在这里可以看到更详细的数据,比如drawCall...
噪声 消融 噪声纹理+透明度测试 当小于一定阈值时就会被clip剔除掉,烧焦的部分是颜色混合 禁用剔除,因为消融后可能呈现背面,在frag中,为了制造烧焦的效果,smoothstep当噪声 - 阈值 <= LineWidth时,越趋近0,越为烧焦的颜色 为了正确的获得阴影,在ShadowCaster模式下,使用阴影三剑客,并且在frag中clip剔除片段 水波 水波和之前实现...
卡通风格 描边 + 纯色高光 有很多种方法实现描边: 我们之前用的方法3,这次使用方法2,在第一个pass先渲染背面,顶点沿着法线方向偏移viewPos + viewNormal * _Outline;,在frag使用轮廓线颜色, 第二个pass,在光照模型的镜面反射部分,依旧通过法线和半程h的dot点乘结果,通过step如果dot值>阈值(夹角<阈值)返回1,否则返回0...
深度和法线纹理 我们还可以利用深度和法线纹理优化屏幕后期处理 深度贴图存储的是NDC(-1——1)map(0——1)后的z深度 如果为摄像机设置一张仅深度纹理,对于延迟渲染路径,unity是通过G缓冲直接得到的,对于前向渲染,通过深度缓冲可以直接得到 如果为摄像机设置一张深度+法线纹理,对于延迟渲染路径,unity是通过G缓冲直接得到的,对于前向渲染,通过一个单独的pass渲染到深度和...
屏幕后期处理 要实现屏幕特效,首先要获取屏幕图像,可以使用GrabPass 命令或 OnRenderimage 函数来获取当前屏幕图像,OnRenderimage是在cs脚本使用的, 函数声明:MonoBehaviour.OnRenderimage (RenderTexture src, RenderTexture dest),src对应当前渲染的图像,dest存储操作后的目标图像 通常...
动画效果 要实现动画效果往往和时间变量有关,内置的时间变量: 序列帧动画 依次播放一系列关键帧图像,当切换间隔时间达到一定数值时, 看起来就是一个连续的动画 我们需要准备一张包含关键帧的图像,它们的大小相同, 由千序列帧图像通常是透明纹理,我们应该向透明度章节一样,使用透明队列,禁用深度写入,开启blend混合模式 内置宏 TRANSFORM_TEX这里回顾一下,它进行下述过程,...