2013-07-02 110 views
0

你好我有一個HLSL代碼,當我嘗試添加距離衰落時工作不正常。HLSL着色距離淡入淡出

我已經試過這樣:

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

這:

diffuseLightingFactor *= 1/xDistance; 

xDistance相機與模型之間的距離。

有人可以請幫忙,因爲我是着色器的新手,一個不知道很多。

在此先感謝。

回答

0

嘗試這種情況:

Output.Color = 
    float4(saturate(
     baseColor * ((diffuseLightingFactor + xAmbient) * (1/xDistance)) 
    ).rgb, 1); 

這確保了alpha(透明度)始終爲1,並且其他顏色是0和1之間我周圍的照明的因素之和還添加括號使得霧因子適用於兩者。