你好,当我尝试添加距离衰减时,我的HLSL代码无法正常工作。
我试过这个:
Output.Color = baseColor*(diffuseLightingFactor + xAmbient * (1 / xDistance));
和此:
diffuseLightingFactor *= 1 / xDistance;
xDistance是相机与模型之间的距离。
有人可以请求帮助,因为我对着色器很新,根本不知道。
提前致谢。
答案 0 :(得分:0)
试试这个:
Output.Color =
float4(saturate(
baseColor * ( (diffuseLightingFactor + xAmbient) * (1 / xDistance))
).rgb, 1);
这确保了alpha(透明度)始终为1,其他颜色介于0和1之间。我还在光照因子总和周围添加了括号,以便将雾因子应用于两者。