我是靠谱客的博主 想人陪小霸王,最近开发中收集的这篇文章主要介绍Shader入门精要读书笔记13,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

第15章-第20章

  1. 噪声:使用一张噪声纹理实现更多的渲染效果(消融、波浪等)。
  2. 消融效果:对应消融效果的纹理采样后,作为阈值控制当前片元是否被渲染。消融的边缘具有一定的宽度,其中渐变的颜色使用lerp函数混合。
  3. 动态的消融效果需要根据时间改变阈值,通过加在物体上的脚本实现。
  4. 消融后的片元需要同样在ShadowCaster的Pass中剔除,以产生正确的通盈效果。
  5. 水波效果:对应水波效果的纹理采样后,作为切线空间下的表面法线。
  6. 水面透射:GrapPass得到的屏幕纹理,在片元着色器中采样这个纹理得到透射颜色,其中利用法线计算采样时的offset。
  7. 水面反射:反射颜色由这个位置生成的cubemap根据反射方向采样后与主纹理颜色、预设颜色混合得到;反射方向由视角方向和法线方向计算得到。
  8. 波动:随时间修改采样噪声纹理的uv偏移,产生变化的法线方向。
  9. 全局雾效:在之前的雾效基础上,增加一个噪声纹理的采样与雾的浓度相乘,得到不均匀的雾。动态的实现与水波相同,随时间偏移噪声采样坐标即可。
  10. Unity中的渲染优化技术:移动平台与PC的特点对比;CPU、GPU、纹理造成的性能瓶颈及优化方向;Unity的渲染分析工具:渲染统计窗口、性能分析器、帧调试器等;
  11. 具体优化:CPU:利用批处理减少DrawCall的原理;GPU:减少顶点、减少overdraw;纹理:减小大小和使用缩放。
  12. Unity表面着色器:相对于顶点着色器和片元着色器跟高的抽象,更加简短,有利有弊。编译指令:指出表面着色器选哟的表面函数和光照函数、以及一些渲染的设定。结构体Input和SurfaceOutput,存储数据来源和表面属性。
  13. 表面着色器的编译过程和优缺点分析:缺点是自由度低,性能差,可能无法实现自定义的渲染效果;优点是可以便利的处理各种光源,编写简单。
  14. PBS的理论和数学基础:光的反射、此表面散射–>BRDF双向反射函数:计算这些光照的分布。
  15. 漫反射部分:Lambertian BRDF–>Unity5使用的漫反射增加了掠射角和表面粗糙程度的计算。
  16. 高光反射部分:基于Torrance-Sparrow微面元模型,值为:菲涅尔反射函数*法线分布函数*阴影遮盖函数/矫正因子。
  17. Unity中的PBS实现:漫反射部分如15所述;高光反射部分的法线分布函数(GGX模型),阴影遮盖函数(Smith-Schlick模型),菲涅尔反射函数(Schlick菲涅尔近似等式)。
  18. Unity5中的Standard Shader:是对于17的具体实现,按照工作流程分为金属工作流和高光工作流。
  19. 全局光照流水线:直接光照(平行光)+间接光照(前者的来回反射)。
  20. 反射探针:在指定位置获取Cubemap,模拟间接光照中的互相反射效果。
  21. 光线追踪不同于间接光照,只追踪了重要的光照路径。
  22. 预计算实时全局光照:预计算静态物体的光照信息存储到光照纹理、光照探针、Cubemap中。
  23. 伽马校正:线性和非线性的输入输出会产生差异,需要在移动平台上手动校正。
  24. HDR:高动态范围渲染,更加细节的掌握亮度差异,而不是将超过范围的值进行截取。缺点:需要更多存储空间、硬件支持不同。
  25. 第19章:Unity5更新内容。
  26. 第20章:学习资料推荐。

最后

以上就是想人陪小霸王为你收集整理的Shader入门精要读书笔记13的全部内容,希望文章能够帮你解决Shader入门精要读书笔记13所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部