1
我在我的效果文件中創建霧特徵..在像素着色器中,我計算攝像頭位置和輸入位置之間的距離:C#/ HLSL&XNA - 通過HLSL中的百分比將兩種顏色混合在一起
float x = distance(_in.pos3d, CameraPosition);
float fd;
if(Fog)
{
if(x > FogDistance)
fd = ((x-FogDistance) * FogIntensity > 100) ? 100 : ((x-FogDistance) * FogIntensity);
//_in.color = ???;
}
其中: x是來自攝影機位置以及頂點位置的距離, fd是霧顏色的比率, FogDistance就是對象不會受大霧影響的距離, FogIntensity霧是多麼強烈。
我想要得到的是一種包含霧顏色(fd%)的顏色。例如,如果霧色爲橙色,則輸入爲白色,fd爲25%,生成的顏色爲白色+ 25%橙色。
編輯:順便說一句,抱歉的不可維護的設置代碼。編輯2:我注意到有兩個透明圖層有一個透明的結果,所以我清理了一下這個問題。頂點輸入沒有百分比。