Xna 阴影距离衰减

Xna 阴影距离衰减,xna,hlsl,Xna,Hlsl,我有一个HLSL代码,当我尝试添加距离衰减时,它不能正常工作 我试过这个: Output.Color = baseColor*(diffuseLightingFactor + xAmbient * (1 / xDistance)); 这是: diffuseLightingFactor *= 1 / xDistance; xDistance是相机和模型之间的距离 有人能帮我一下吗,因为我对着色器还不熟悉,也不太了解。试试这个: Output.Color = float4(satura

我有一个HLSL代码,当我尝试添加距离衰减时,它不能正常工作

我试过这个:

Output.Color = baseColor*(diffuseLightingFactor + xAmbient * (1 / xDistance));
这是:

diffuseLightingFactor *= 1 / xDistance;
xDistance是相机和模型之间的距离

有人能帮我一下吗,因为我对着色器还不熟悉,也不太了解。

试试这个:

Output.Color = 
    float4(saturate(
        baseColor * ( (diffuseLightingFactor + xAmbient) * (1 / xDistance))
    ).rgb, 1);
这确保alpha(透明度)始终为1,其他颜色介于0和1之间。我还在照明因子的总和周围添加了括号,以便雾因子应用于两者