文章目录
- 前言
- 一、SimpleLit片元着色器大体框架
-
- 1、传入 和 返回
- 2、GPU实例化部分
- 3、准备 BlinnPhong 光照模型计算需要的 SurfaceData
- 4、准备 BlinnPhong 光照模型计算需要的 InputData
- 5、进行 BlinnPhong 的计算、雾效颜色混合及透明度计算
- 二、准备SurfaceData
-
- 1、SurfaceData结构体包含什么:
- 2、初始化SurfaceData:
- 3、漫反射颜色及透明度计算
- 4、混合漫反射颜色 与 透明度
- 5、玻璃效果纹理采样、金属度、镜面反射颜色 及 光滑度
- 6、自发光纹理采样
- 在这里插入图片描述
- 三、准备InputData
-
- 1、InputData结构体包含什么
- 2、初始化InputData
- 1、法线贴图相关
- 2、视线向量计算 及计算前的向量归一化
- 3、阴影因子计算
- 4、额外灯相关计算
- 5、全局光照相关计算
- 6、光照贴图相关计算
前言
在上篇文章中,我们了解了Unity中URP下SimpleLit中的顶点着色器。
我们在这篇文章中,来了解一下Unity中URP下SimpleLit中的片元着色器。有助于我们之后写自己的光照Shader。

一、SimpleLit片元着色器大体框架
1、传入 和 返回
- 这里传入参数为 顶点着色器输出的Varyings结构体
- 返回结果用 out修饰来代替函数前的返回类型

2、GPU实例化部分

3、准备 BlinnPhong 光照模型计算需要的 SurfaceData

4、准备 BlinnPhong 光照模型计算需要的 InputData

5、进行 BlinnPhong 的计算、雾效颜色混合及透明度计算

由此可以看出:SimpleLit 的片元着色器中
我们最重要的部分是:
- 准备SurfaceData
- 准备InputData
- 最后 BlinnPhong 的计算

最低0.47元/天 解锁文章
1912

被折叠的 条评论
为什么被折叠?



