咋做体积雾 unity shader

建议可以找现成的插件看下实现原理。简单说下我理解的 forward rendering 中 Fog Volume 的原理。
咋做体积雾 unity shader

咋做体积雾 unity shader

上图中其他参数暂时可以不用看,直接看这个公式相关的参数,k是一点上雾的浓度(线性),雾越浓看到的物体越不清晰。理解这几个参数是很简单的,难点就是求ez射线(Fragment CameraDir)和体积的交点(a,b),一旦交点求出来,其他参数就简单了。AABB的求交可以参考这里 Implementing RT GPU ,其它不同形状的体积需要不同的求交方式。
【咋做体积雾 unity shader】 最终的效果
咋做体积雾 unity shader


    推荐阅读