Math 线性插值雾(正确算法)?

Math 线性插值雾(正确算法)?,math,3d,linear-interpolation,Math,3d,Linear Interpolation,因此,我对应用于fog的线性插值的粗略想法来源于维基百科的文章,并启发了以下内容: pixelcolor = (fogcolor - originalpixelcolor) / fogdistance * pixeldistance + originalpixelcolor 不幸的是,这个公式是不正确的。该公式的修正版本是什么?线性插值将如下所示: factor = pixeldistance / fogdistance; if factor > 1 then factor = 1;

因此,我对应用于fog的线性插值的粗略想法来源于维基百科的文章,并启发了以下内容:

pixelcolor = (fogcolor - originalpixelcolor) / fogdistance * pixeldistance + originalpixelcolor

不幸的是,这个公式是不正确的。该公式的修正版本是什么?

线性插值将如下所示:

factor = pixeldistance / fogdistance; 
if factor > 1 then factor = 1; //Should be in a range 0..1 to avoid color distortion
pixelcolor = originalpixelcolor + (fogcolor - originalpixelcolor) * factor;

好吧,我通过使用lerp函数和到处乱搞来实现它,但无论如何恭喜你。