0.说在前面
如果你觉得本教程有用,就去github中给我颗星星⭐吧,这是对我最大的鼓励.
1.出发点:
简单的shader的教程网上很多,(如溶解,扭曲,描边等),但是进阶的shader教程比较少,而且也不全面,都是零星碎点的。
导致在学完简单shader教程后写shader的时候总感觉少了点掌控感,好像懂,又好像不懂。
这教程是将我之前踩过的坑,以及收集到的一些资源进行整合,方便大家系统的学习,直观的感受shader的外在表现。同时,我也尽可能的将我对一些现象的理解写入当中,一些数学函数的尽量以图的方式展示。方便大家理解shader。
2.目标受众:
有一点shader基础的同学或者是搞特效而且想知道实现原理的的同学
3.目标是:
- 提升对一些数学函数的直观理解
- 提升对一些自然现象的直观理解
- 掌握shader实现中常用的的一些套路
学完之后应该在看shadertoy中的复杂shader过程中会比较轻松,自己写起shader来也会比较的顺手
4.内容:
- 教程中会讲解在编写shader的常用技巧,以及在项目中如何使用这些shader
- 大量的实例如水,火,粒子,海洋,山脉,闪电等
- 一些shader实现的理论知识
因为本人也会点特效制作,所以本教程会有比较多的描绘自然现象的shader,如熔岩,雪花,冰,水,火,粒子,海洋,山脉,闪电,泡泡等。
5.目录
1.理论知识
- 基本数学函数
- 基本图形2D
- 基本图形3D(raymarch)
- 基本建模SDF
- shader技巧 空间划分
- shader技巧 Noise 和 FBM
- shader技巧 颜色空间
- shader技巧 优化:用shader分摊CPU压力
- shader技巧 特效中shader的运用
2.实例
-
2D Shader基础
- 雪花
- 火焰粒子
- 下雨
- 火焰
- 2D海洋
-
3D Shader
- Unity 和 Raymarch 整合
- 天空
- 地形
- 大海
-
shader技术整合
- GameUI 血瓶
- 荒漠湖泊
- 池塘
网友评论