首先降采样,然后分别在横、纵两个方向使用高斯核对图片进行过滤
概率论-正态分布
亮度修改: color*亮度值
对比度: lerp(splitColor,color, 对比度)
饱和度: 偏离灰度越大,饱和度约高,越靠近约低, lerap(grayCol, col, 饱和度值)
下图是调高了亮度, 增加对比度、饱和度后的效果
首先降采样,提取亮度高于阈值的部分,对过滤的图片进行模糊(实现衍射),最后把处理的图片和原图叠加
存储前一帧的图像,渲染时,RenderTexture.MarkRestoreExpected()恢复, 与当前帧blend 混合使用了两个PASS, 第一个blend, 第二个重置alpha
(1)保存上一帧的VP矩阵(世界坐标转视坐标转裁剪坐标) (2)shader中获取深度depth,倒推NDC坐标(uv.x * 2 - 1, uv.y 2 - 1, depth2 - 1, 1), 应用当前Matrix_PV倒推世界坐标,然后应用上一帧的VP矩阵得到上一帧这个世界坐标点的NDC坐标,用两次ndc坐标的距离计算速度。
这种实现只对相机运动,RenderObject没有运动的情况有效果。
依然是根据深度获取世界坐标,雾计算方式:线性、指数、指数平方。
linear: (dmax - z) / (dmax - dmin) dmax、dmin雾的最大、小距离
exponential: e^(-d*|z|) d为浓度
指数平方: e^(-(d-|z|)^2) d为浓度
使用Roberts核,比较法线和深度差异






