fog.fp

来自「OpeNGL超级宝典源代码. OpeNGL超级宝典源代码.」· FP 代码 · 共 28 行

FP
28
字号
!!ARBfp1.0

# fog.fp
#
# per-pixel fog

ATTRIB iPrC = fragment.color.primary;  # input primary color
ATTRIB iFrP = fragment.position;       # input fragment position

OUTPUT oPrC = result.color;            # output color

PARAM density = program.local[0];      # fog density
PARAM fogColor = {0.5, 0.8, 0.5, 1.0}; # fog color
PARAM e = {2.71828, 0, 0, 0};

TEMP fogFactor;

# fogFactor = clamp(e^(-(d*Zw)^2))
MUL fogFactor.x, iFrP.z, density.x;
MUL fogFactor.x, fogFactor.x, fogFactor.x;
POW fogFactor.x, e.x, -fogFactor.x;
MAX fogFactor.x, fogFactor.x, 0.0;     # clamp to [0,1]
MIN fogFactor.x, fogFactor.x, 1.0;

LRP oPrC, fogFactor.x, iPrC, fogColor; # blend lit and fog colors

END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?