随便讲讲雾的原理以及旧版本的使用雾的方法。
效果
原理
雾效(fog
)是游戏中常用的一种效果,根据远近产生不同的深度的雾效果。
这个效果涉及两个关键字。
距离
颜色
在着色器中,雾效的距离
,一般转换成计算雾效因素(factor_fog
),这个数字范围是0-1
。
1
表示完全不受雾影响0
表示完全被雾笼罩
接着再根据这个雾效因素去计算颜色
,混合当前颜色color
和雾factor_fog
的颜色即可。
mix(cc_fogColor.rgb, color.rgb, factor_fog)
接下来就是如何去计算这个雾效因素了。
雾效因素一般是通过由摄像机位置(cc_cameraPos
)和当前点位置(世界坐标,由世界空间矩阵和模型坐标计算的wPos
)的距离去计算的。