格式
c++
#pragma shader_feature_fog描述
执行了该命令的 着色器(shader)会根据不同的 雾效模式(Fog Model)套用不同的雾效变体。
字段
| 变体 | 描述 |
FOG_LINEAR 或 FOG_EXP 或 FOG_EXP2 | 系统会根据雾效的不同模式套用不同的变体。 · 当雾效模式是 线性(Linear)模式时套用 FOG_LINEAR 变体。· 当雾效模式是 指数(Exponential)模式时套用 FOG_EXP 变体。· 当雾效模式是 指数平方(Exponential Squared)模式时套用 FOG_EXP2 变体。 套用上述变体系统会根据雾效模式计算出对应模式下 顶点着色器(Vertex Shader)的 雾化因子(Fog Factor),随后您可以通过内置宏 CALC_FOG_FACTOR(z) 读取当前雾效模式下距离摄像机距离为 z 位置的雾化因子值,关于该宏的详细描述请参阅 内置宏 章节。 |
代码示例
c++
#pragma shader_feature_fog
#if defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2)
#if defined(FOG_LINEAR)
//当雾效模式是 线性(Linear)模式时,执行此处逻辑;
#elif defined(FOG_EXP)
//当雾效模式是 指数(Exponential)模式时,执行此处逻辑;
#elif defined(FOG_EXP2)
//当雾效模式是 指数平方(Exponential Squared)模式时,执行此处逻辑;
#endif
#endif