雾效 可以表现出一个线性的颜色变化,常用于烘托场景气氛。这种效果的实现原理并不复杂,本文着重讨论如何通过shader编写完成雾效的实现。
核心原理
雾效 的核心在于:计算视点与物体之间的距离,然后根据一个衰减公式进行颜色混合。常规的算法有线性衰减,指数衰减,指数幂衰减。
线性雾效
使用线性差值衰减,即可达到这种 雾效 。示意图如下:
对应shader如下:
//vs
varying vec3 V_Normal;
varying vec3 V_WorldPos;
varying vec4 V_EyeSpacePos;

本文详细探讨了如何使用OpenGL的Shader技术来实现逼真的雾效,并且介绍了雾效的衰减处理方法,为3D场景增添更多视觉深度。
1487

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



